Re: Fwd: diff not finding difference

2015-09-25 Thread Michael J Gruber
Johannes Schindelin venit, vidit, dixit 25.09.2015 12:11:
> Hi Jack Adrian,
> 
> On 2015-09-24 23:09, Jack Adrian Zappa wrote:
>> This is a weird one:
>> 
>> [file-1 begin]
>> 
>> abcd efg hijklmnop
>> 
>> [file-1 end]
>> 
>> [file-2 begin]
>> 
>> blah blah blah 
>> /
>>
>> 
abdc boo ya!
>> 
>> [file-2 end]
>> 
>> Do a diff between these and it won't find any difference.
>> 
>> Same with the following two lines, each in a different file: sabc
>> fed ghi jkl abc def ghi jkl
>> 
>> I first noticed this on the command line git and then in VS2013.
>> The original problem was like my first example.  The files were
>> much longer, but all that git would see is the addition of the line
>> of ..., but not the removal of the original line.
>> 
>> I've tried some other simple file changes with similar results. 
>> Something seems to be definitely broken in git diff. :(
> 
> You might want to show your exact command-line invocation, i.e. the
> full information. I suspect that you missed the fact that `git diff a
> b` does not compare the file a to the file b, but instead it compares
> both a and b to what is recorded in the index. With one quirk: if the
> files a and b are not even recorded in the index, `git diff` will
> output nothing.
> 
> Now, the really confusing part for you was probably that your
> `file-2` *was* recorded in the index (maybe you made a backup copy
> with the extra file extension `.bak` or some such, and then called
> `git diff my-file.bak my-file` where `my-file` *actually is tracked
> by Git* but `my-file.bak` is not).
> 
> But `git diff` has so nice features that I wanted to use it myself to
> compare files or directories. That is why I introduced the
> `--no-index` option, years ago. And so I suspect that you called

Ah, now is a good time to rename my (shell) alias "gdiff" for "git diff
--no-index" to dschodiff.

Thanks, Dscho :)
Michael

P.S.: Note that dschodiff works perfectly even outside a git working
directory, with all the --color-words and whitespace goodness and what not!
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Fwd: diff not finding difference

2015-09-25 Thread Johannes Schindelin
Hi Jack Adrian,

On 2015-09-24 23:09, Jack Adrian Zappa wrote:
> This is a weird one:
> 
> [file-1 begin]
> 
> abcd efg hijklmnop
> 
> [file-1 end]
> 
> [file-2 begin]
> 
> blah blah blah
> /
> abdc boo ya!
> 
> [file-2 end]
> 
> Do a diff between these and it won't find any difference.
> 
> Same with the following two lines, each in a different file:
> sabc fed ghi jkl
> abc def ghi jkl
> 
> I first noticed this on the command line git and then in VS2013.  The
> original problem was like my first example.  The files were much
> longer, but all that git would see is the addition of the line of
> ..., but not the removal of the original line.
> 
> I've tried some other simple file changes with similar results.
> Something seems to be definitely broken in git diff. :(

You might want to show your exact command-line invocation, i.e. the full 
information. I suspect that you missed the fact that `git diff a b` does not 
compare the file a to the file b, but instead it compares both a and b to what 
is recorded in the index. With one quirk: if the files a and b are not even 
recorded in the index, `git diff` will output nothing.

Now, the really confusing part for you was probably that your `file-2` *was* 
recorded in the index (maybe you made a backup copy with the extra file 
extension `.bak` or some such, and then called `git diff my-file.bak my-file` 
where `my-file` *actually is tracked by Git* but `my-file.bak` is not).

But `git diff` has so nice features that I wanted to use it myself to compare 
files or directories. That is why I introduced the `--no-index` option, years 
ago. And so I suspect that you called

git diff file-1 file-2

when you actually wanted to call

git diff --no-index file-1 file-2

Here is my shell session to verify that `git diff` works as designed:

```
me@work $ cat >file-1

abcd efg hijklmnop

me@work $ cat >file-2

blah blah blah
/
abdc boo ya!

me@work $ git diff --no-index file-1 file-2
diff --git a/file-1 b/file-2
index 80ea2bc..f7fd7eb 100644
--- a/file-1
+++ b/file-2
@@ -1,3 +1,5 @@

-abcd efg hijklmnop
+blah blah blah
+/
+abdc boo ya!

me@work $
```

Please note that I ended the file contents for both `cat` calls [*1*] with a 
`Ctrl+D` which you cannot see in the pasted lines.

Ciao,
Johannes

Footnote *1*: Can you believe that I wanted to make that pun for at least ten 
years now?
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: diff not finding difference

2015-09-24 Thread Jack Adrian Zappa
On Thu, Sep 24, 2015 at 5:09 PM, Jack Adrian Zappa
 wrote:
> This is a weird one:
>
> [file-1 begin]
>
> abcd efg hijklmnop
>
> [file-1 end]
>
> [file-2 begin]
>
> blah blah blah
> /
> abdc boo ya!
>
> [file-2 end]
>
> Do a diff between these and it won't find any difference.
>
> Same with the following two lines, each in a different file:
> sabc fed ghi jkl
> abc def ghi jkl
>
> I first noticed this on the command line git and then in VS2013.  The
> original problem was like my first example.  The files were much
> longer, but all that git would see is the addition of the line of
> ..., but not the removal of the original line.
>
> I've tried some other simple file changes with similar results.
> Something seems to be definitely broken in git diff. :(
>
> Command line version of git is 1.9.5 msysgit.0.
>
>
> A

BTW, I've upgraded to git version 2.5.3.windows.1 and the problem
still persists.


A
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Fwd: diff not finding difference

2015-09-24 Thread Jack Adrian Zappa
This is a weird one:

[file-1 begin]

abcd efg hijklmnop

[file-1 end]

[file-2 begin]

blah blah blah
/
abdc boo ya!

[file-2 end]

Do a diff between these and it won't find any difference.

Same with the following two lines, each in a different file:
sabc fed ghi jkl
abc def ghi jkl

I first noticed this on the command line git and then in VS2013.  The
original problem was like my first example.  The files were much
longer, but all that git would see is the addition of the line of
..., but not the removal of the original line.

I've tried some other simple file changes with similar results.
Something seems to be definitely broken in git diff. :(

Command line version of git is 1.9.5 msysgit.0.


A
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html