mirror of
https://gerrit.googlesource.com/git-repo
synced 2024-12-21 07:16:21 +00:00
Add error message for download -c conflicts
Currently if you run repo download -c on a change and the cherry-pick runs into a merge conflict a Traceback is produced: rob@rob-i5-lm ~/Programming/repo_test/repo1 $ repo download -c repo1 3/1 From ssh://rob-i5-lm:29418/repo1 * branch refs/changes/03/3/1 -> FETCH_HEAD error: could not apply 0c8b474... 2 hint: after resolving the conflicts, mark the corrected paths hint: with 'git add <paths>' or 'git rm <paths>' hint: and commit the result with 'git commit' Traceback (most recent call last): File "/home/rob/Programming/git-repo/main.py", line 408, in <module> _Main(sys.argv[1:]) File "/home/rob/Programming/git-repo/main.py", line 384, in _Main result = repo._Run(argv) or 0 File "/home/rob/Programming/git-repo/main.py", line 143, in _Run result = cmd.Execute(copts, cargs) File "/home/rob/Programming/git-repo/subcmds/download.py", line 90, in Execute project._CherryPick(dl.commit) File "/home/rob/Programming/git-repo/project.py", line 1943, in _CherryPick raise GitError('%s cherry-pick %s ' % (self.name, rev)) error.GitError: repo1 cherry-pick 0c8b4740f876f8f8372bbaed430f02b6ba8b1898 This amount of error message is confusing to users and has the side effect of the git message telling you the actual issue being ignored. This change introduces a message stating that the cherry-pick couldn't be completed removing the Traceback. To reproduce the issue create a change that causes a conflict with one currently in review and use repo download -c to cherry-pick the conflicting change. Change-Id: I8ddf4e0c8ad9bd04b1af5360313f67cc053f7d6a
This commit is contained in:
parent
1966133f8e
commit
1829101e28
@ -18,6 +18,7 @@ import re
|
||||
import sys
|
||||
|
||||
from command import Command
|
||||
from error import GitError
|
||||
|
||||
CHANGE_RE = re.compile(r'^([1-9][0-9]*)(?:[/\.-]([1-9][0-9]*))?$')
|
||||
|
||||
@ -87,7 +88,12 @@ makes it available in your project's local working directory.
|
||||
for c in dl.commits:
|
||||
print(' %s' % (c), file=sys.stderr)
|
||||
if opt.cherrypick:
|
||||
project._CherryPick(dl.commit)
|
||||
try:
|
||||
project._CherryPick(dl.commit)
|
||||
except GitError:
|
||||
print('[%s] Could not complete the cherry-pick of %s' \
|
||||
% (project.name, dl.commit), file=sys.stderr)
|
||||
|
||||
elif opt.revert:
|
||||
project._Revert(dl.commit)
|
||||
elif opt.ffonly:
|
||||
|
Loading…
Reference in New Issue
Block a user