{"thread":{"id":"20281","subject":"External Diff Tool","startedAt":"2009-07-29T20:16:31Z","lastAt":"2009-08-05T19:35:49Z","messageCount":11,"participants":["Eric Stegemoller","Bert Wesarg","Johannes Schindelin","David Aguilar","Dr. Lars Hanke","Matthieu Moy","John Tapsell","Johannes Sixt"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"119094","messageId":"4A70AE1F.7070004@idmcomp.com","threadId":"20281","inReplyTo":null,"subject":"External Diff Tool","fromName":"Eric Stegemoller","fromEmail":"estegemoller@idmcomp.com","sentAt":"2009-07-29T20:16:31Z","receivedAt":"2009-07-29T20:16:31Z","isPatch":false,"sender":{"key":"estegemoller@idmcomp.com","avatar":null},"body":"Hello,\n\nFirst off I am using Git for windows. I am trying to configure git to \nuse an external diff tool. I am nearly there. I have it launching the \ncorrect program when \"git difftool testfile.txt\" is invoked. However, it \nappears the file paths are not being passed. I suspect I may not be \nusing the $LOCAL and $REMOTE variables correctly. Below is how I have \nconfigured things thus far. Any help or suggestions would be greatly \nappreciated.\n\n  git config --global diff.tool TestTool\n  git config --global difftool.TestTool.cmd \"\"c:/TestTool/test.exe\" \n\"$LOCAL\" \"$REMOTE\"\"\n  git config --global difftool.prompt false\n\nThanks,\nEric\n"},{"id":"119098","messageId":"36ca99e90907291345r188a2182n77a2fd5cb55a8bc4@mail.gmail.com","threadId":"20281","inReplyTo":"4A70AE1F.7070004@idmcomp.com","subject":"Re: External Diff Tool","fromName":"Bert Wesarg","fromEmail":"bert.wesarg@googlemail.com","sentAt":"2009-07-29T20:45:25Z","receivedAt":"2009-07-29T20:45:25Z","isPatch":false,"sender":{"key":"bert.wesarg@googlemail.com","avatar":"https://avatars.githubusercontent.com/u/111934?v=4"},"body":"On Wed, Jul 29, 2009 at 22:16, Eric Stegemoller<estegemoller@idmcomp.com> wrote:\n> Hello,\n>\n>  git config --global diff.tool TestTool\n>  git config --global difftool.TestTool.cmd \"\"c:/TestTool/test.exe\" \"$LOCAL\"\nTry with quoting the \" inside the config value:\n\n  git config --global difftool.TestTool.cmd \"\\\"c:/TestTool/test.exe\\\"\n\\\"$LOCAL\\\" \\\"$REMOTE\\\"\"\n\nBert\n"},{"id":"119187","messageId":"4A71F2F1.4060605@idmcomp.com","threadId":"20281","inReplyTo":"36ca99e90907291345r188a2182n77a2fd5cb55a8bc4@mail.gmail.com","subject":"Re: External Diff Tool","fromName":"Eric Stegemoller","fromEmail":"estegemoller@idmcomp.com","sentAt":"2009-07-30T19:22:25Z","receivedAt":"2009-07-30T19:22:25Z","isPatch":false,"sender":{"key":"estegemoller@idmcomp.com","avatar":null},"body":"Bert Wesarg wrote:\n> On Wed, Jul 29, 2009 at 22:16, Eric Stegemoller<estegemoller@idmcomp.com> wrote:\n>   \n>> Hello,\n>>\n>>  git config --global diff.tool TestTool\n>>  git config --global difftool.TestTool.cmd \"\"c:/TestTool/test.exe\" \"$LOCAL\"\n>>     \n> Try with quoting the \" inside the config value:\n>\n>   git config --global difftool.TestTool.cmd \"\\\"c:/TestTool/test.exe\\\"\n> \\\"$LOCAL\\\" \\\"$REMOTE\\\"\"\n>   \n> Bert\n>   \nThanks, but this did not solve it. Interestingly, I have captured the \ncommand line that is sent out by GIT and it is calling the correct \nprogram but not adding anything to the command line. So, nothing is \nthere. Seeing this I have been experimenting around with the parameters \nand I still it is calling the correct program but sending a blank \ncommand line. Any suggestions on how to pursue this?\n\nEric\n"},{"id":"119247","messageId":"alpine.DEB.1.00.0907311217290.4503@intel-tinevez-2-302","threadId":"20281","inReplyTo":"4A71F2F1.4060605@idmcomp.com","subject":"Re: External Diff Tool","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2009-07-31T10:18:16Z","receivedAt":"2009-07-31T10:18:16Z","isPatch":false,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi,\n\nOn Thu, 30 Jul 2009, Eric Stegemoller wrote:\n\n> Bert Wesarg wrote:\n> > On Wed, Jul 29, 2009 at 22:16, Eric Stegemoller<estegemoller@idmcomp.com>\n> > wrote:\n> >   \n> > > Hello,\n> > >\n> > >  git config --global diff.tool TestTool\n> > >  git config --global difftool.TestTool.cmd \"\"c:/TestTool/test.exe\"\n> > >  \"$LOCAL\"\n> > >     \n> > Try with quoting the \" inside the config value:\n> >\n> >   git config --global difftool.TestTool.cmd \"\\\"c:/TestTool/test.exe\\\"\n> > \\\"$LOCAL\\\" \\\"$REMOTE\\\"\"\n> >   Bert\n> >   \n> Thanks, but this did not solve it. Interestingly, I have captured the \n> command line that is sent out by GIT and it is calling the correct \n> program but not adding anything to the command line. So, nothing is \n> there. Seeing this I have been experimenting around with the parameters \n> and I still it is calling the correct program but sending a blank \n> command line. Any suggestions on how to pursue this?\n\nFirst thing I'd do is to call it with GIT_TRACE=1.  If that does not help, \nI would modify the source to see what is happening.\n\nI see that you're on Windows, and I could imagine this to be a \nWindows-specific problem.\n\nCiao,\nDscho\n"},{"id":"119326","messageId":"20090801111227.GA26029@gmail.com","threadId":"20281","inReplyTo":"4A71F2F1.4060605@idmcomp.com","subject":"Re: External Diff Tool","fromName":"David Aguilar","fromEmail":"davvid@gmail.com","sentAt":"2009-08-01T11:12:28Z","receivedAt":"2009-08-01T11:12:28Z","isPatch":false,"sender":{"key":"davvid@gmail.com","avatar":"https://avatars.githubusercontent.com/u/13196?v=4"},"body":"On Thu, Jul 30, 2009 at 03:22:25PM -0400, Eric Stegemoller wrote:\n> Bert Wesarg wrote:\n>> On Wed, Jul 29, 2009 at 22:16, Eric Stegemoller<estegemoller@idmcomp.com> wrote:\n>>   \n>>> Hello,\n>>>\n>>>  git config --global diff.tool TestTool\n>>>  git config --global difftool.TestTool.cmd \"\"c:/TestTool/test.exe\" \"$LOCAL\"\n>> Try with quoting the \" inside the config value:\n>>\n>>   git config --global difftool.TestTool.cmd \"\\\"c:/TestTool/test.exe\\\"\n>> \\\"$LOCAL\\\" \\\"$REMOTE\\\"\"\n>>   Bert\n>>   \n> Thanks, but this did not solve it. Interestingly, I have captured the  \n> command line that is sent out by GIT and it is calling the correct  \n> program but not adding anything to the command line. So, nothing is  \n> there. Seeing this I have been experimenting around with the parameters  \n> and I still it is calling the correct program but sending a blank  \n> command line. Any suggestions on how to pursue this?\n>\n> Eric\n\n\nI think shell is to blame here.\n\nTry editing ~/.gitconfig by hand.\n\nI think the suggestion above forgot to escape the $ character.\n\nSince the $'s weren't escaped, the shell interpolated the\n$LOCAL, etc. variables and replaced them with the empty\nstring.\n\n\n-- \n\n\tDavid\n"},{"id":"119499","messageId":"4A7841BF.5060308@idmcomp.com","threadId":"20281","inReplyTo":"20090801111227.GA26029@gmail.com","subject":"Re: External Diff Tool","fromName":"Eric Stegemoller","fromEmail":"estegemoller@idmcomp.com","sentAt":"2009-08-04T14:12:15Z","receivedAt":"2009-08-04T14:12:15Z","isPatch":false,"sender":{"key":"estegemoller@idmcomp.com","avatar":null},"body":"David Aguilar wrote:\n> On Thu, Jul 30, 2009 at 03:22:25PM -0400, Eric Stegemoller wrote:\n>   \n>> Bert Wesarg wrote:\n>>     \n>>> On Wed, Jul 29, 2009 at 22:16, Eric Stegemoller<estegemoller@idmcomp.com> wrote:\n>>>   \n>>>       \n>>>> Hello,\n>>>>\n>>>>  git config --global diff.tool TestTool\n>>>>  git config --global difftool.TestTool.cmd \"\"c:/TestTool/test.exe\" \"$LOCAL\"\n>>>>         \n>>> Try with quoting the \" inside the config value:\n>>>\n>>>   git config --global difftool.TestTool.cmd \"\\\"c:/TestTool/test.exe\\\"\n>>> \\\"$LOCAL\\\" \\\"$REMOTE\\\"\"\n>>>   Bert\n>>>   \n>>>       \n>> Thanks, but this did not solve it. Interestingly, I have captured the  \n>> command line that is sent out by GIT and it is calling the correct  \n>> program but not adding anything to the command line. So, nothing is  \n>> there. Seeing this I have been experimenting around with the parameters  \n>> and I still it is calling the correct program but sending a blank  \n>> command line. Any suggestions on how to pursue this?\n>>\n>> Eric\n>>     \n>\n>\n> I think shell is to blame here.\n>\n> Try editing ~/.gitconfig by hand.\n>\n> I think the suggestion above forgot to escape the $ character.\n>\n> Since the $'s weren't escaped, the shell interpolated the\n> $LOCAL, etc. variables and replaced them with the empty\n> string.\n>\n>\n>   \nEscaping the $'s did the trick! Thanks for everyones help.\n\nThanks,\nEric\n"},{"id":"119504","messageId":"4A7869BD.5010209@lhanke.de","threadId":"20281","inReplyTo":"4A7841BF.5060308@idmcomp.com","subject":"Diffing M$-Word","fromName":"Dr. Lars Hanke","fromEmail":"lars@lhanke.de","sentAt":"2009-08-04T17:02:53Z","receivedAt":"2009-08-04T17:02:53Z","isPatch":false,"sender":{"key":"lars@lhanke.de","avatar":null},"body":"At work I have to write a lot of reports using M$-Word and found that \ngit is capable of managing these in an easy and meaningful way. However, \ndiffing of course does not work. I checked the web for solutions, but \nsomehow, I did not hit the correct search pattern.\n\nI think it should be possible to define Word itself as the external diff \ntool, as described in one of today's posts\n\n >  git config --global diff.tool TestTool\n >  git config --global difftool.TestTool.cmd \"C:/Programme/Microsoft \nOffice/Office/Winword.exe\" \"\\$LOCAL\" \"\\$REMOTE\" \"\\\\mSomething\"\n\ni.e. open both versions and auto-execute a macro, which in turn will do \nthe compare. Well, just an idea, my knowledge about the M$ and Windoze \nin general stuff is weak. Has this or something else been tried? Is \nthere any howto for this around?\n\nProbably a similar approach could be chosen for OOo - for me as a \nTeXnician, using git is straight forward anyhow. ;)\n\nRegards,\n - lars.\n"},{"id":"119505","messageId":"vpqk51jtsif.fsf@bauges.imag.fr","threadId":"20281","inReplyTo":"4A7869BD.5010209@lhanke.de","subject":"Re: Diffing M$-Word","fromName":"Matthieu Moy","fromEmail":"matthieu.moy@imag.fr","sentAt":"2009-08-04T17:10:00Z","receivedAt":"2009-08-04T17:10:00Z","isPatch":false,"sender":{"key":"git@matthieu-moy.fr","avatar":"https://avatars.githubusercontent.com/u/14709?v=4"},"body":"\"Dr. Lars Hanke\" <lars@lhanke.de> writes:\n\n> At work I have to write a lot of reports using M$-Word and found that\n> git is capable of managing these in an easy and meaningful way.\n> However, diffing of course does not work. I checked the web for\n> solutions, but somehow, I did not hit the correct search pattern.\n\nantiword can be your friend.\n\nSee http://git.or.cz/gitwiki/GitTips#opendocument for some receipe\nwith OpenOffice documents, they apply equally well with .doc document\nwith antiword.\n\n-- \nMatthieu\n"},{"id":"119506","messageId":"43d8ce650908041010w1ffa3040m4b783fc0d347818e@mail.gmail.com","threadId":"20281","inReplyTo":"4A7869BD.5010209@lhanke.de","subject":"Re: Diffing M$-Word","fromName":"John Tapsell","fromEmail":"johnflux@gmail.com","sentAt":"2009-08-04T17:10:31Z","receivedAt":"2009-08-04T17:10:31Z","isPatch":false,"sender":{"key":"johnflux@gmail.com","avatar":"https://gravatar.com/avatar/25f70d4c0f96396b84a2e34bcd9bdc233462c7b4be29b5fdca8266fc53f30b0c?d=mp&s=160"},"body":"2009/8/4 Dr. Lars Hanke <lars@lhanke.de>:\n> At work I have to write a lot of reports using M$-Word and found that git is\n> capable of managing these in an easy and meaningful way. However, diffing of\n> course does not work. I checked the web for solutions, but somehow, I did\n> not hit the correct search pattern.\n\nWith the openoffice format, .odt, the file is just a zip file that you\ncan unzip either manually or with a commit hook (and rezip with a\ncheckout hook).\n\nI think Microsoft's format .docx could do something similar.\n\nThat sort of diff will help git do it's job properly (e.g. you can\nthen see when a particular image has changed etc), but not useful for\na human to view.\n\nI think a way to specify a difftool based on extension would certainly\nbe useful.  Then distros could provide default useful difftools (for\ncomparing images, etc)\n\nJohn\n"},{"id":"119513","messageId":"4A788C93.10402@kdbg.org","threadId":"20281","inReplyTo":"4A7869BD.5010209@lhanke.de","subject":"Re: Diffing M$-Word","fromName":"Johannes Sixt","fromEmail":"j6t@kdbg.org","sentAt":"2009-08-04T19:31:31Z","receivedAt":"2009-08-04T19:31:31Z","isPatch":false,"sender":{"key":"j6t@kdbg.org","avatar":"https://avatars.githubusercontent.com/u/14810926?v=4"},"body":"Dr. Lars Hanke schrieb:\n> At work I have to write a lot of reports using M$-Word and found that \n> git is capable of managing these in an easy and meaningful way. However, \n> diffing of course does not work. I checked the web for solutions, but \n> somehow, I did not hit the correct search pattern.\n\nI use a dual solution. I defined catdoc as a textconv filter so that I can \nsee textual changes in gitk; and I use my winworddiff crude hack that I \nposted here\n\nhttp://thread.gmane.org/gmane.comp.version-control.git/59288\n\nas a external diff program (note: *not* a difftool). With these, I can \nlimp along sufficiently.\n\n-- Hannes\n"},{"id":"119664","messageId":"4A79DF15.9070000@lhanke.de","threadId":"20281","inReplyTo":"4A788C93.10402@kdbg.org","subject":"Re: Diffing M$-Word","fromName":"Dr. Lars Hanke","fromEmail":"lars@lhanke.de","sentAt":"2009-08-05T19:35:49Z","receivedAt":"2009-08-05T19:35:49Z","isPatch":false,"sender":{"key":"lars@lhanke.de","avatar":null},"body":"\n>> At work I have to write a lot of reports using M$-Word and found that \n>> git is capable of managing these in an easy and \n> I use a dual solution. I defined catdoc as a textconv filter so that I \n> can see textual changes in gitk; and I use my winworddiff crude hack \n> that I posted here\n> http://thread.gmane.org/gmane.comp.version-control.git/59288\n> as a external diff program (note: *not* a difftool). With these, I can \n> limp along sufficiently.\nThat sounds good. I'll try to setup this solution at work. I actually \nstarted writing a similar thing in C# .NET, since I didn't know that you \ncould just add a .dot to supply a macro.\n\nThanks,\n - lars.\n"}]}