On Mon, Apr 4, 2016 at 10:22 PM, Matthieu Moy
<[email protected]> 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 [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html