[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: Is this possible? <More Info>
RE: Is this possible? <More Info>
Wed, 05 Dec 2001 17:21:20 -0600
Sorry Jerry and others for not being clear:
I need to tag or label a specific version of a specific file perhaps days
after other versions have been put in the repository.
At 01:46 PM 12/5/2001 -0800, Jerry Nairn wrote:
I know it's hard to believe after you sent one email and then a
clarification, but it's not at all clear what you're asking. Actually, if I
take it at face value, the question is so trivial I can't understand why you
would ask it.
> From: Don Weeks [mailto:address@hidden
> Sent: Tuesday, December 04, 2001 5:44 PM
> At 07:17 PM 12/4/2001 -0600, Don Weeks wrote:
> >Here is what I need to be able to do. (As background, I am used to
> >ClearCase and have not had much experience with CVS.) I need
> to capture
> >the filename and user name for each file committed to a
> repository so that
> >later, I can use this data to tag exactly that file version
> later. This is
Um, that's kind of what any version control system does, right? It records
when each change is committed to each file and who did it.
I need to pass this info over to another system, perhaps the problem
reporting tool or the project management tool:
PR# 321 was solved by adding foo.c version 3.2.1 and foo.h version
3.3.1. These now have the tag REL3.2 (This implies that if I checkout all
the files using tag REL3.2, I can build the entire product.)
> >how I have maintained build baselines in the past and track
> exactly which
> >files were added. I know I can script against commitinfo but
> it looks like
> >I will not get enough info on the file to go back and tag it later.
Huh? First, commitinfo is not the thing to use for this, since a change can
trigger commitinfo and not be committed. You would want to use loginfo, I
think. I'm not sure, because I don't know what you want to record that is
not recorded anyway.
I want to get the name of the individual commiting the change, and the
version of the file commited. The file version information would be used,
maybe several days later, after it was approved to go in a build. To go in
a build, the file that was approved would be labeled/tagged with the build
label and a co would be issued against files with that label. In other
words, I am using tags to create baselines for builds. These tags are
applied against individual files after said files are approved. Typically,
a group or list of files is associated with a problem report or change
request and when that change request is approved, those files associated
with it are tagged/added to the build. Good solid CM. Problem is that while
the foo.c version 3.2.1 fixes problem 321, foo.c may need to be modified
again to fix problem 333. So, after 321 is fixed and still in the approval
cycle, 333 may go to the developer for work.
In some CM systems, we have seen build systems where a developer gets
up on a chair and says, "OK, Everybody check in everything for tonights
build". There is no control here. No one knows why a change is being
committed. How do you pass the changes over to QA? A change history
generated by CVS is not necessarily clear and does not insure that other
parts of the process are completed. For instance, has the PR been passed on.
> A little more info -- What I would be doing is applying an
> rtag to files in
> the repository. Then I would checkout these files plus those from the
> previous baseline to create a new baseline. I would then
> build these files.
> These files that get rtagged would be those files approved
> for this build
> and not necessarily the latest versions checked in.
There are lots of ways to determine which files have changed since an
existing tag, and it doesn't require running anything from commitinfo or
Probably what you want to do, assuming a module named module_A and a tag
named prev_build, is something like this:
cvs -Q rdiff -s -r prev_build module_A
Weeks /V\ L I N U X
// \\ >Phear the Penguin<
address@hidden /( )\
Do You Yahoo!?
Get your free @yahoo.com address at http://mail.yahoo.com