diff options
author | Zac Livingston <zacl@codeaurora.org> | 2017-06-13 08:29:04 -0600 |
---|---|---|
committer | David Pursehouse <dpursehouse@collab.net> | 2017-08-25 09:10:29 +0900 |
commit | 9ead97bb51f5b1ad1d0a45e0c5442f15e1e38fd7 (patch) | |
tree | 4edd8cc4d061a3c8971fd6d55a547320120ad10b /git_config.py | |
parent | e43322625a423c2dc7aa8b0648c172ccbe7aefa7 (diff) | |
download | git-repo-9ead97bb51f5b1ad1d0a45e0c5442f15e1e38fd7.tar.gz |
When starting a branch, do not use a tag or change value for branch.merge
When starting a branch, branch.merge is set to project revision unless
the revision is a SHA1. In that case, branch.merge is set to dest_branch
if defined or manifest default revision otherwise. This special handling
allows repo upload to work when the project revision is a SHA1.
Extend the special handling to also happen when the project revision
is a tag value or a change value so that repo upload will work in those
case as well.
Change-Id: Iff81ece40e770cd02535e80dcb023564d42dcf47
Diffstat (limited to 'git_config.py')
-rw-r--r-- | git_config.py | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/git_config.py b/git_config.py index e00f6be2..8c247394 100644 --- a/git_config.py +++ b/git_config.py | |||
@@ -50,16 +50,24 @@ else: | |||
50 | from git_command import GitCommand | 50 | from git_command import GitCommand |
51 | from git_command import ssh_sock | 51 | from git_command import ssh_sock |
52 | from git_command import terminate_ssh_clients | 52 | from git_command import terminate_ssh_clients |
53 | from git_refs import R_CHANGES, R_HEADS, R_TAGS | ||
53 | 54 | ||
54 | R_HEADS = 'refs/heads/' | ||
55 | R_TAGS = 'refs/tags/' | ||
56 | ID_RE = re.compile(r'^[0-9a-f]{40}$') | 55 | ID_RE = re.compile(r'^[0-9a-f]{40}$') |
57 | 56 | ||
58 | REVIEW_CACHE = dict() | 57 | REVIEW_CACHE = dict() |
59 | 58 | ||
59 | def IsChange(rev): | ||
60 | return rev.startswith(R_CHANGES) | ||
61 | |||
60 | def IsId(rev): | 62 | def IsId(rev): |
61 | return ID_RE.match(rev) | 63 | return ID_RE.match(rev) |
62 | 64 | ||
65 | def IsTag(rev): | ||
66 | return rev.startswith(R_TAGS) | ||
67 | |||
68 | def IsImmutable(rev): | ||
69 | return IsChange(rev) or IsId(rev) or IsTag(rev) | ||
70 | |||
63 | def _key(name): | 71 | def _key(name): |
64 | parts = name.split('.') | 72 | parts = name.split('.') |
65 | if len(parts) < 2: | 73 | if len(parts) < 2: |