1
0
Fork 0

Add repo start option to create the branch based off HEAD

This makes it way easier to recover from forgetting to run repo start
before committing: just run `repo start -b new-branch`, instead of
all that tedious mucking around with reflogs.

Change-Id: I56d49dce5d027e28fbba0507ac10cd763ccfc36d
Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/232712
Reviewed-by: Mike Frysinger <vapier@google.com>
Reviewed-by: David Pursehouse <dpursehouse@collab.net>
Tested-by: Mike Frysinger <vapier@google.com>
This commit is contained in:
Theodore Dubois 2019-07-30 12:14:25 -07:00 committed by Mike Frysinger
parent 46702eddc7
commit 60fdc5cad1
2 changed files with 12 additions and 3 deletions

View file

@ -1697,7 +1697,7 @@ class Project(object):
# Branch Management ##
def StartBranch(self, name, branch_merge=''):
def StartBranch(self, name, branch_merge='', revision=None):
"""Create a new branch off the manifest's revision.
"""
if not branch_merge:
@ -1718,7 +1718,11 @@ class Project(object):
branch.merge = branch_merge
if not branch.merge.startswith('refs/') and not ID_RE.match(branch_merge):
branch.merge = R_HEADS + branch_merge
revid = self.GetRevisionId(all_refs)
if revision is None:
revid = self.GetRevisionId(all_refs)
else:
revid = self.work_git.rev_parse(revision)
if head.startswith(R_HEADS):
try: