logo       

Re: Merge history graphing: msg#00006

version-control.svk.devel

Subject: Re: Merge history graphing

On Tue, Jul 05, 2005 at 22:12:36 +0100, Russ Brown wrote:
> Hello,
>
> I'm considering contributing a graphical merge history tool for svk. I'd
> appreciate ideas for features: since I've never actually used a system
> in the past where such a tool has been available, I don't know what they
> generally offer.

What makes such tool specific to svk?

There are several such tools and svk is even able to call many of them
(which is just the same as monotone does). Basically these tools take
three files, present them side by side and mark the differences. And let
the user select which variant he wants for the result.

> I can however see how such a tool could be extremely useful and powerful.

But remember, there is already a lot of them; vim (vimdiff), emacs
(ediff3 mode), kdiff, meld, tkdiff ...

> If you have any ideas/suggestions for features that you think could be
> included, please reply and I'll add them to a list of potentials.

* It should not be related to any specific version control system, svk
or other. Version control system prepares files and calls the tool.
* Load all the triplets at once and switching between them. The existing
tools are run for each of the files to merge separately. However, you
may merge a file and find, that you should have merged the previous
one differently.
* Show diffs instead of files like BitKeeper does. I don't know about
ediff3, but all the others show files, left, base and right, side by
side. Showing diffs between base and left and right could be better.
So instead of:

+-------+-------+-------+
| LEFT | BASE | RIGHT |
| | | |
+-------+-------+-------+

the BitKeeper interface shows:

+-------------------+-------------------+
| diff(BASE, LEFT) | diff(BASE, RIGHT) |
+-------------------+-------------------+
| RESULT |
+---------------------------------------+

where the diffs are unified diffs with full context and with the
changes highlighted.
* Ability to work over terminal. You may need to work on a server or
something like that and not have X.
* Actually enhancing an existing tool would be by *far* more useful,
than starting a new one. An I would suggest either vimdiff or ediff3,
since you have a full power of editor, syntax highlighting and both
console and X interfaces readily available.

> I'm not in a position to start work on it now, but I'll be collating
> suggestions and putting together a basic design until I have more time
> on my hands.

Look at what vimdiff, ediff3, tkdiff, meld and kdiff can do. And choose
which one you want to start with.

-------------------------------------------------------------------------------
Jan 'Bulb' Hudec <bulb@xxxxxx>

Attachment: signature.asc
Description: Digital signature

<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

News | FAQ | advertise