This is help message:
    % cvs -H checkout
    Usage:
      cvs checkout [-ANPRcflnps] [-r rev | -D date] [-d dir]
        [-j rev1] [-j rev2] [-k kopt] modules...
    %

This help expresses that cvs checkout -r and -D option are exclusive.
But cvs has codes for dual-restriction at RCS_getversion() in rcs.c.

But stickness is only -r.
That is  sticky tag is set, but sticky date is not.
CVS/Entries format is the cause of this limitation.

There is another undocumentated behavior.
If execute cvs checkout -f -r REV -D DATE MODULE,
the option -f is not effective.

Should be the following?

    char *
    RCS_getversion (rcs, tag, date, force_tag_match, simple_tag)
    ...
    {
        ...
        if (tag && date)
        {
            ...
            /* Fetch the revision of branch as of date.  */
            rev = RCS_getdatebranch (rcs, date, branch);
            free (branch);
    #if 1
            if (!rev && !force_tag_match)
                rev = RCS_head (rcs);
    #endif
            return (rev);
        }
        ...
    }

--
KOIE Hidetaka <[EMAIL PROTECTED]>

Reply via email to