[Top][All Lists]

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

Re: [Gnu-arch-users] CVS gateway using cscvs -- tags and branches?

From: Charles Duffy
Subject: Re: [Gnu-arch-users] CVS gateway using cscvs -- tags and branches?
Date: Wed, 25 Aug 2004 11:41:51 -0500

On Tue, 2004-08-24 at 22:15, Martin Langhoff wrote:
> On Tue, 24 Aug 2004 10:37:45 -0500, Charles Duffy <address@hidden> wrote:
> > CSCVS tries to construct a mapping of tag names to changeset revisions.
> > It doesn't try hard enough, and creates tags on every branch (not only
> > the branches they make sense for), so you need to know what branch a tag
> > was created for to get output that makes sense.
> > 
> > This can be accessed via "cscvs cache -B", or by directly using sqlite
> > to read the database cscvs constructs at CVS/Catalog.sqlite.
> Is that the information that I see when I call cscvs log -PBRANCH ? My
> plan was to do some lightweight (and not strictly correct) parsing of
> that output. Now I am looking at the DB structure.

No, "cscvs cache -B" and "cscvs log -PBRANCH" provide different
information -- the former shows a list of which tags map to which
changesets, and the latter shows the changesets on a given branch (and
also happens to mention which tag exists where). As I mentioned before,
it pretends that all tags exist on all branches; using cscvs's estimate
for where a tag exists on a branch where it wasn't created results in
Bad Things Happening.

Yes, accessing the DB directly is probably the Right Thing to do.

> It seems that in cscvs's simplified view, a tag maps to a changeset.
> That is good enough for me. The question, it turns to be, is whether
> Arch gives me a means to give a symbolic name to a revision.

Simplified view? Since a (whole-tree) tag maps (in theory, if not always
in practice) to a given consistant repository state, and cscvs's
changesets also can be used to construct a series of consistant
repository states, each tag should point to a consistant repository
state which can also be reached by applying all changesets up to that

Of course, that's theory, not practice -- CVS tag operations are
non-atomic, so there's no guaranteeing that they really *do* map to a
consistant repository state -- but it's that theory that cscvs's
database structure is based on.

> > Finally, note that Robert Collins is working on a new and improved CSCVS
> > that should be vastly better than preceding versions in terms of, among
> > other things, accuracy of output. Using his version would be a Good
> > Thing.
> What is the official source for this version? The wiki points me to
> which was unavailable the last few days
> (available now, though).

Last I knew, Robert's new-and-improved branch was not yet publicly
available. You'd have to ask him for more details, though.

reply via email to

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