Re: [PATCH 4/5] t4108: demonstrate bug in apply
- From
Eric Sunshine <sunshine@sunshineco.com>
- Date
- Oct 23, 2019, 13:40 UTC
- Message-ID
- <CAPig+cQF+0mTLgva0YRAJ81Aj2Z_oJ+q4kzezREEyCZuv=2XKQ@mail.gmail.com>
- In-Reply-To
- <5feddf15978e77b19d8b3e2e5761e394e0bda3e7.1571832177.git.liu.denton@gmail.com>
On Wed, Oct 23, 2019 at 8:04 AM Denton Liu <liu.denton@gmail.com> wrote:
Show 30 quoted lines
> Currently, apply does not respect the merge.conflictStyle setting.
> Demonstrate this by making the 'apply with --3way' test case generic and
> extending it to show that the configuration of
> merge.conflictStyle = diff3 causes a breakage.
>
> Change print_sanitized_diff() to also sanitize `|||||||` conflict markers.
>
> Signed-off-by: Denton Liu <liu.denton@gmail.com>
> ---
> diff --git a/t/t4108-apply-threeway.sh b/t/t4108-apply-threeway.sh
> @@ -46,28 +46,42 @@ test_expect_success 'apply without --3way' '
> +test_apply_with_3way () {
> + status="$1" &&
> + shift &&
> + description="$1" &&
> + shift &&
> + preamble="$1" &&
> + shift &&
> +
> + test_expect_$status "apply with --3way ($description)" "
> + $preamble &&
> +
> + # Merging side should be similar to applying this patch
> + git diff ...side >P.diff &&
> + [...]
> + "
> +}
>
> +test_apply_with_3way success default true
> +test_apply_with_3way failure 'merge.conflictStyle = diff3' 'test_config merge.conflictStyle diff3'This isn't the prettiest way to achieve this; the "success"/"failure" arguments, especially, are somewhat ugly. A perhaps more palatable alternative which gives you the same benefit of re-using the common code but avoids the ugliness while still allowing customization (now and in the future):
test_apply_with_3way () {
# Merging side should be similar to applying this patch
git diff ...side >P.diff &&
[...]
} test_expect_success 'apply with --3way (default)' '
test_apply_with_3way
' test_expect_failure 'apply with --3way (merge.conflictStyle = diff3)' '
test_config merge.conflictStyle diff3 &&
test_apply_with_3way
'