andrewducker: (Default)
[personal profile] andrewducker
My current project has a CVS repository, and once a day it's my job to go through all of the changes and make sure nobody has done anything unusually dumb.

At the moment we generate a report with all of the changes, along with file names, committer, comment, etc.  But then I have to go through each file by hand to see what the changes were, which is dull and frustrating.

Is there anything out there that would allow me to do it all in one place?

Current tooling - Visual Studio 2005.  I have Eclipse as well though.

Comments along the lines of "CVS suxors!" are not helpful.  Corporate Standards are slow to change, and this one will at some point.  Meanwhile I have a job to do...

Date: 2010-01-27 12:46 pm (UTC)
From: [identity profile] call-waiting.livejournal.com
Surely you just want to do
cvs diff -D2010-01-26
to see everything that's changed since yesterday?

Date: 2010-01-27 01:27 pm (UTC)
From: [identity profile] call-waiting.livejournal.com
You can have the diffs in context format by adding '-C', which I usually find is much more useful.

Date: 2010-01-27 02:37 pm (UTC)
From: [identity profile] poisonduk.livejournal.com
Have you asked ISAM SCM what tools are available? They're very helpful people and may provide an already existing in-house solution.

AND CVS is CRAP, AWFUL, DREADFUL and should never have been allowed to exist

Date: 2010-01-27 02:38 pm (UTC)
From: [identity profile] poisonduk.livejournal.com
(Sorry I have my unavailable flag on in IM but I'm at home working on crappy admin type work which means I have to be wholly unavailable to the world in general.

Date: 2010-01-27 03:27 pm (UTC)
From: [identity profile] call-waiting.livejournal.com
Well, if you already have a favourite comparison tool that works with the local filesystem, you could maintain two checkouts, one from a day ago and one from today, and compare them with that? :)

Date: 2010-01-27 07:13 pm (UTC)
From: [identity profile] miramon.livejournal.com
All version control systems suck to some degree or other. If anyone ever suggests you replace it with PVCS, leave the building at high velocity, screaming.

Date: 2010-01-27 07:30 pm (UTC)
zz: (Default)
From: [personal profile] zz
all i know about CVS is that it exists, is bad, and that TortoiseCVS exists.

Date: 2010-01-27 08:29 pm (UTC)
From: [identity profile] likeneontubing.livejournal.com
i thought you said CVs as in resumes, and was all excited.

Date: 2010-01-27 11:21 pm (UTC)
From: [identity profile] momentsmusicaux.livejournal.com
Is that the same as unified diffs? Those are the best.

Date: 2010-01-27 11:21 pm (UTC)

Date: 2010-01-27 11:22 pm (UTC)

Date: 2010-01-28 07:54 am (UTC)
From: [identity profile] momentsmusicaux.livejournal.com
Yup; I wrote a thing with Perl and Tk I think ages ago. This was on Windows.

On something like Gnome there are bindings too.

I figured you were on the command line and wanted text output though... I'm not entirely clear on what you want, but it sounds like parsing the log output from CVS to see which files have actually been touched is part of it.

Date: 2010-01-28 08:02 am (UTC)

Date: 2010-01-28 09:15 am (UTC)
From: [identity profile] call-waiting.livejournal.com
Almost but not quite the same. Where a change can't be shown as simple additions or deletions, context diff format shows both versions with changed lines highlighted with '!'. Makes it slightly easier to see what's going on with complex change sets.

Date: 2010-01-28 09:24 am (UTC)
From: [identity profile] call-waiting.livejournal.com
We use CVSSpam (and a significant amount of perl around and about it) so folks can register for HTML mails whenever someone commits something to CVS. These include the tree of changed files with links to the (nicely coloured) diffs.

We also use it to generate HTML mails from CVS diffs for pre-commit code reviews. Just because we're like that around here.

Date: 2010-01-28 01:22 pm (UTC)
From: (Anonymous)
Don't you have some kind of Continuous Integration build - CruiseControl.Net or similar?? If not this will do the job, and more.

Date: 2010-01-28 08:33 pm (UTC)
From: [identity profile] theweaselking.livejournal.com
ViewVC is a simple CGI script. Plunk it down on a webserver that has access to the CVS repo, give it the location of the CVS repo, and you can do diffs in a simple and graphical way.

Once you've got ViewVC running, modify your report to change the file name to be a ViewVC link to the file with a diff to the previous version. For bonus points, add a button at the bottom to cause Firefox to open a single window with each diff in a different tab.

For bonus bonus points: Hook CVS into your bug tracking, and have it drop a comment into the bug that the commit message lists, which includes the list of files and the links to the diffs.

Date: 2010-01-28 09:00 pm (UTC)
From: [identity profile] theweaselking.livejournal.com
ViewCVS is what ViewVC used to be called. The new version is the same thing, just named differently - and, really, most people rename it ViewCVS for legacy reasons.

But yes. Quite neat, if you do the integration. Useful, even without the integration.

April 2026

S M T W T F S
    1 2 34
567 8 9 10 11
12131415161718
19202122232425
2627282930  

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Apr. 12th, 2026 10:15 pm
Powered by Dreamwidth Studios