Re: [PATCH 5/5] t/t5520: test --[no-]autostash with pull.rebase=true
- From
Mehul Jain <mehul.jain2029@gmail.com>
- Date
- Apr 4, 2016, 17:36 UTC
- Message-ID
- <CA+DCAeTm7wjgdjLwR__pcyev-EsqecdAT8xdGEFfuekg4ToKSA@mail.gmail.com>
- In-Reply-To
- <vpq4mbhmi3g.fsf@anie.imag.fr>
On Mon, Apr 4, 2016 at 10:22 PM, Matthieu Moy <Matthieu.Moy@grenoble-inp.fr> 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