On Sun, Jan 17, 2016 at 6:43 PM, David Greene <greened@xxxxxxxxxxxxx> wrote: > This test merges an external tree in as a subtree, makes some commits > on top of it and splits it back out. In the process the added commits > are lost or the rebase aborts with an internal error. The tests are > marked to expect failure so that we don't forget to fix it. > > Signed-off-by: David A. Greene <greened@xxxxxxxxxxxxx> > --- > diff --git a/t/t3427-rebase-subtree.sh b/t/t3427-rebase-subtree.sh > @@ -0,0 +1,70 @@ > +# FAILURE: Does not preserve master4 and master5. > +test_expect_failure 'Rebase -Xsubtree --preserve-merges --onto' ' > + reset_rebase && > + git checkout -b rebase-preserve-merges master && > + git filter-branch --prune-empty -f --subdirectory-filter files_subtree && > + git commit -m "Empty commit" --allow-empty && > + git rebase -Xsubtree=files_subtree --preserve-merges --onto files-master master && > + verbose "$(last_commit_message)" "files_subtree/master5" Hmm, does this test succeed? If it does, it's only by accident. verbose() is just a helper for printing the the expression being tested upon failure, but you still need to supply a proper expression for testing. It is intended to be used like this: verbose test "$(last_commit_message)" = files_subtree/master5 Same comment applies to the remaining tests. > +' > + > +# FAILURE: Does not preserve master4, master5 and empty. > +test_expect_failure 'Rebase -Xsubtree --keep-empty --preserve-merges --onto' ' > + reset_rebase && > + git checkout -b rebase-keep-empty master && > + git filter-branch --prune-empty -f --subdirectory-filter files_subtree && > + git commit -m "Empty commit" --allow-empty && > + git rebase -Xsubtree=files_subtree --keep-empty --preserve-merges --onto files-master master && > + verbose "$(last_commit_message)" "Empty commit" > +' > + > +# FAILURE: fatal: Could not parse object > +test_expect_failure 'Rebase -Xsubtree --onto' ' > + reset_rebase && > + git checkout -b rebase-onto master && > + git filter-branch --prune-empty -f --subdirectory-filter files_subtree && > + git commit -m "Empty commit" --allow-empty && > + git rebase -Xsubtree=files_subtree --onto files-master master && > + verbose "$(last_commit_message)" "Empty commit" > +' > + > +test_done > -- > 2.6.1 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html