fix issue: repo upload with revision manifest
diff --git a/project.py b/project.py
index 914e0b1..b973085 100644
--- a/project.py
+++ b/project.py
@@ -1101,6 +1101,18 @@
gitcmd = GitCommand(self, cmd, bare=True)
ret = gitcmd.Wait()
+ def _CreateRemoteBranch(self, branch, revid):
+ remote = self.GetRemote(self.remote.name)
+ try:
+ self.work_git.rev_parse(remote.ToLocal(branch))
+ except GitError:
+ ref = os.path.join(self.gitdir, remote.ToLocal(branch))
+ try:
+ os.makedirs(os.path.dirname(ref))
+ except OSError:
+ pass
+ _lwrite(ref, '%s\n' % revid)
+
def _ExtractArchive(self, tarpath, path=None):
"""Extract the given tar on its current location
@@ -1843,6 +1855,8 @@
if is_sha1 or tag_name is not None:
if self._CheckForSha1():
+ if self.upstream:
+ self._CreateRemoteBranch(self.upstream, self.revisionExpr)
return True
if is_sha1 and not depth:
# When syncing a specific commit and --depth is not set: