git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
* [PATCH] diff: add tests for --relative without optional prefix value
@ 2017-12-07 19:01 Jacob Keller
  2017-12-07 19:17 ` Junio C Hamano
  2017-12-07 21:12 ` Jeff King
  0 siblings, 2 replies; 7+ messages in thread
From: Jacob Keller @ 2017-12-07 19:01 UTC (permalink / raw)
  To: git; +Cc: Junio C Hamano, Christian Couder, Jeff King, Jacob Keller

From: Jacob Keller <jacob.keller@gmail.com>

We already have tests for --relative, but they currently only test when
a prefix has been provided. This fails to test the case where --relative
by itself should use the current directory as the prefix.

Teach the check_$type functions to take a directory argument to indicate
which subdirectory to run the git commands in. Add a new test which uses
this to test --relative without a prefix value.

Signed-off-by: Jacob Keller <jacob.keller@gmail.com>
---
 t/t4045-diff-relative.sh | 19 ++++++++++++-------
 1 file changed, 12 insertions(+), 7 deletions(-)

diff --git a/t/t4045-diff-relative.sh b/t/t4045-diff-relative.sh
index 3950f5034d31..7d68a6e2a536 100755
--- a/t/t4045-diff-relative.sh
+++ b/t/t4045-diff-relative.sh
@@ -13,6 +13,7 @@ test_expect_success 'setup' '
 '
 
 check_diff() {
+dir=$1; shift
 expect=$1; shift
 cat >expected <<EOF
 diff --git a/$expect b/$expect
@@ -24,50 +25,54 @@ index 0000000..25c05ef
 +other content
 EOF
 test_expect_success "-p $*" "
-	git diff -p $* HEAD^ >actual &&
+	git -C '$dir' diff -p $* HEAD^ >actual &&
 	test_cmp expected actual
 "
 }
 
 check_numstat() {
+dir=$1; shift
 expect=$1; shift
 cat >expected <<EOF
 1	0	$expect
 EOF
 test_expect_success "--numstat $*" "
 	echo '1	0	$expect' >expected &&
-	git diff --numstat $* HEAD^ >actual &&
+	git -C '$dir' diff --numstat $* HEAD^ >actual &&
 	test_cmp expected actual
 "
 }
 
 check_stat() {
+dir=$1; shift
 expect=$1; shift
 cat >expected <<EOF
  $expect | 1 +
  1 file changed, 1 insertion(+)
 EOF
 test_expect_success "--stat $*" "
-	git diff --stat $* HEAD^ >actual &&
+	git -C '$dir' diff --stat $* HEAD^ >actual &&
 	test_i18ncmp expected actual
 "
 }
 
 check_raw() {
+dir=$1; shift
 expect=$1; shift
 cat >expected <<EOF
 :000000 100644 0000000000000000000000000000000000000000 25c05ef3639d2d270e7fe765a67668f098092bc5 A	$expect
 EOF
 test_expect_success "--raw $*" "
-	git diff --no-abbrev --raw $* HEAD^ >actual &&
+	git -C '$dir' diff --no-abbrev --raw $* HEAD^ >actual &&
 	test_cmp expected actual
 "
 }
 
 for type in diff numstat stat raw; do
-	check_$type file2 --relative=subdir/
-	check_$type file2 --relative=subdir
-	check_$type dir/file2 --relative=sub
+	check_$type . file2 --relative=subdir/
+	check_$type . file2 --relative=subdir
+	check_$type . dir/file2 --relative=sub
+	check_$type subdir file2 --relative
 done
 
 test_done
-- 
2.15.1.478.ga1e07cd25f8b


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH] diff: add tests for --relative without optional prefix value
  2017-12-07 19:01 [PATCH] diff: add tests for --relative without optional prefix value Jacob Keller
@ 2017-12-07 19:17 ` Junio C Hamano
  2017-12-07 19:54   ` Jacob Keller
  2017-12-07 21:12 ` Jeff King
  1 sibling, 1 reply; 7+ messages in thread
From: Junio C Hamano @ 2017-12-07 19:17 UTC (permalink / raw)
  To: Jacob Keller; +Cc: git, Christian Couder, Jeff King, Jacob Keller

Jacob Keller <jacob.e.keller@intel.com> writes:

>  for type in diff numstat stat raw; do
> -	check_$type file2 --relative=subdir/
> -	check_$type file2 --relative=subdir
> -	check_$type dir/file2 --relative=sub
> +	check_$type . file2 --relative=subdir/
> +	check_$type . file2 --relative=subdir
> +	check_$type . dir/file2 --relative=sub
> +	check_$type subdir file2 --relative

OK, I didn't think it would be sensible to unconditionally pass the
directory and use "-C ." as a no-op.  It looks good.

I think the new one should go before the dir/file2 test; all three
earlier tests (including this new one) are about taking a patch
relative to subdir/ spelled in different ways, and the one about
dir/file2 alone is different.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] diff: add tests for --relative without optional prefix value
  2017-12-07 19:17 ` Junio C Hamano
@ 2017-12-07 19:54   ` Jacob Keller
  0 siblings, 0 replies; 7+ messages in thread
From: Jacob Keller @ 2017-12-07 19:54 UTC (permalink / raw)
  To: Junio C Hamano
  Cc: Jacob Keller, Git mailing list, Christian Couder, Jeff King

On Thu, Dec 7, 2017 at 11:17 AM, Junio C Hamano <gitster@pobox.com> wrote:
> Jacob Keller <jacob.e.keller@intel.com> writes:
>
>>  for type in diff numstat stat raw; do
>> -     check_$type file2 --relative=subdir/
>> -     check_$type file2 --relative=subdir
>> -     check_$type dir/file2 --relative=sub
>> +     check_$type . file2 --relative=subdir/
>> +     check_$type . file2 --relative=subdir
>> +     check_$type . dir/file2 --relative=sub
>> +     check_$type subdir file2 --relative
>
> OK, I didn't think it would be sensible to unconditionally pass the
> directory and use "-C ." as a no-op.  It looks good.
>
> I think the new one should go before the dir/file2 test; all three
> earlier tests (including this new one) are about taking a patch
> relative to subdir/ spelled in different ways, and the one about
> dir/file2 alone is different.

Yea, your patch looked fine to me, minus the use of subshells where we
could avoid it.

I'm fine taking your version.

Thanks,
Jake

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] diff: add tests for --relative without optional prefix value
  2017-12-07 19:01 [PATCH] diff: add tests for --relative without optional prefix value Jacob Keller
  2017-12-07 19:17 ` Junio C Hamano
@ 2017-12-07 21:12 ` Jeff King
  2017-12-07 21:20   ` Jacob Keller
  2017-12-07 21:50   ` Junio C Hamano
  1 sibling, 2 replies; 7+ messages in thread
From: Jeff King @ 2017-12-07 21:12 UTC (permalink / raw)
  To: Jacob Keller; +Cc: git, Junio C Hamano, Christian Couder, Jacob Keller

On Thu, Dec 07, 2017 at 11:01:35AM -0800, Jacob Keller wrote:

> From: Jacob Keller <jacob.keller@gmail.com>
> 
> We already have tests for --relative, but they currently only test when
> a prefix has been provided. This fails to test the case where --relative
> by itself should use the current directory as the prefix.
> 
> Teach the check_$type functions to take a directory argument to indicate
> which subdirectory to run the git commands in. Add a new test which uses
> this to test --relative without a prefix value.

This looks good to me (and I slightly prefer it over Junio's for the
simplicity).

I agree on the ordering suggestion Junio made.

-Peff

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] diff: add tests for --relative without optional prefix value
  2017-12-07 21:12 ` Jeff King
@ 2017-12-07 21:20   ` Jacob Keller
  2017-12-07 21:50   ` Junio C Hamano
  1 sibling, 0 replies; 7+ messages in thread
From: Jacob Keller @ 2017-12-07 21:20 UTC (permalink / raw)
  To: Jeff King
  Cc: Jacob Keller, Git mailing list, Junio C Hamano, Christian Couder

On Thu, Dec 7, 2017 at 1:12 PM, Jeff King <peff@peff.net> wrote:
> On Thu, Dec 07, 2017 at 11:01:35AM -0800, Jacob Keller wrote:
>
>> From: Jacob Keller <jacob.keller@gmail.com>
>>
>> We already have tests for --relative, but they currently only test when
>> a prefix has been provided. This fails to test the case where --relative
>> by itself should use the current directory as the prefix.
>>
>> Teach the check_$type functions to take a directory argument to indicate
>> which subdirectory to run the git commands in. Add a new test which uses
>> this to test --relative without a prefix value.
>
> This looks good to me (and I slightly prefer it over Junio's for the
> simplicity).
>
> I agree on the ordering suggestion Junio made.
>
> -Peff

As do I. Junio, if we go with my version, feel free to squash in the
re-order. Or if you prefer, I can send a v2 (though for such a small
change I don't see the benefit).

Thanks,
Jake

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] diff: add tests for --relative without optional prefix value
  2017-12-07 21:12 ` Jeff King
  2017-12-07 21:20   ` Jacob Keller
@ 2017-12-07 21:50   ` Junio C Hamano
  2017-12-07 22:05     ` Jacob Keller
  1 sibling, 1 reply; 7+ messages in thread
From: Junio C Hamano @ 2017-12-07 21:50 UTC (permalink / raw)
  To: Jeff King; +Cc: Jacob Keller, git, Christian Couder, Jacob Keller

Jeff King <peff@peff.net> writes:

> On Thu, Dec 07, 2017 at 11:01:35AM -0800, Jacob Keller wrote:
>
>> From: Jacob Keller <jacob.keller@gmail.com>
>> 
>> We already have tests for --relative, but they currently only test when
>> a prefix has been provided. This fails to test the case where --relative
>> by itself should use the current directory as the prefix.
>> 
>> Teach the check_$type functions to take a directory argument to indicate
>> which subdirectory to run the git commands in. Add a new test which uses
>> this to test --relative without a prefix value.
>
> This looks good to me (and I slightly prefer it over Junio's for the
> simplicity).
>
> I agree on the ordering suggestion Junio made.

I also prefer this one over the other one, provided if it is ported
on top of the preliminary clean-up I did in the other one.

Thanks.


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] diff: add tests for --relative without optional prefix value
  2017-12-07 21:50   ` Junio C Hamano
@ 2017-12-07 22:05     ` Jacob Keller
  0 siblings, 0 replies; 7+ messages in thread
From: Jacob Keller @ 2017-12-07 22:05 UTC (permalink / raw)
  To: Junio C Hamano
  Cc: Jeff King, Jacob Keller, Git mailing list, Christian Couder

On Thu, Dec 7, 2017 at 1:50 PM, Junio C Hamano <gitster@pobox.com> wrote:
> Jeff King <peff@peff.net> writes:
>
>> On Thu, Dec 07, 2017 at 11:01:35AM -0800, Jacob Keller wrote:
>>
>>> From: Jacob Keller <jacob.keller@gmail.com>
>>>
>>> We already have tests for --relative, but they currently only test when
>>> a prefix has been provided. This fails to test the case where --relative
>>> by itself should use the current directory as the prefix.
>>>
>>> Teach the check_$type functions to take a directory argument to indicate
>>> which subdirectory to run the git commands in. Add a new test which uses
>>> this to test --relative without a prefix value.
>>
>> This looks good to me (and I slightly prefer it over Junio's for the
>> simplicity).
>>
>> I agree on the ordering suggestion Junio made.
>
> I also prefer this one over the other one, provided if it is ported
> on top of the preliminary clean-up I did in the other one.
>
> Thanks.
>

Yea. I can do that if you want.

Thanks,
Jake

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2017-12-07 22:05 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-12-07 19:01 [PATCH] diff: add tests for --relative without optional prefix value Jacob Keller
2017-12-07 19:17 ` Junio C Hamano
2017-12-07 19:54   ` Jacob Keller
2017-12-07 21:12 ` Jeff King
2017-12-07 21:20   ` Jacob Keller
2017-12-07 21:50   ` Junio C Hamano
2017-12-07 22:05     ` Jacob Keller

Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).