info-cvs
[Top][All Lists]
Advanced

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

Re: Info about tags


From: Todd Denniston
Subject: Re: Info about tags
Date: Thu, 24 Oct 2002 09:10:30 -0500

Nick Patavalis wrote:
> 
> On Thu, Oct 24, 2002 at 08:15:30AM -0400, James Hughes wrote:
> >
> >
> > Nick Patavalis wrote:
> > >  What tags exist, listed in chronological order?
> > >
> > >  What are the names of the tags corresponding to vendor-branch
> > >  imports, in chronological order?
> > >
> > >  What tags exist in a specific branch?
> >
> > cvs status -v will provide much (all?) of the above.
> 
> No it won't! I have to know to *which* file to run "cvs status" in
> order to get the info I want. And depending on the tag I'm interested
> in, it might not be sufficient to do "cvs status" on one file alone!
> 
> Take for instance this very real example (my source-tree is a
> linux-kernel):
> 
>   cvs status -v Makefile
> 
> ===================================================================
> File: Makefile          Status: Up-to-date
> 
>    Working revision:    1.1.1.2 Wed Oct 23 16:20:33 2002
>    Repository revision: 1.1.1.2 
> /home/npat/new_kernel/cvsroot/arm-linux/Makefile,v
>    Sticky Tag:          (none)
>    Sticky Date:         (none)
>    Sticky Options:      (none)
> 
>    Existing Tags:
>         T10     (revision: 1.1.1.2)
>         T9      (revision: 1.1.1.2)
>         T8      (revision: 1.1.1.2)
>         T7      (revision: 1.1.1.2)
>         T6      (revision: 1.1.1.2)
>         T5      (revision: 1.1.1.2)
>         T4      (revision: 1.1.1.2)
>         T3      (revision: 1.1.1.2)
>         T2      (revision: 1.1.1.2)
>         T2      (revision: 1.1.1.1)
>         T1      (branch: 1.1.1)
> 
> and try to answer:
> 
>   which tag represents the most recent vendor-branch import?
> 

easy follow the magic vendor branch 1.1.1.x, T10 is probably the tag that
represents the most recent vendor-branch import.
now the 'T2      (revision: 1.1.1.2)' and 'T2      (revision: 1.1.1.1)' looks
funny, did not think you could apply the same tag to two revisions, but the
last import in which the file _changed_ was T2 (revision: 1.1.1.2).  A file
with a richer import & change history would have made this exercise more fun.

OK, wait a second...I see why you chose this file...I can not be SURE that the
tag was applied during an import, I only assumed it was because it followed the
form of the ones used for import, and I believe than any sane (or one who
wanted to stay that way) person would use a different form of tag for their own
work than they did for imports. I would need at least one more set of history
to figure it out for sure. You got me.

there are however tools that can help. broken record, Yep that's right I am
about to mention cvs2cl.pl again. (can't help it, I like it :)
http://www.red-bean.com/cvs2cl/
and FLUFFY has began to do maintenance and is keeping it on cpan (so far looks
like he has added an ignore_tags mod) 
http://search.cpan.org/author/FLUFFY/CVSUtils-1.00/

If you run 'cvs2cl.pl -r -t -b' in your sandbox and look for the tags, found
with above cvs status, you will find to which files (and when iff at least one
file changed) a tag was applied. and if all the files tagged at that time have
the import 'magic' revision scheme, the tag is most likely an import one. Now I
know why I have a file that gets updated and tagged by the script I hand apply
tags with, it keeps me sanER, I know which are mine and which are vendor/other
people.

branch stuff seems a little tougher and as I don't have other than the vendor
branch to check I can't test to give you any pointers (other than figure out
what the ''magic'' revision stamp looks like).

It might be posible to use the XML output to have a machine parse it out.

-- 
I'd crawl over an acre of 'Visual This++' and 'Integrated Development
That' to get to gcc, Emacs, and gdb.  Thank you.
        -- Vance Petree, Virginia Power




reply via email to

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