external diff tools on windows

Alexander Belchenko bialix at ukr.net
Sat Apr 18 07:29:08 BST 2009


Maritza Mendez пишет:
> First to establish some credibility I am already successfully using
> BeyondCompare with the extmerge plugin.  Works great!

Why extmerge plugin? You're talking about diff, so I suppose you need (or you mean actually)
difftools plugin. Hm?

> Using BeyondCompare as an external diff tool seemed like it would be
> even easier.  I just need an alias in my bazaar.conf:
> 
> [ALIASES]
> bc = diff --using 'C:\\Program\ Files\\Beyond\ Compare\ 3\\BComp.exe'
> 
> I figured out that the escapes were necessary to get the command passed
> back the way windows needs it.  Lousy windows paths!  :)

No, it's a dumb shlex.split code! Bad bad shlex.split that suppose it's always working with unix paths.

You can use "/" instead of "\"  as a workaround.

> Then when I do
> 
> bzr bc foo.cs
> 
> As expected, I do get the GUI diff tool looking at the 'old' and 'new'
> files which are apparently read-only in a temp directory.
> 
> When I close Beyond COmpare (even if I do nothing else in
> BeyondCompare), I get an error.  Here is the complete interaction:
> 
> C:\Documents and Settings\martitza\Desktop\work>bzr bc foo.cs
> === modified file 'foo.cs'
> bzr: ERROR: [Error 32] The process cannot access the file because it is
> being used by another process:
> 'C:/docume~1/martitza/locals~1/temp/1/bzr-diff-sq3ypm'
> 
> Why the error?
> 
> I have not tried to use any other external diff command. 

Please, show the relevant part of .bzr.log to us.
I suspect some code try to delete temporary file/directory while it's still open by your tool.
Something like that. But without looking at .bzr.log it's just a guess.




More information about the bazaar mailing list