Hi Orgad,
On Thu, 2 Nov 2017, Orgad Shaneh wrote:
> I can't reproduce this with a minimal example, but it happens in my project.
>
> What I tried to do for reproducing is:
> rm -rf super sub
> mkdir sub; cd sub; git init
> git commit --allow-empty -m 'Initial commit'
> mkdir ../super; cd ../super
> git init
> git submodule add ../sub
> touch foo; git add foo sub
> git commit -m 'Initial commit'
> touch a; git add a; git commit -m 'a'
> touch b; git add b; git commit -m 'b'
> cd sub; git commit --allow-empty -m 'New commit'; cd ..
> git rebase -i HEAD^^
>
> Then drop a.
>
> In my project I get:
> error: cannot rebase: You have unstaged changes.
>
> This works fine with 2.14.3.
I tried to turn this into a regression test, but I cannot make it fail:
-- snip --
diff --git a/t/t3426-rebase-submodule.sh b/t/t3426-rebase-submodule.sh
index ebf4f5e4b2c..55aebe53191 100755
--- a/t/t3426-rebase-submodule.sh
+++ b/t/t3426-rebase-submodule.sh
@@ -20,7 +20,7 @@ git_rebase () {
git rebase "$1"
}
-test_submodule_switch "git_rebase"
+#test_submodule_switch "git_rebase"
git_rebase_interactive () {
git status -su >expect &&
@@ -38,6 +38,27 @@ git_rebase_interactive () {
git rebase -i "$1"
}
-test_submodule_switch "git_rebase_interactive"
+#test_submodule_switch "git_rebase_interactive"
+
+test_expect_success '123' '
+ git init sub &&
+ test_commit -C sub init-submodule &&
+ git init super &&
+ git -C super submodule add ../sub &&
+ (
+ cd super &&
+ test_tick &&
+ touch foo &&
+ git add sub foo &&
+ git commit -m initial &&
+ test_commit a &&
+ test_commit b &&
+ test_commit -C sub new &&
+ set_fake_editor &&
+ FAKE_LINES=2 &&
+ export FAKE_LINES &&
+ git rebase -i HEAD^^
+ )
+'
test_done
-- snap --
Can you help me spot what I did wrong?
Ciao,
Dscho