Stephen Bannasch wrote:
The recent hassle with Joni in externals has shown that svn:externals are just 
not going to be usable for us. They break our ability to roll back to a 
previous release, since externals do not by default lock to a specific 
revision. They introduce fragility into the codebase since we can't depend on 
an external resource to not change. And they don't work with a number of tools, 
including some IDEs and CI servers.

So for the future, the correct ways to include an external library are (in 
order of preference):

- as a released JAR file (released as in Maven builds can work too)
- as an unreleased/snapshot JAR file (we need to lock external dependencies to 
a specific built version of a library)
- copy the library in wholesale (only a temporary solution until a binary can 
replace it)

Did you consider using Piston for situations where you need the actual source 
code from an external dependency in your build environment?

  http://piston.rubyforge.org/

I normally use it instead of svn:externals -- the result is similar but using 
Piston I check-in to my repository the complete external code (reverts work) 
and I can also lock my copy of the external source code to a particular 
revision in the external repository.

The example on the first page of the rubyforge site shows use with rails but it 
can be used generally also.

Could be useful, thanks for the link!

- Charlie

---------------------------------------------------------------------
To unsubscribe from this list please visit:

   http://xircles.codehaus.org/manage_email

Reply via email to