* Git 2.8.1 - bug in patience diff algorithm when used with --ignore-space-at-eol?
@ 2016-07-08 16:51 Naja Melan
2016-07-09 6:24 ` Johannes Schindelin
0 siblings, 1 reply; 3+ messages in thread
From: Naja Melan @ 2016-07-08 16:51 UTC (permalink / raw)
To: git
When diffing with --patience and --ignore-space-at-eol, a change that
adds or removes just one character a the end of a line isn't picked up.
Other diff algorithms don't suffer from this and patience doesn't if I
don't put --ignore-space-at-eol.
See the following output for a proof:
$ git diff --ignore-space-at-eol lib/gitomate/facts/path.rb
diff --git a/lib/gitomate/facts/path.rb b/lib/gitomate/facts/path.rb
index bc99661..a5cd184 100644
--- a/lib/gitomate/facts/path.rb
+++ b/lib/gitomate/facts/path.rb
@@ -77,7 +77,7 @@ def check( update = false )
options( :exist ) and warn "#{@info[ :path ].inspect} does not exist."
options( :exist ) or warn "#{@info[ :path ].inspect} exists but
it shouldn't."
- @checked = true
+ @checked = trued
return @checkPassed = false
end
$ git diff --patience --ignore-space-at-eol lib/gitomate/facts/path.rb
-> no output
$ git diff --patience lib/gitomate/facts/path.rb
diff --git a/lib/gitomate/facts/path.rb b/lib/gitomate/facts/path.rb
index bc99661..a5cd184 100644
--- a/lib/gitomate/facts/path.rb
+++ b/lib/gitomate/facts/path.rb
@@ -77,7 +77,7 @@ def check( update = false )
options( :exist ) and warn "#{@info[ :path ].inspect} does not exist."
options( :exist ) or warn "#{@info[ :path ].inspect} exists but
it shouldn't."
- @checked = true
+ @checked = trued
return @checkPassed = false
end
Naja Melan
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: Git 2.8.1 - bug in patience diff algorithm when used with --ignore-space-at-eol?
2016-07-08 16:51 Git 2.8.1 - bug in patience diff algorithm when used with --ignore-space-at-eol? Naja Melan
@ 2016-07-09 6:24 ` Johannes Schindelin
2016-07-09 7:26 ` Johannes Schindelin
0 siblings, 1 reply; 3+ messages in thread
From: Johannes Schindelin @ 2016-07-09 6:24 UTC (permalink / raw)
To: Naja Melan; +Cc: git
Hi Naja,
On Fri, 8 Jul 2016, Naja Melan wrote:
> When diffing with --patience and --ignore-space-at-eol, a change that
> adds or removes just one character a the end of a line isn't picked up.
Confirmed with the current 'master'. I am on it, building on top of this
diff:
-- snipsnap --
diff --git a/t/t4033-diff-patience.sh b/t/t4033-diff-patience.sh
index 3c9932e..6da435b 100755
--- a/t/t4033-diff-patience.sh
+++ b/t/t4033-diff-patience.sh
@@ -5,6 +5,13 @@ test_description='patience diff algorithm'
. ./test-lib.sh
. "$TEST_DIRECTORY"/lib-diff-alternative.sh
+test_expect_failure '--ignore-space-at-eol with a single appended character' '
+ printf "a\nb\nc\n" >pre &&
+ printf "a\nbX\nc\n" >post &&
+ git diff --no-index --patience --ignore-space-at-eol pre post >diff &&
+ grep "^+.*X" diff
+'
+
test_diff_frobnitz "patience"
test_diff_unique "patience"
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: Git 2.8.1 - bug in patience diff algorithm when used with --ignore-space-at-eol?
2016-07-09 6:24 ` Johannes Schindelin
@ 2016-07-09 7:26 ` Johannes Schindelin
0 siblings, 0 replies; 3+ messages in thread
From: Johannes Schindelin @ 2016-07-09 7:26 UTC (permalink / raw)
To: Naja Melan; +Cc: git
Hi,
On Sat, 9 Jul 2016, Johannes Schindelin wrote:
> On Fri, 8 Jul 2016, Naja Melan wrote:
>
> > When diffing with --patience and --ignore-space-at-eol, a change that
> > adds or removes just one character a the end of a line isn't picked up.
>
> Confirmed with the current 'master'. I am on it [...]
And I fixed it:
http://thread.gmane.org/gmane.comp.version-control.git/299176/focus=299178
Ciao,
Johannes
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2016-07-09 7:27 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-07-08 16:51 Git 2.8.1 - bug in patience diff algorithm when used with --ignore-space-at-eol? Naja Melan
2016-07-09 6:24 ` Johannes Schindelin
2016-07-09 7:26 ` Johannes Schindelin
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 NNTP newsgroup(s).