[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Info about tags
Re: Info about tags
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
> cvs status -v Makefile
> File: Makefile Status: Up-to-date
> Working revision: 188.8.131.52 Wed Oct 23 16:20:33 2002
> Repository revision: 184.108.40.206
> Sticky Tag: (none)
> Sticky Date: (none)
> Sticky Options: (none)
> Existing Tags:
> T10 (revision: 220.127.116.11)
> T9 (revision: 18.104.22.168)
> T8 (revision: 22.214.171.124)
> T7 (revision: 126.96.36.199)
> T6 (revision: 188.8.131.52)
> T5 (revision: 184.108.40.206)
> T4 (revision: 220.127.116.11)
> T3 (revision: 18.104.22.168)
> T2 (revision: 22.214.171.124)
> T2 (revision: 126.96.36.199)
> 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: 188.8.131.52)' and 'T2 (revision: 184.108.40.206)' 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: 220.127.116.11). 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 :)
and FLUFFY has began to do maintenance and is keeping it on cpan (so far looks
like he has added an ignore_tags mod)
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
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