On 2016-10-13 11:51, Roy Marples wrote:
On 13/10/2016 10:07, Johnny Billquist wrote:
CVS do not explicitly manage directories. It's not a bug, but the way
CVS works. If you do an update, you need to give -d for CVS to create
new directories needed. But I would assume everyone here knows this.
Assumption is the mother of all evils.
I for one did not know this and my recent struggles with cvs shows just
how poor the available documentation and help is.
I assumed that anyone involved in the deep end of NetBSD would know CVS,
as CVS have been around for more than 20 years, and has been the
revision control system used by NetBSD the whole time NetBSD have
existed. But yes, I guess I should not make that assumption.
That said, doing a "cvs --help update" will also tell you the -d switch.
And I would have hoped people knew, and had read "Version management
which is a good document to read, and not too heavy.
And while I'm on a roll I might as well promote -P as well. I think that
unless you know what you are doing, -d and -P is probably switches you
always want to apply when you do cvs update.
And to repeat what I said before, cvs do not actually keep track of
directories. cvs only keep track of files. However, files have paths,
and in Unix, this means that those directories must exist for cvs to be
able to update the files. Adding a file implicitly then means that any
intermediate directories will also come into existence. And if you
delete all files in a directory, cvs normally leaves an empty directory
around, which is why -P might be useful, as it removes any empty
directories left around after an update.