NetBSD-Bugs archive

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

misc/40228: Docs on getting repository by rsync are incorrect



>Number:         40228
>Category:       misc
>Synopsis:       Docs on getting repository by rsync are incorrect
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    misc-bug-people
>State:          open
>Class:          doc-bug
>Submitter-Id:   net
>Arrival-Date:   Fri Dec 19 14:30:00 +0000 2008
>Originator:     Andreas Gustafsson
>Release:        www.netbsd.org as of Dec 19, 2008
>Organization:
>Environment:
N/A
Architecture: N/A
Machine: N/A
>Description:

http://www.netbsd.org/docs/current/#getrepos says the command for
getting the NetBSD repository by rsync is:

  rsync -v -a rsync://anoncvs.NetBSD.org/cvsroot/src .

Because the above rsync command lacks the --delete option, files that
are deleted in the master repository (or moved to the Attic, as is
more commonly the case) will remain in the local repository copy when
the rsync command is repeated after the change to the master
repository is made.

This in turn causes incorrect checkout results; specifically, deleted
files will appear in checkouts using the incorrectly mirrored
repository.

>How-To-Repeat:

Mirror the repository by running the documented rsync command at
regular intervals over a period of a few months.  Do a fresh checkout
from the mirrored repository and find that it fails to build because
it contains files that should have been deleted.

In the interest of completeness, I should note that when I noticed the
problem, I was using "checkout -D", specifying a date equal to the
most recent commit in the repository.  I assume that for the purpose
of this bug this is equivalent to a checkout without "-D", but I have
not actually verified this experimentally.  In any case, I would argue
that any divergence between the contents of the master repository and
the local copy should be considered a bug, whether or not this
divergence breaks all types of CVS checkouts or only some of them.

>Fix:

Change the documentation to say

   rsync -v -a --delete rsync://anoncvs.NetBSD.org/cvsroot/src .

-- 
Andreas Gustafsson, gson%gson.org@localhost



Home | Main Index | Thread Index | Old Index