On Mon, Apr 4, 2016 at 10:22 PM, Matthieu Moy <Matthieu.Moy@xxxxxxxxxxxxxxx> wrote: > I think it would be much simpler to drop the loop, and write instead > something like (untested): I tested it (with few minor changes), and worked fine. test_autostash () { OLDIFS=$IFS IFS='=' set -- $* IFS=$OLDIFS expect=$1 cmd=$2 config_variable=$3 value=$4 test_expect_success "$cmd, $config_variable=$value" ' if [ "$value" = "" ]; then test_unconfig $config_variable else test_config $config_variable $value fi && git reset --hard before-rebase && echo dirty >new_file && git add new_file && if [ $expect = "ok" ]; then git pull $cmd . copy && test_cmp_rev HEAD^ copy && test "$(cat new_file)" = dirty && test "$(cat file)" = "modified again" else test_must_fail git pull $cmd . copy 2>err && test_i18ngrep "uncommitted changes." err fi ' } test_autostash ok '--rebase' rebase.autostash=true test_autostash ok '--rebase --autostash' rebase.autostash=true test_autostash ok '--rebase --autostash' rebase.autostash=false test_autostash ok '--rebase --autostash' rebase.autostash= test_autostash err '--rebase --no-autostash' rebase.autostash=true test_autostash err '--rebase --no-autostash' rebase.autostash=false test_autostash err '--rebase --no-autostash' rebase.autostash= test_autostash ok '--autostash' pull.rebase=true test_autostash err '--no-autostash' pull.rebase=true Perhaps this looks better than the one with the loop. Even better than the implementation in v2[1]. I think it would be wise to go with the above script for v3 (as I will be doing a re-roll of the series[1]). [1]: http://thread.gmane.org/gmane.comp.version-control.git/290596 Thanks, Mehul -- 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