use external diff tool in the ignore line-endings mode for merge

Fredrik Staxeng fstx+u at update.uu.se
Sun Dec 9 08:14:36 UTC 2012


Summary: Anybody done this?

We are using bazaar on windows. We used to run CVS on a linux
server before. we have a bit of line-ending anarchy in our
repository. The files we converted from the Linux repository have LF,
and files create after we switched to bazaar have CR/LF. 

Most tools handles this just fine. The compiler, emacs, and, for the
most part, Visual Studio. The exception is the Visual Studio paste bug,
which means sometimes. files get converted to CR/LF. 

When this happens, merge blows up and just shows one big conflict.
Our developers are not Bazaar experts, and get a bit nervous when 
this happens to their code.

Now, converting all files to one format, and perhaps using the eol
module, would solve this problem. But it would create major 
merges breakages, and would have to involve every developer.

I have googled a bit, and I found an insteresting comment

> The work on this still in progress, but you can use external diff tool
                                      ----------------------------------
> (e.g. GNU diff3) in the ignore line-endings mode for merge.
  -----------------------------------------------------------

https://lists.ubuntu.com/archives/bazaar/2009q1/053994.html

If we could get merge not to blow up, we could probably live with our
current repository.

The right way would be to rewrite history so that all versions have the
same line endings. Then we could also convert tabs to spaces, indent
all files etc. But wishful thinking  does not solve real problems :-)

If anybody has done this, I would be very grateful for any details
that you can tell me. Which version of diff3, perhaps where to get it,
and how get bazaar to use it.

-- 
Fredrik Stax\"ang | rot13: sfgk at hcqngr.hh.fr
This is all you need to know about vi: ESC : q ! RET




More information about the bazaar mailing list