Thank you and sorry I didn't respond furthur. The problem is not with fossil. I think the real problem is that I am used to a different merge program and I can't get along with kdiff3.
It is true I am using Windows and Linux. I never had a problem with line endings with fossil. It just works! On perforce, at work, when I get latest it automatically converts line endings, but I never set it up on fossil. Never needed to! :) All my fossil settings are empty except: autosync (local) on gdiff-command (local) meld gmerge-command (local) kdiff3 "%baseline" "%original" "%merge" -o "%output" I use scite to edit my code on Linux and Microsoft Developer Studio 2013 (Community edition) on Windows. scite doesn't care about line endings. I use command-line to access fossil on both Linux and Windows: "./arngui/arnguiApp.cpp contains CR/NL line endings. Use --no-warnings or the "crnl-glob" setting to disable this warning. Commit anyhow (a=all/c=convert/y/N)? ". I answer "a" for all. If I gdiff with meld the window shows me 2 panels and it's obvious which is fossil file and which is local. meld is like WinMerge and similar to p4merge and that is why I use it on linux. I like meld because of it's simplicity, it's visual display of the diffs and ability to edit in-line. The way it shows changes is exactly what I am used to with other tools on windows. I tried using kdiff3 and it works but I just can't get along with it's interface! The number of buttons, the tagging in the code [Merge Conflict] [No src line] that kind of thing. That is the real problem, not fossil. The tags in the merge output and how each is handled. It's horrible, and all the buttons!!! single arrow, double arrow, triple arrow... I used this command for kdiff3: fossil settings gmerge-command 'kdiff3 "%baseline" "%original" "%merge" -o "%output"' I tried the suggested meld command: fossil settings gmerge-command 'meld "%baseline" "%original" "%merge" "%output"' That doesn't work anymore :( It says it can't read the "-output" file :( I tried p4merge (64-bit linux version downloaded from www.perforce.com). I used it today at work to do a 3-way merge ;) I used this syntax: fossil settings gmerge-command 'p4merge "%baseline" "%original" "%merge" "%output"' This is it's syntax for 3-way merge. It also says it can't find the "output" file. With p4v, which we use at work, I try and do automatic resolve. That solves many problems, but I had some merge conflicts today, I notice that there are 4-windows. I ignore the middle one which is baseline - it's almost like it's not there so that is why I thought there were fewer windows. Left and right are the two head versions, one of trunk one of the branch. At the bottom is the local file the merges go into. The changes are pre-merged here. Where there is a conflict it shows the 3 changes next to each other and I choose them by clicking on the icon of the appropiate change. So for me it's the choice of merge program. Please please keep the way the gmerge command is defined, it's great and adds flexibility to specify the command-line exactly! My workflow is to do the merge, using a graphical merge tool to help me, then do a gdiff against the fossil repository then commit. So my questions are now: * What is the default/server line ending? * Could gmerge-command support additional '%' variables which can be given to merge tools which support it which can be used to name the windows in the merge tool and the title in the tool? p4merge allows naming of left/right/merge etc. Would be great if we had access to fossil change number, or even "source"/"target"/"merge" or something like that? It has -nb -nl -nr -nm so fossil using fossil gmerge-command I could put this in the command-line: e.g. -nb "%baseversion" -nl "%originalversion" * Can fossil support other merge programs and their syntax? e.g. to support p4merge as it is, or meld with it's 3 way merge? Ones where they don't take 4 parameters? Perhaps instead of %output you have %local for the local file such as AboutDialog.cpp? p4merge's bottom window with the merge result is AboutDialog.cpp instead of fossil using AboutDialog.cpp-output. * Why is there a seperate "%output" file? Why doesn't it put the output direct into the local file? * What does convert do? Convert from native (e.g. \n on linux and \r\n on windows) to... what line ending??? Thanks. _______________________________________________ fossil-users mailing list [email protected] http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users

