[Top][All Lists]
[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