Hmmmm. I should have qualified my question: Are such tools widely
available on all of the platforms on which users are likely
to run CVS?
I imagine so, I know Ive used similar tools to WinMerge on Linux,
Solaris and Mac OS X. On Solaris and Linux they tend to be Java based.
If the answer is "yes" then there might be an argument to reopen the
topic of representing file types in the repository, and applying the
proper merge tools for the types of data.
Yes we've experimented with storing mime types in CVSNT repositories,
and I believe that EVSCM (previously CVSNT 3.x) has taken that further.
Setting of an 'external' app to perform the merge is a very complex
to mention messy) proposition, better handled by a GUI than by CVS
itself I think.
I had a long threaded discussion with the WinMerge developers some time
ago and they kept wanting us to write a CVS plugin for WinMerge and I
couldn't see the point. Either I use 'cvs up -j' to have CVSNT do the
merge for me, or I use TortoiseCVS to bring up a side by side view of
two versions and do the merge manually.
The WinMerge developers had been using CVS as their repository (on
sourceforge) for years and years and didn't even know that you could do
an automatic merge 'cvs up -j', and (perhaps understandably) had/have a
merge tool centric mindset.
They wanted to be able to pull up two versions from within the merge
tool and merge and commit. They already have plugins for most SCM
(including clearcase) but not CVS.
This is a long winded way of saying that if people have complex merge
tools then I think it is unlikely they want CVS to call that merge tool
during 'cvs up -j' but instead they'd initiate things from the merge
This creates a (small) problem for CVSNT where it doesn't for CVS.
CVSNT creates mergepoints (to track when a merge has occurred) when you
do an automatic merge 'cvs up -j', however if your merge is initiated
an external tool like WinMerge or TortoiseCVS calling WinMerge in
side-by-side mode then the merge isn't tracked. At the moment it
means the information about the merge is lost.
Feasibility of this was demonstrated in the second half of September,
2001 but was largely ignored.
Can't remember it - do you have a link to the thread?