Re: Fwd: diff not finding difference
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
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
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
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