Hi Chris,

Chris Bennett wrote on Fri, Mar 13, 2020 at 04:47:09PM -0400:

> I am running -current.
> 
> On one server, src was empty. So I did a cvs checkout.
> On another server, src had older files. So I did a cvs up.
> 
> Afterwards, inttypes.h had one size on the checkout, another size on the
> updated src.
> I rm'ed the updated src and did a checkout. Now both files are the same
> size and date.
> 
> What has happened here? I thought that cvs up was the correct procedure.
> 
> cvs -qd$CVSROOT checkout -P src inside of /usr or
> cvs -qd$CVSROOT up -Pd inside of /usr/src.
> 
> Updating only changed some of the file dates

That sounds as if you had sticky tags at least in parts of one of
the trees, but you provide no details, so there is no way to be
sure what exactly happened.
 
> and did not work correctly.

You provide no evidence whatsoever that there might be a bug,
and my guess is that it is unlikely you encountered one.

It is among the basic ideas of CVS that running "cvs up" across a
whole tree doesn't necessarily update all the subdirectories from
the same server, nor from the same repository, nor to the same
branch.  In addition, "cvs up" commands you ran in the past may
have banned some files from being updated at all in the future.  In
case it isn't obvious, cvs(1) is very different from git(1) in these
respects.  With CVS, you can configure individual subdirectories
and even individual files to behave in custom ways, which git(1)
is incapable of.

It all depends on what the files in the various directories with
the name "CVS" contained, for example the various files called "Root",
"Repository", "Entries", and "Tag".

Because there are so many different scenarios in which what you
describe is the expected behaviour, i can't provide better advice
than this: use the command "info cvs" to learn how cvs(1) is supposed
to work.

In particular, make sure you become familiar with the -A, -C, and -r
options of "cvs up", but i'm not saying that will be sufficient to
avoid all possible surprises.  Also use "/sticky" inside "info cvs"
to look for information about sticky tags; it is mentioned at many
different places.

Yours,
  Ingo

Reply via email to