I'm using the utility to produce patch files based an some svn scripting, but we don't always want to include the whole file in the patch. Aditionally, the diff will just give a change to a single line of a multi-line command so we'd need some tweaking ... Often I look at the diff output to determine what command is required and doing this within one programme whilst everything is on the same monitor (esp if I've only 1 !) is much simpler.
It struck me that, in the merge window, the user could select "none" (or Control-0) for "include none of the input from any of the files at this point in the 'merge' result". This would resolve the current conflict or remove the unchanged lines between conflicts (depending on where your cursor is).
Alternatively, it could start with a completely empty "merge result" pane, allowign the user to gather the required output manually based on stepping through the diffs.
eg:
SVN | Working Copy
---------- | ----------
INSERT INTO | INSERT INTO
fields_on_screen | fields_on_screen
(id, fieldname, fgcolour, bgcolour) | (id, fieldname, fgcolour, bgcolour)
VALUES | VALUES
(123, 'surname', 'black', 'white' ) | (123, 'surname', 'black', 'smoke' )
|
INSERT INTO | INSERT INTO
fields_on_screen | fields_on_screen
(id, fieldname, fgcolour, bgcolour) | (id, fieldname, fgcolour, bgcolour)
VALUES | VALUES
(124, 'forename', 'black', 'white' ) | (124, 'forename', 'black', 'smoke' )
There are two lines of difference, but to produce a patch based on this I would write:
UPDATE fields_on_screen
SET bgcolour = 'smoke'
WHERE id IN (123, 124);
If you could automate "let's convert these two changed inserts into a single update" - don't give it away free, you'll make oodles :-).
But if I could fire up kdiff3 from the command line with an option like "--manua-merge-content" and not have "<Conflict>" or hundreds of lines that haven't changed getting in my way, it would be even more fab than it is already.
mmm - first ever post here and there was no preview and now I can't edit it ... I've obviously messed up the formatting in what I thought was a table. Hopefully it's clearer below: