diff options
author | Jonathan Nieder <jrnieder@gmail.com> | 2011-11-22 05:15:47 -0600 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2011-11-22 13:33:49 -0800 |
commit | b8c74690b20b7c4dd405f71d63bab325447356da (patch) | |
tree | 0a3b5e8ee3ba41f1f5ff1ebfd5e2491302db76c7 | |
parent | dffc86002862753376e31a16a1c1c0306716fbe6 (diff) | |
download | git-b8c74690b20b7c4dd405f71d63bab325447356da.tar.gz |
revert: improve error message for cherry-pick during cherry-pick
In the spirit of v1.6.3.3~3^2 (refuse to merge during a merge,
2009-07-01), "git cherry-pick" refuses to start a new cherry-pick when
in the middle of an existing conflicted cherry-pick in the following
sequence:
1. git cherry-pick HEAD..origin
2. resolve conflicts
3. git cherry-pick HEAD..origin (instead of "git cherry-pick
--continue", by mistake)
Good. However, the error message on attempting step 3 is more
convoluted than necessary:
$ git cherry-pick HEAD..origin
error: .git/sequencer already exists.
error: A cherry-pick or revert is in progress.
hint: Use --continue to continue the operation
hint: or --quit to forget about it
fatal: cherry-pick failed
Clarify by removing the redundant first "error:" message, simplifying
the advice, and using lower-case and no full stops to be consistent
with other commands that prefix their messages with "error:", so it
becomes
error: a cherry-pick or revert is already in progress
hint: try "git cherry-pick (--continue | --quit)"
fatal: cherry-pick failed
The "fatal: cherry-pick failed" line seems unnecessary, too, but
that can be fixed some other day.
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r-- | builtin/revert.c | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/builtin/revert.c b/builtin/revert.c index 2346cafba4..1d112e4ce4 100644 --- a/builtin/revert.c +++ b/builtin/revert.c @@ -846,8 +846,11 @@ static int create_seq_dir(void) { const char *seq_dir = git_path(SEQ_DIR); - if (file_exists(seq_dir)) - return error(_("%s already exists."), seq_dir); + if (file_exists(seq_dir)) { + error(_("a cherry-pick or revert is already in progress")); + advise(_("try \"git cherry-pick (--continue | --quit)\"")); + return -1; + } else if (mkdir(seq_dir, 0777) < 0) die_errno(_("Could not create sequencer directory %s"), seq_dir); return 0; @@ -991,12 +994,8 @@ static int pick_revisions(struct replay_opts *opts) */ walk_revs_populate_todo(&todo_list, opts); - if (create_seq_dir() < 0) { - error(_("A cherry-pick or revert is in progress.")); - advise(_("Use --continue to continue the operation")); - advise(_("or --quit to forget about it")); + if (create_seq_dir() < 0) return -1; - } if (get_sha1("HEAD", sha1)) { if (opts->action == REVERT) return error(_("Can't revert as initial commit")); |