On Wed, Jan 7, 2015 at 2:31 PM, Doug Kelly <[email protected]> wrote:
> 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 <[email protected]>
> Thanks-to: Eric Sunshine <[email protected]>
> Thanks-to: Junio C Hamano <[email protected]>
On this project, it's customary to say "Helped-by:" rather than
"Thanks-to:". Also, place your sign-off last.
> ---
> 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...
> 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]).
> + 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.
> + 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
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html