Skip to content

Commit 5ffdb73

Browse files
author
epriestley
committedJul 5, 2016
Don't try to prune unreachable commits from repositories with no outdated refs
Summary: Fixes T11269. The basic issue is that `git log` in an empty repository exits with an error message. Prior to recent Git (2.6?), this message reads: > fatal: bad default revision 'HEAD' This message was somewhat recently changed by <git/git@ce11360>. After that, it reads: > fatal: your current branch 'master' does not have any commits yet This change isn't //technically// a //complete// fix because you could still hit this issue like this: - Create an empty repository. - Push some stuff to `master`. - Delete `master`. However, this is very rare and even in this case the repository will fix itself once you push something again. We can try to fix that if any users ever actually hit it. Test Plan: - Created a new empty Git repository. - Ran `bin/repository update Rxx`. - Before patch: "git log" error because of the empty repository. - After patch: clean update. - Also ran `repository update` on a non-empty repository. Reviewers: chad Reviewed By: chad Maniphest Tasks: T11269 Differential Revision: https://secure.phabricator.com/D16234
1 parent 62131de commit 5ffdb73

File tree

1 file changed

+7
-0
lines changed

1 file changed

+7
-0
lines changed
 

‎src/applications/repository/engine/PhabricatorRepositoryDiscoveryEngine.php

+7
Original file line numberDiff line numberDiff line change
@@ -759,6 +759,13 @@ private function markUnreachableCommits(PhabricatorRepository $repository) {
759759
'repositoryPHID = %s',
760760
$repository->getPHID());
761761

762+
// If we don't have any refs to update, bail out before building a graph
763+
// stream. In particular, this improves behavior in empty repositories,
764+
// where `git log` exits with an error.
765+
if (!$old_refs) {
766+
return;
767+
}
768+
762769
// We can share a single graph stream across all the checks we need to do.
763770
$stream = new PhabricatorGitGraphStream($repository);
764771

0 commit comments

Comments
 (0)
Failed to load comments.