Re: [PATCH v4 1/1] contrib/subtree: Add a test for subtree rebase that loses commits
- From
David A. Greene <greened@obbligato.org>
- Date
- Jan 19, 2016, 02:53 UTC
- Message-ID
- <87wpr6l1os.fsf@waller.obbligato.org>
- In-Reply-To
- <CAPig+cS6ouc+kdJaz10M2AApPoDODDcgDX9Azz8ih=4zxxD2zg@mail.gmail.com>
Eric Sunshine <sunshine@sunshineco.com> writes:
Show 27 quoted lines
> On Sun, Jan 17, 2016 at 6:43 PM, David Greene <greened@obbligato.org> 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@obbligato.org> >> --- >> 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.
Blast. Yes, it did pass (expect failure) but it's definitely wrong. On to v5!
-David