info-cvs
[Top][All Lists]
Advanced

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

Re: Can the -D option be used on a branch?


From: Mark D. Baushke
Subject: Re: Can the -D option be used on a branch?
Date: Mon, 16 Apr 2001 23:59:54 -0700

> From: address@hidden (Larry Jones)
> Date: Thu, 12 Apr 2001 19:24:27 -0400 (EDT)
> 
> Russ Tremain writes:
> > 
> > you can use -D with -r <tag>, but sometimes it is confusing.
> > if <tag> is a simple tag, and not a branch tag, you might
> > not get what you expect.
> 
> If you specify both a specific revision and a specific date, I don't see
> how you would know *what* to expect.

Mixing -D with -r <tag> is an intersection operation.

If -r <tag> -D date specifies a specific version and specific date,
then you should expect the intersection of the specific revision and
the specific date. That is, any file in the module for which the
commit time of the specific version tag matches the specified date
should be checked out. This is probably not very useful unless you
specify the time down to the second...

This is the same kind of intersection operation you expect when you
ask for a specific time on a specific branch.

That is, what was the last committed version that was visible on the
branch at the specified time? If a given branch does not happen to
have any revisions on the branch before the specified time, no version
of that particular file is visible (as when adding new files to a
branch after the branch was originally created). If the branch
contains a version with the dead state as the last commit before the
specific time, then the file is also not to be checked out.

For the purpose of an intersection operation, a specific version is
just as if a branch happened to have a commit happen exactly one
second after the first commit to the branch. So, the specific version
may be considered as a degenerate case of a branch.

There are likely to be very few instances where this particular
intersection would be useful:

A) given that all commits during a single cvs commit operation have
the same commit time, it would be possible to determine all of the
commits that were atomic across the given repository at that specific
time which were also tagged with a particular version tag and checkout
just those files.

B) given a 'cvs import -d' that preserved date and time, it might be
possible to examine all of the files that were modified in the
original sources at a particular time by intersection of the import
tag with the specific time indication.

        Enjoy!
        -- Mark



reply via email to

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