git format-patch --range-diff bug?

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

 



I've just run into an unexpected looking range-diff generated by 'git
format-patch -1 --range-diff=...'.  While the 'git range-diff' command
correctly pairs up the old and new versions of the commit, 'git
format-patch --range-diff' somehow doesn't and reports it in a weird
way.

The test below demonstrates the issue, though it doesn't fail but only
prints the outputs of those commands:

  ---  >8  ---

#!/bin/sh

test_description='test'

. ./test-lib.sh

test_expect_success 'test' '
	test_tick &&
	printf "%s\n" 0 1 2 3 4 5 6 7 8 9 >file &&
	git add file &&
	git commit -m initial &&

	git checkout -b v1 &&
	echo foo >>file &&
	git commit -m change file &&

	git checkout -b v2 master &&
	echo bar >>file &&
	git commit -m change file &&

	: The output of the range-diff command is what I would expect to be included in the generated patch &&
	git range-diff v1...v2 &&

	: But that is not what we get embedded in the generated patch &&
	git format-patch -1 --range-diff=v1...v2 v2 &&
	sed -n -e "/^Range-diff:$/,/^$/ p" 0001-change.patch &&

	: Adding the range-diff to the cover letter doesnt seem to help &&
	git format-patch -1 --range-diff=v1...v2 --cover-letter v2 &&
	sed -n -e "/^Range-diff:$/,$ p" 0000-cover-letter.patch
'
test_done

  ---  8<  ---

And here is the relevant part of the output:

+ : The output of the range-diff command is what I would expect to be
included in the generated patch
+ git range-diff v1...v2
1:  f8c2d0b ! 1:  83c34a8 change
    @@ -9,4 +9,4 @@
      7
      8
      9
    -+foo
    ++bar
+ : But that is not what we get embedded in the generated patch
+ git format-patch -1 --range-diff=v1...v2 v2
0001-change.patch
+ sed -n -e /^Range-diff:$/,/^$/ p 0001-change.patch
Range-diff:
1:  83c34a8 = 1:  83c34a8 change
2:  f8c2d0b < -:  ------- change

+ : Adding the range-diff to the cover letter doesnt seem to help
+ git format-patch -1 --range-diff=v1...v2 --cover-letter v2
0000-cover-letter.patch
0001-change.patch
+ sed -n -e /^Range-diff:$/,$ p 0000-cover-letter.patch
Range-diff:
1:  83c34a8 = 1:  83c34a8 change
2:  f8c2d0b < -:  ------- change
-- 
2.18.0.584.g40ce41604d




[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]

  Powered by Linux