Fix 'repo sync' when the remote reflog has only 1 entry
If the reflog for the upstream branch has only 1 entry in it, as
the branch has been updated only once, we can get back the 0{40}
object id from `git rev-parse upstream@{1}`, in which case we should
consider it to be the same as if upstream@{1} is not defined.
Signed-off-by: Shawn O. Pearce <sop@google.com>
This commit is contained in:
parent
cf31fe9b4f
commit
0734600ce0
1 changed files with 3 additions and 0 deletions
|
|
@ -517,6 +517,9 @@ class Project(object):
|
|||
old_merge = self.bare_git.rev_parse('%s@{1}' % merge)
|
||||
except GitError:
|
||||
old_merge = merge
|
||||
if old_merge == '0000000000000000000000000000000000000000' \
|
||||
or old_merge == '':
|
||||
old_merge = merge
|
||||
else:
|
||||
# The upstream switched on us. Time to cross our fingers
|
||||
# and pray that the old upstream also wasn't in the habit
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue