cherry-pick: allow "-" as abbreviation of '@{-1}'
"-" abbreviation is handy for "cherry-pick" like "checkout" and "merge". It's also good for uniformity that a "-" stands as the name of the previous branch where a branch name is accepted and it could not mean any other things like stdin. Signed-off-by: Hiroshige Umino <hiroshige88@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
e5be297279
commit
182d7dc46b
@ -232,6 +232,8 @@ int cmd_cherry_pick(int argc, const char **argv, const char *prefix)
|
|||||||
memset(&opts, 0, sizeof(opts));
|
memset(&opts, 0, sizeof(opts));
|
||||||
opts.action = REPLAY_PICK;
|
opts.action = REPLAY_PICK;
|
||||||
git_config(git_default_config, NULL);
|
git_config(git_default_config, NULL);
|
||||||
|
if (!strcmp(argv[1], "-"))
|
||||||
|
argv[1] = "@{-1}";
|
||||||
parse_args(argc, argv, &opts);
|
parse_args(argc, argv, &opts);
|
||||||
res = sequencer_pick_revisions(&opts);
|
res = sequencer_pick_revisions(&opts);
|
||||||
if (res < 0)
|
if (res < 0)
|
||||||
|
@ -109,4 +109,24 @@ test_expect_success 'chery-pick on unborn branch' '
|
|||||||
! test_cmp_rev initial HEAD
|
! test_cmp_rev initial HEAD
|
||||||
'
|
'
|
||||||
|
|
||||||
|
test_expect_success 'cherry-pick "-" to pick from previous branch' '
|
||||||
|
git checkout unborn &&
|
||||||
|
test_commit to-pick actual content &&
|
||||||
|
git checkout master &&
|
||||||
|
git cherry-pick - &&
|
||||||
|
echo content >expect &&
|
||||||
|
test_cmp expect actual
|
||||||
|
'
|
||||||
|
|
||||||
|
test_expect_success 'cherry-pick "-" is meaningless without checkout' '
|
||||||
|
test_create_repo afresh &&
|
||||||
|
(
|
||||||
|
cd afresh &&
|
||||||
|
test_commit one &&
|
||||||
|
test_commit two &&
|
||||||
|
test_commit three &&
|
||||||
|
test_must_fail git cherry-pick -
|
||||||
|
)
|
||||||
|
'
|
||||||
|
|
||||||
test_done
|
test_done
|
||||||
|
Loading…
Reference in New Issue
Block a user