Use a different diff command with CVS?
Asked Answered
A

4

8

Is it possible to use a different diff program with CVS? I'd like to use something like meld to give me a side-by-side graphical view of the repository and my changes. It's out of my control to use a different CMS. What would be ideal is some undocumented command line argument that would work like this:

cvs diff -prog /usr/bin/meld foo.cc

This would give me a diff of my checked out, modified version of foo.cc with the repository version, but using the diff program meld.

I realize an undocumented command line argument is unlikely, so if you have to hack it together, that works for me.

Aridatha answered 10/3, 2009 at 18:59 Comment(0)
A
1

I finally found the cvsmenu plugin for Vim. It works like a charm for me.

Aridatha answered 19/1, 2011 at 20:25 Comment(0)
Z
2

I use tkcvs and tkdiff (not the lastest version either)

the cool thing is that tkcvs also supports subversion.

tkdiff works on the command line and takes cvs tags...

  • tkdiff -rfoo_v5_0 -rfoo_v6_5 silly.c (compare two different versions than the one in your local directory)
  • tkdiff spring.h (compare my local version to the repository)
  • tkdiff -r1.6 happy.c (compare my local version to a specific repository version)
Zennie answered 20/3, 2009 at 11:33 Comment(1)
Thanks for pointing that out. Is there any documentation available for this?Aridatha
M
1

If you use WinCVS, you can setup a Diff application such as WinMerge in the preferences.

In WinCVS preferences, tab WinCVS, "External diff program"

Meter answered 10/3, 2009 at 19:3 Comment(1)
Useful for those on Windows, but I'm using Linux.Aridatha
A
1

I finally found the cvsmenu plugin for Vim. It works like a charm for me.

Aridatha answered 19/1, 2011 at 20:25 Comment(0)
C
0

Meld supports this natively. See "Working Copy" screenshot from meld.sourceforge.net

Chateau answered 10/3, 2009 at 22:31 Comment(3)
Yes, but it's horribly documented. I can't find where I specify where the repository lives. My current method is to type the long path beyond $CVSROOT to the directory that matches my current working directory.Aridatha
meld foo.cc $CVSROOT/dir1/dir2/dir3/foo.cc,vAridatha
So how do you automate this, so that you just execute whatever foo.cc and it knowns where to look for the unmodified version?Winton

© 2022 - 2024 — McMap. All rights reserved.