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.

Good point.

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 with CVS" (https://ftp.gnu.org/non-gnu/cvs/source/stable/1.11.22/cederqvist-1.11.22.pdf), 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.

        Johnny

Reply via email to