You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by Joseph Vigneau <jo...@alum.wpi.edu> on 2003/11/20 18:54:22 UTC

svn copy practices.

Hey there-

I'm using Subversion for a couple of toy projects I have right now. 
These are Java web applications, so I require the Servlet API for my 
builds.  I would like to use the servlet.jar file in each project, but I 
don't want to clog my repository with multiple copies of the file.

Given the hierarchy:

/
   proj1/
     lib/
   proj2/
     lib/
   packages/
     servlet.jar

I would like to

   svn copy packages/servlet.jar proj1/lib/servlet.jar
   svn copy packages/servlet.jar proj2/lib/servlet.jar

Would this create multiple copies of that servlet.jar file?

If not, what happens if I modify packages/servlet.jar?  Would 
proj1/lib/servlet.jar and proj2/lib/servlet.jar still point to a single 
instance of the original servlet.jar file (sort of like a Unix "hard link")?

I know many people advocate keeping binaries and libraries out of their 
source control system, but it would be really nice if I can walk up to 
any machine with just Java and Ant, and "svn co $REPOS . && ant"...

I'd be interested to hear any other recommendations, too.

-joev



---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: svn copy practices.

Posted by Joseph Vigneau <jo...@alum.wpi.edu>.
Ben Collins-Sussman wrote:
> On Thu, 2003-11-20 at 13:46, Joseph Vigneau wrote:
> 
> 
>>I tried that, but it seems that svn:external only works with 
>>directories, not individual files. 
> 
> 
> Yah, sorry about that.
> 
> So why not just work around it for now?  Just put the single .jar file
> into its own directory, and include that directory as an 'external' in
> your projects.

That works, too.  Thanks for your suggestion!

-joev



---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: svn copy practices.

Posted by Ben Collins-Sussman <su...@collab.net>.
On Thu, 2003-11-20 at 13:46, Joseph Vigneau wrote:

> I tried that, but it seems that svn:external only works with 
> directories, not individual files. 

Yah, sorry about that.

So why not just work around it for now?  Just put the single .jar file
into its own directory, and include that directory as an 'external' in
your projects.



---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: svn copy practices.

Posted by Joseph Vigneau <jo...@alum.wpi.edu>.
Ben Collins-Sussman wrote:
>
>>I'd be interested to hear any other recommendations, too.
> 
> Put the jar file into a directory.  Include the directory in all your
> projects as an 'svn:external'.  Read about externals in chapter 6.

I tried that, but it seems that svn:external only works with 
directories, not individual files.  In other words, if I set 
svn:externals on proj1/lib to

   servlet.jar    {repos}/packages/servlet.jar

and svn up, I get the error

   svn: Name does not refer to a filesystem directory
   svn: Attempted to create entry in non-directory parent

and a directory named proj1/lib/servlet.jar/ is created (0.33.1).

Of course, I could set

   lib    {repos}/packages

on the proj1 directory, but I would like to put libraries into that 
packages directory that aren't required by all of the projects in my 
repository.  I was just looking for a way to save space, but I can 
definitely live with how it works now.

-joev



---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: svn copy practices.

Posted by Ben Collins-Sussman <su...@collab.net>.
On Thu, 2003-11-20 at 12:54, Joseph Vigneau wrote:

>    svn copy packages/servlet.jar proj1/lib/servlet.jar
>    svn copy packages/servlet.jar proj2/lib/servlet.jar
> 
> Would this create multiple copies of that servlet.jar file?

Yes.

> If not, what happens if I modify packages/servlet.jar?  Would 
> proj1/lib/servlet.jar and proj2/lib/servlet.jar still point to a single 
> instance of the original servlet.jar file (sort of like a Unix "hard link")?
> 

There is no user-visible 'hard link' behavior in the repository.  No
such feature exists.

> I'd be interested to hear any other recommendations, too.

Put the jar file into a directory.  Include the directory in all your
projects as an 'svn:external'.  Read about externals in chapter 6.



---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org