Re: [PATCH v3 1/2] t4255: test am submodule with diff.submodule
- From
Eric Sunshine <sunshine@sunshineco.com>
- Date
- Jan 7, 2015, 20:06 UTC
- Message-ID
- <CAPig+cQUUoTFY41-++Po=LTPWYVH=CWpT7PUKGPyvACjJoPXxQ@mail.gmail.com>
- In-Reply-To
- <1420659105-26546-1-git-send-email-dougk.ff7@gmail.com>
On Wed, Jan 7, 2015 at 2:31 PM, Doug Kelly <dougk.ff7@gmail.com> wrote:
Show 12 quoted lines
> git am will break when using diff.submodule=log; add some test cases
> to illustrate this breakage as simply as possible. There are
> currently two ways this can fail:
>
> * With errors ("unrecognized input"), if only change
> * Silently (no submodule change), if other files change
>
> Test for both conditions and ensure without diff.submodule this works.
>
> Signed-off-by: Doug Kelly <dougk.ff7@gmail.com>
> Thanks-to: Eric Sunshine <sunshine@sunshineco.com>
> Thanks-to: Junio C Hamano <gitster@pobox.com>On this project, it's customary to say "Helped-by:" rather than "Thanks-to:". Also, place your sign-off last.
Show 5 quoted lines
> --- > Updated with Eric Sunshine's comments and changes to reduce complexity, > and also changed to include Junio's suggestions for using test_config, > test_unconfig, and test_might_fail (since we don't know if a previous > am failed or not -- we always want to clean up first).
Looking much better. Thanks. A couple minor comments below...
Show 28 quoted lines
> diff --git a/t/t4255-am-submodule.sh b/t/t4255-am-submodule.sh
> index 8bde7db..523accf 100755
> --- a/t/t4255-am-submodule.sh
> +++ b/t/t4255-am-submodule.sh
> @@ -18,4 +18,76 @@ am_3way () {
> KNOWN_FAILURE_NOFF_MERGE_ATTEMPTS_TO_MERGE_REMOVED_SUBMODULE_FILES=1
> test_submodule_switch "am_3way"
>
> +test_expect_success 'setup diff.submodule' '
> + test_commit one &&
> + INITIAL=$(git rev-parse HEAD) &&
> +
> + git init submodule &&
> + (
> + cd submodule &&
> + test_commit two &&
> + git rev-parse HEAD >../initial-submodule
> + ) &&
> + git submodule add ./submodule &&
> + git commit -m first &&
> +
> + (
> + cd submodule &&
> + test_commit three &&
> + git rev-parse HEAD >../first-submodule
> + ) &&
> + git add submodule &&
> + test_tick &&You can drop this test_tick (as I did in my "squash"[1]).
Show 7 quoted lines
> + git commit -m second && > + SECOND=$(git rev-parse HEAD) && > + > + ( > + cd submodule && > + git mv two.t four.t && > + test_tick &&
And this one (which I overlooked in [1]).
The reason I suggest dropping the test_tick invocations is that they do not impact these tests at all, yet their presence misleads the reader into thinking that they are somehow significant.
Show 9 quoted lines
> + git commit -m "second submodule" && > + git rev-parse HEAD >../second-submodule > + ) && > + test_commit four && > + git add submodule && > + git commit --amend --no-edit && > + THIRD=$(git rev-parse HEAD) && > + git submodule update --init > +'
[1]: http://article.gmane.org/gmane.comp.version-control.git/261852