Re: CVS is your friend
| From: | Tobias Schlitt | Date: | Sat, 15 Nov 2003 18:31:25 +0000 |
| Subject: | Re: CVS is your friend | ||
| References: | 1 | Groups: | php.pear.dev |
| Request: | Send a blank email to pear-dev+get-23654@lists.php.net to get a copy of this message | ||
On Sat, 2003-11-15 at 19:14, Jon Parise wrote:
> 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).
If you think so...
> 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.
Sorry, Jon, but it doesn't. It does not solve the main problem, I had
with eg. "ln -s". If you work on packages which depend on each other and
reside in the same category your solution is broken.
E.g.:
Image_Tools,
Image_Text,
Image_Graph
Image_Graph depends on Image_Text which depends on Image_Tools, which
all reside in category Image.
You'd have to check out 3 modules into the same basedirectory.
Regards,
Toby
--
http://www.schlitt.info
http://www.schlitt.info/applications/blog