mirror of
https://github.com/git/git
synced 2024-08-27 03:29:21 +00:00
Merge branch 'bw/rebase-autostash-keep-current-branch'
"git rebase --autostash <upstream> <branch>", when <branch> is different from the current branch, incorrectly moved the tip of the current branch, which has been corrected. * bw/rebase-autostash-keep-current-branch: builtin/rebase.c: Remove pointless message builtin/rebase.c: make sure the active branch isn't moved when autostashing
This commit is contained in:
commit
974bdb0205
|
@ -2002,9 +2002,6 @@ int cmd_rebase(int argc, const char **argv, const char *prefix)
|
||||||
state_dir_path("autostash", &options);
|
state_dir_path("autostash", &options);
|
||||||
struct child_process stash = CHILD_PROCESS_INIT;
|
struct child_process stash = CHILD_PROCESS_INIT;
|
||||||
struct object_id oid;
|
struct object_id oid;
|
||||||
struct commit *head =
|
|
||||||
lookup_commit_reference(the_repository,
|
|
||||||
&options.orig_head);
|
|
||||||
|
|
||||||
argv_array_pushl(&stash.args,
|
argv_array_pushl(&stash.args,
|
||||||
"stash", "create", "autostash", NULL);
|
"stash", "create", "autostash", NULL);
|
||||||
|
@ -2025,17 +2022,9 @@ int cmd_rebase(int argc, const char **argv, const char *prefix)
|
||||||
options.state_dir);
|
options.state_dir);
|
||||||
write_file(autostash, "%s", oid_to_hex(&oid));
|
write_file(autostash, "%s", oid_to_hex(&oid));
|
||||||
printf(_("Created autostash: %s\n"), buf.buf);
|
printf(_("Created autostash: %s\n"), buf.buf);
|
||||||
if (reset_head(&head->object.oid, "reset --hard",
|
if (reset_head(NULL, "reset --hard",
|
||||||
NULL, RESET_HEAD_HARD, NULL, NULL) < 0)
|
NULL, RESET_HEAD_HARD, NULL, NULL) < 0)
|
||||||
die(_("could not reset --hard"));
|
die(_("could not reset --hard"));
|
||||||
printf(_("HEAD is now at %s"),
|
|
||||||
find_unique_abbrev(&head->object.oid,
|
|
||||||
DEFAULT_ABBREV));
|
|
||||||
strbuf_reset(&buf);
|
|
||||||
pp_commit_easy(CMIT_FMT_ONELINE, head, &buf);
|
|
||||||
if (buf.len > 0)
|
|
||||||
printf(" %s", buf.buf);
|
|
||||||
putchar('\n');
|
|
||||||
|
|
||||||
if (discard_index(the_repository->index) < 0 ||
|
if (discard_index(the_repository->index) < 0 ||
|
||||||
repo_read_index(the_repository) < 0)
|
repo_read_index(the_repository) < 0)
|
||||||
|
|
|
@ -37,7 +37,6 @@ test_expect_success setup '
|
||||||
create_expected_success_am () {
|
create_expected_success_am () {
|
||||||
cat >expected <<-EOF
|
cat >expected <<-EOF
|
||||||
$(grep "^Created autostash: [0-9a-f][0-9a-f]*\$" actual)
|
$(grep "^Created autostash: [0-9a-f][0-9a-f]*\$" actual)
|
||||||
HEAD is now at $(git rev-parse --short feature-branch) third commit
|
|
||||||
First, rewinding head to replay your work on top of it...
|
First, rewinding head to replay your work on top of it...
|
||||||
Applying: second commit
|
Applying: second commit
|
||||||
Applying: third commit
|
Applying: third commit
|
||||||
|
@ -48,7 +47,6 @@ create_expected_success_am () {
|
||||||
create_expected_success_interactive () {
|
create_expected_success_interactive () {
|
||||||
q_to_cr >expected <<-EOF
|
q_to_cr >expected <<-EOF
|
||||||
$(grep "^Created autostash: [0-9a-f][0-9a-f]*\$" actual)
|
$(grep "^Created autostash: [0-9a-f][0-9a-f]*\$" actual)
|
||||||
HEAD is now at $(git rev-parse --short feature-branch) third commit
|
|
||||||
Applied autostash.
|
Applied autostash.
|
||||||
Successfully rebased and updated refs/heads/rebased-feature-branch.
|
Successfully rebased and updated refs/heads/rebased-feature-branch.
|
||||||
EOF
|
EOF
|
||||||
|
@ -57,7 +55,6 @@ create_expected_success_interactive () {
|
||||||
create_expected_failure_am () {
|
create_expected_failure_am () {
|
||||||
cat >expected <<-EOF
|
cat >expected <<-EOF
|
||||||
$(grep "^Created autostash: [0-9a-f][0-9a-f]*\$" actual)
|
$(grep "^Created autostash: [0-9a-f][0-9a-f]*\$" actual)
|
||||||
HEAD is now at $(git rev-parse --short feature-branch) third commit
|
|
||||||
First, rewinding head to replay your work on top of it...
|
First, rewinding head to replay your work on top of it...
|
||||||
Applying: second commit
|
Applying: second commit
|
||||||
Applying: third commit
|
Applying: third commit
|
||||||
|
@ -70,7 +67,6 @@ create_expected_failure_am () {
|
||||||
create_expected_failure_interactive () {
|
create_expected_failure_interactive () {
|
||||||
cat >expected <<-EOF
|
cat >expected <<-EOF
|
||||||
$(grep "^Created autostash: [0-9a-f][0-9a-f]*\$" actual)
|
$(grep "^Created autostash: [0-9a-f][0-9a-f]*\$" actual)
|
||||||
HEAD is now at $(git rev-parse --short feature-branch) third commit
|
|
||||||
Applying autostash resulted in conflicts.
|
Applying autostash resulted in conflicts.
|
||||||
Your changes are safe in the stash.
|
Your changes are safe in the stash.
|
||||||
You can run "git stash pop" or "git stash drop" at any time.
|
You can run "git stash pop" or "git stash drop" at any time.
|
||||||
|
@ -306,4 +302,12 @@ test_expect_success 'branch is left alone when possible' '
|
||||||
test unchanged-branch = "$(git rev-parse --abbrev-ref HEAD)"
|
test unchanged-branch = "$(git rev-parse --abbrev-ref HEAD)"
|
||||||
'
|
'
|
||||||
|
|
||||||
|
test_expect_success 'never change active branch' '
|
||||||
|
git checkout -b not-the-feature-branch unrelated-onto-branch &&
|
||||||
|
test_when_finished "git reset --hard && git checkout master" &&
|
||||||
|
echo changed >file0 &&
|
||||||
|
git rebase --autostash not-the-feature-branch feature-branch &&
|
||||||
|
test_cmp_rev not-the-feature-branch unrelated-onto-branch
|
||||||
|
'
|
||||||
|
|
||||||
test_done
|
test_done
|
||||||
|
|
Loading…
Reference in a new issue