summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLibravatar Johannes Schindelin <johannes.schindelin@gmx.de>2018-10-23 12:57:17 -0700
committerLibravatar Junio C Hamano <gitster@pobox.com>2018-10-24 13:38:15 +0900
commitffae8b2f904f0a82417ac24cb2684bbe5ca234e1 (patch)
treef680029f98ea21294a2eae082342bccd27a872bf
parentrebase --autostash: demonstrate a problem with dirty submodules (diff)
downloadtgif-ffae8b2f904f0a82417ac24cb2684bbe5ca234e1.tar.xz
rebase --autostash: fix issue with dirty submodules
Since we cannot stash dirty submodules, there is no use in requiring them to be clean (or stash them when they are not). This brings the built-in rebase in line with the previous, scripted version, which also did not care about dirty submodules (but it was admittedly not very easy to figure that out). This fixes https://github.com/git-for-windows/git/issues/1820 Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r--builtin/rebase.c2
-rwxr-xr-xt/t3420-rebase-autostash.sh2
2 files changed, 2 insertions, 2 deletions
diff --git a/builtin/rebase.c b/builtin/rebase.c
index e9995c9a37..bc92c9b529 100644
--- a/builtin/rebase.c
+++ b/builtin/rebase.c
@@ -1350,7 +1350,7 @@ int cmd_rebase(int argc, const char **argv, const char *prefix)
update_index_if_able(&the_index, &lock_file);
rollback_lock_file(&lock_file);
- if (has_unstaged_changes(0) || has_uncommitted_changes(0)) {
+ if (has_unstaged_changes(1) || has_uncommitted_changes(1)) {
const char *autostash =
state_dir_path("autostash", &options);
struct child_process stash = CHILD_PROCESS_INIT;
diff --git a/t/t3420-rebase-autostash.sh b/t/t3420-rebase-autostash.sh
index b6e18566b5..001d6243c9 100755
--- a/t/t3420-rebase-autostash.sh
+++ b/t/t3420-rebase-autostash.sh
@@ -351,7 +351,7 @@ test_expect_success 'autostash is saved on editor failure with conflict' '
test_cmp expected file0
'
-test_expect_failure 'autostash with dirty submodules' '
+test_expect_success 'autostash with dirty submodules' '
test_when_finished "git reset --hard && git checkout master" &&
git checkout -b with-submodule &&
git submodule add ./ sub &&