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