info-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: commit/rollback a set of files ?


From: Paul Sander
Subject: Re: commit/rollback a set of files ?
Date: Tue, 18 Oct 2005 10:20:21 -0700

I've implemented release integration procedures and tools that had a rollback capability that we found useful in automated builds. It wasn't based on tags, and it didn't undo work by merging away changes. Instead it reverted the build area to earlier versions and reported this activity to the appropriate parties. It was done in such a way that overlapping changes were removed together, and the degenerate case (all changes removed) left us with a build that was identical to the prior good one. This was remarkably successful because we could guarantee that every integration compiled successfully and passed a sanity check, and we knew what new changes were included and those that were not.

Other features of the system that I implemented included enforcement of the notion that progress was generally forward, as well as a tight integration with the defect tracking system so that we knew what files implemented what change (and conversely what changes were implemented by what versions of what files). The defect tracking system also tracked the status of each change from developer handoff to integration build to QA testing to baseline availability.

Detailed descriptions of this method appear in the archives of this forum if you search for "submit/assemble".

On Oct 18, 2005, at 5:07 AM, Russ Sherk wrote:

On 18 Oct 2005 00:47:04 -0700, azl84 <address@hidden> wrote:

First you need bugzilla wich we don't use, second it only works as a
cgi not as a cmd line client like cvs.

Thanks for the link, however if anyone else knows another tool that
would be more "SCM oriented", I'd realy be glad to know about it.


Currently the only option is to tag your changes before committing.  This will allow you to roll-back via the installed tag.  To do this effieciently, you'd have to write a script that either did a diff or stat of the working dir and scanned the output for changed/added/removed files and applied the tag only to these files.

CVS v 1.12.xx has new functionality for commit-id's but it is a new feature.  And from what has been said in previous threads in this forrum, it is an incomplete feature.

BTW, why is roll-back such an important feature for you?  In my experience rollbacks are few and far between if code is carefully tested and dangerous code is tested on branches.  Anyhow, I have never missed the rollback feature.
--
Paul Sander       | "To do two things at once is to do neither"
address@hidden | Publilius Syrus, Roman philosopher, 100 B.C.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]