summaryrefslogtreecommitdiffstats
path: root/project.py
diff options
context:
space:
mode:
authorTheodore Dubois <tbodt@google.com>2019-07-30 12:14:25 -0700
committerMike Frysinger <vapier@google.com>2019-09-04 04:34:50 +0000
commit60fdc5cad126fb5664ee957b91edd1c304bfc513 (patch)
tree0fff7d8a99ee6e25189147610b26acf2707989dc /project.py
parent46702eddc7b5f38391e121e47f0ab4dbd6fbdf58 (diff)
downloadgit-repo-60fdc5cad126fb5664ee957b91edd1c304bfc513.tar.gz
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>
Diffstat (limited to 'project.py')
-rwxr-xr-xproject.py8
1 files changed, 6 insertions, 2 deletions
diff --git a/project.py b/project.py
index 8212e0c0..4076bc5d 100755
--- a/project.py
+++ b/project.py
@@ -1697,7 +1697,7 @@ class Project(object):
1697 1697
1698# Branch Management ## 1698# Branch Management ##
1699 1699
1700 def StartBranch(self, name, branch_merge=''): 1700 def StartBranch(self, name, branch_merge='', revision=None):
1701 """Create a new branch off the manifest's revision. 1701 """Create a new branch off the manifest's revision.
1702 """ 1702 """
1703 if not branch_merge: 1703 if not branch_merge:
@@ -1718,7 +1718,11 @@ class Project(object):
1718 branch.merge = branch_merge 1718 branch.merge = branch_merge
1719 if not branch.merge.startswith('refs/') and not ID_RE.match(branch_merge): 1719 if not branch.merge.startswith('refs/') and not ID_RE.match(branch_merge):
1720 branch.merge = R_HEADS + branch_merge 1720 branch.merge = R_HEADS + branch_merge
1721 revid = self.GetRevisionId(all_refs) 1721
1722 if revision is None:
1723 revid = self.GetRevisionId(all_refs)
1724 else:
1725 revid = self.work_git.rev_parse(revision)
1722 1726
1723 if head.startswith(R_HEADS): 1727 if head.startswith(R_HEADS):
1724 try: 1728 try: