Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(739)

Unified Diff: git_cl.py

Issue 526523002: Use full hash in Committed link when closing issue via git-cl. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/tools/depot_tools
Patch Set: cleanup revision parsing Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: git_cl.py
diff --git a/git_cl.py b/git_cl.py
index 7793c8cb0644a1e3d09e2f457bbdc25f94f788bc..65524207863dc006b2375af2c1b72d3829abd39d 100755
--- a/git_cl.py
+++ b/git_cl.py
@@ -2014,14 +2014,18 @@ def SendUpstream(parser, args, cmd):
assert pending_prefix[-1] == '/', pending_prefix
pending_ref = pending_prefix + branch[len('refs/'):]
retcode, output = PushToGitPending(remote, pending_ref, branch)
- revision = RunGit(['rev-parse', 'HEAD']).strip()
pushed_to_pending = (retcode == 0)
- logging.debug(output)
+ if retcode == 0:
+ revision = RunGit(['rev-parse', 'HEAD']).strip()
else:
# dcommit the merge branch.
- retcode, output = RunGitWithCode(['svn', 'dcommit',
- '-C%s' % options.similarity,
- '--no-rebase', '--rmdir'])
+ _, output = RunGitWithCode(['svn', 'dcommit',
+ '-C%s' % options.similarity,
+ '--no-rebase', '--rmdir'])
+ if 'Committed r' in output:
+ revision = re.match(
+ '.*?\nCommitted r(\\d+)', output, re.DOTALL).group(1)
+ logging.debug(output)
finally:
# And then swap back to the original branch and clean up.
RunGit(['checkout', '-q', cl.GetBranch()])
@@ -2029,9 +2033,9 @@ def SendUpstream(parser, args, cmd):
if base_has_submodules:
RunGit(['branch', '-D', CHERRY_PICK_BRANCH])
- if retcode != 0:
+ if not revision:
print 'Failed to push. If this persists, please file a bug.'
- return retcode
+ return 1
if pushed_to_pending:
try:
@@ -2043,23 +2047,6 @@ def SendUpstream(parser, args, cmd):
pass
if cl.GetIssue():
- if not revision:
- if cmd == 'dcommit' and 'Committed r' in output:
- revision = re.match(
- '.*?\nCommitted r(\\d+)', output, re.DOTALL).group(1)
- elif cmd == 'land':
- match = (re.match(r'.*?([a-f0-9]{7,})\.\.([a-f0-9]{7,})$', l)
- for l in output.splitlines(False))
- match = filter(None, match)
- if len(match) != 1:
- DieWithError(
- "Couldn't parse ouput to extract the committed hash:\n%s" % output)
- revision = match[0].group(2)
- else:
- return 1
-
- revision = revision[:7]
-
to_pending = ' to pending queue' if pushed_to_pending else ''
viewvc_url = settings.GetViewVCUrl()
if not to_pending:
@@ -2075,7 +2062,7 @@ def SendUpstream(parser, args, cmd):
props = cl.GetIssueProperties()
patch_num = len(props['patchsets'])
comment = "Committed patchset #%d (id:%d)%s manually as %s" % (
- patch_num, props['patchsets'][-1], to_pending, revision)
+ patch_num, props['patchsets'][-1], to_pending, revision[:7])
if options.bypass_hooks:
comment += ' (tree was closed).' if GetTreeStatus() == 'closed' else '.'
else:
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698