info-cvs
[Top][All Lists]
Advanced

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

Re: Sometimes not everything is tagged


From: Spiro Trikaliotis
Subject: Re: Sometimes not everything is tagged
Date: Wed, 21 Mar 2007 11:35:34 +0100
User-agent: Mutt/1.5.9i

Hello again Hans,

* On Wed, Mar 21, 2007 at 03:20:17AM -0700 Hans Schwaebli wrote:

> I think I used rtag before but it was not applicable for our usage if
> I remember it correctly.
>
> Bear in mind that while I tag, coworkers might commit files to the
> same repository. The files which they commit must not be tagged. I
> thing "rtag" tags them, while "tag" doesn't.

This is correct.

I should have been more specific. I use the following approach:

1. "cvs rtag XXX"  the repository to create the tag

2. Run "cvs diff XXX" in the sandbox. This way, I can see
   a. if my sandbox is not complete,
   b. if someone else checked in something in between.

If the tag was applied to the right revisions (2b), I do not do
anything.

If I find out that someone checked in something in-between (2b), but my
sandbox is complete (2a), I use "cvs tag -D XXX" from there to delete
the tag, and re-tag it with "cvs tag XXX".

If my sandbox was not complete (2a), I complete it (for example, by
checking out the & - module), and do the same as above.


I am sorry I was not precise here.


> In a build system you check out files from CVS and then run the build.
> If it is successful, you tag it. But only the files which have been
> checked out must to be tagged. If coworkers commit files while the
> building runs, these files must not be tagged by the build process.
> See what I mean?

I disagree here. When I want to automatically build something, I do it
the opposite way:

1. cvs (r)tag XXX
2. check out exactly the tag XXX
3. build that.
4. if it succeeds, I am done
5. if it does not succeed, I do something against this, i.e.
   a. delete the tag
   b. note somewhere (in a file) that the tag is broken

The exact process depends upon the requirements.

You might also use the "intermediate" tag XXX to tag the sandbox with
"cvs rtag". If the compile succeeds, you might want to create a tag
"succeeded" like this: "cvs rtag -r XXX succeeded-XXX".


> Is rtag dangerous for us (continuous builds on a separate build pc)
> while tag isn't?

As I told above, you can circumvent the "dangers" of rtag in many cases.


> By the way, the things you mentioned do not happen in the local
> workspace. It is updated by the command: update -C -d -P -S -f -R -r
> HEAD MODULENAME

If you have any & - module, it will be removed with "-d -P".

Are you sure you are performing this from the root of the sandbox, not
from a sub-directory? This is a common mistake here.

> Besides the update command, only the tag command is run on this
> workspace for the build process. It is reserved just for building,
> nothing else.

Best regards,
   Spiro.

-- 
Spiro R. Trikaliotis                              http://opencbm.sf.net/
http://www.trikaliotis.net/                     http://www.viceteam.org/




reply via email to

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