[Top][All Lists]

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

Re: How to find the changes related to a check in?

From: Russ Sherk
Subject: Re: How to find the changes related to a check in?
Date: Mon, 31 Oct 2005 22:06:22 -0500

On 31 Oct 2005 18:26:00 -0800, address@hidden <address@hidden> wrote:

Is there a way to do the following:

At release_1_0, three users check out the source codes, and make
changes on them. They all checked in their changes. Is there a easy way
to find who has changed what after some time later?

We currently first:

Create Branch and Check-in:

      $ cvs tag -b SCRxxx_add_new_feature file1.c file2.c
      $ cvs commit -m"add new feature because of buyer request" \
        -r SCRxxx_add_new_feature file1.c file2.c

then at code release time (maybe every two weeks):

a special person will merger these branch changes into the trunk.

We do this is because we need to track the changes related to a special
problem (SCR). But the branch change merge is not a easy job. If there
are 100 branch changes, you need to merge 100 times.

Is there a easy way to track the changes?

If you mean  "Is there an easy way to track the changes without branching and merging?", then yes.  It may not fit your requirements but you can try this:

- check out code
- apply tag SCRxxx_add_new_feature_BEFORE_CHANGE to unmodified code
- modify code
- check in changes
- apply tag SCRxxx_add_new_feature_AFTER_CHANGES to moified code
(basically it is the same as your method without the branch)

This may be adaquate for tracking small changes (like minor fixes).  Large changes (like adding features) should probably be done via the branch-merge method.  You'll have to judge the 'danger level' of each change and pick the method accordingly.  Oh and if you do do a branch and merge, remember to apply a tag to the destination branch both before and after the merge.

Also, you should note that cvs tracks all changes.  The only reason for the tags is so that it is easy to select a set of changes.  So in your case, you can enter the tag names in your SCR (problem report) logs so you can easily reference them later.

There are several ways to view the history. cvs history, cvs log, cvs annotate, cvs diff.  They all give you different information.  They can display information about changes to a file or files that can be limited to a range.  To limit the 'view' to your changes with regards to each SCR or problem report is easy if you have the BEFORE and AFTER tags.
cvs history -r BEFORE -r AFTER
cvs log -r BEFORE -r AFTER
cvs diff -r BEFORE -r AFTER
cvs annotate -rAFTER (this will show who did what on a line per line basis)

Sorry.  I do tend to go on and on sometimes.

Hope this helps.




Info-cvs mailing list

reply via email to

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