Re: [PATCH v3 2/2] mergetool: honor tempfile configuration when resolving delete conflicts

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



David Aguilar <davvid@xxxxxxxxx> writes:

> Teach resolve_deleted_merge() to honor the mergetool.keepBackup and
> mergetool.keepTemporaries configuration knobs.
>
> This ensures that the worktree is kept pristine when resolving deletion
> conflicts with the variables both set to false.
>
> Signed-off-by: David Aguilar <davvid@xxxxxxxxx>
> ---
> Rebased to include tests and test fixes.

Thanks.  Will queue after applying a single fix-up again.

>
>  git-mergetool.sh     | 11 ++++++++++-
>  t/t7610-mergetool.sh | 25 +++++++++++++++++++++++++
>  2 files changed, 35 insertions(+), 1 deletion(-)
>
> diff --git a/git-mergetool.sh b/git-mergetool.sh
> index b06ae78..f67bab5 100755
> --- a/git-mergetool.sh
> +++ b/git-mergetool.sh
> @@ -126,7 +126,12 @@ resolve_deleted_merge () {
>  		case "$ans" in
>  		[mMcC]*)
>  			git add -- "$MERGED"
> -			cleanup_temp_files --save-backup
> +			if test "$merge_keep_backup" = "true"
> +			then
> +				cleanup_temp_files --save-backup
> +			else
> +				cleanup_temp_files
> +			fi
>  			return 0
>  			;;
>  		[dD]*)
> @@ -135,6 +140,10 @@ resolve_deleted_merge () {
>  			return 0
>  			;;
>  		[aA]*)
> +			if test "$merge_keep_temporaries" = "false"
> +			then
> +				cleanup_temp_files
> +			fi
>  			return 1
>  			;;
>  		esac
> diff --git a/t/t7610-mergetool.sh b/t/t7610-mergetool.sh
> index 39469d9..db723e8 100755
> --- a/t/t7610-mergetool.sh
> +++ b/t/t7610-mergetool.sh
> @@ -279,6 +279,31 @@ test_expect_success 'mergetool produces no errors when keepBackup is used' '
>  	: >expect &&
>  	echo d | git mergetool a/a/file.txt 2>actual &&
>  	test_cmp expect actual &&
> +	! test -d a &&
> +	git reset --hard HEAD
> +'
> +
> +test_expect_success 'mergetool honors tempfile config for deleted files' '
> +	test_config mergetool.keepTemporaries false &&
> +	test_must_fail git merge move-to-b &&
> +	echo d | git mergetool a/a/file.txt &&
> +	! test -d a &&
> +	git reset --hard HEAD
> +'
> +
> +test_expect_success 'mergetool keeps tempfiles when aborting delete/delete' '
> +	test_config mergetool.keepTemporaries true &&
> +	test_must_fail git merge move-to-b &&
> +	! (echo a; echo n) | git mergetool a/a/file.txt &&
> +	test -d a/a &&
> +	cat  >expect <<-\EOF &&
> +	file_BASE_.txt
> +	file_LOCAL_.txt
> +	file_REMOTE_.txt
> +	EOF
> +	ls -1 a/a | sed -e "s/[0-9]*//g" >actual &&
> +	test_cmp expect actual &&
> +	git clean -fdx &&
>  	git reset --hard HEAD
>  '
--
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



[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]