CVS is your friend
| From: | Jon Parise | Date: | Sat, 15 Nov 2003 18:14:18 +0000 |
| Subject: | CVS is your friend | ||
| Groups: | php.pear.dev | ||
| Request: | Send a blank email to pear-dev+get-23652@lists.php.net to get a copy of this message | ||
I've read through most of the "CVS directory structure" thread, and it
feels like the "solution" here simply involves a bit of end-user
education regarding cvs(1).
It seems like the majority of the PEAR developers check out the entire
'pear/' hierarchy out of CVS. In fact, I could go as far as to assume
that many of you are under the impression that this is the only way to
get your files. It's not.
If I just want to check out the source code for the LiveUser package,
I can just do:
$ cvs co pear/Perm_LiveUser
This will produce a 'pear/Perm_LiveUser' directory. As acknowledged
on this list, it's difficult to work in this directory structure
because it does not mirror the layout of the installed package.
Fortunately, cvs(1) allows us to specify an alternate directory name
in which the checked-out files will be placed:
$ cvs co -d LiveUser pear/Perm_LiveUser
This will produce a 'LiveUser' directory which contains the contents
of the 'pear/Perm_LiveUser' CVS module.
Unfortunately, the '-d' option does handle subdirectories (e.g. '-d
foo/bar' won't work), so you need to give it a little help if you need
to nest your checkout:
$ mkdir Category; cd Category
$ cvs co -d Package pear/Category_Package
The nice thing about this solution is that it only needs to be done
once, when the files are initially checked-out from CVS. Subsequent
operations are performed in the resulting directory just like they are
today.
I *think* this should make everyone happy.
--
Jon Parise (jon@php.net) :: The PHP Project (http://www.php.net/)