2009/12/11 ๏̯͡๏ Jasvir Nagra <[email protected]>:
> This sounds good to me provided we use an explicit version for all externals
> we use.  Presumably we don't do this for all third_party code - only those
> that we don't modify and that are available via svn.

Yes.  Explicit versions for all.

> On Thu, Dec 10, 2009 at 12:41 PM, Mike Samuel <[email protected]> wrote:
>>
>> Instead of checking a large part of large libraries like appengine and
>> webdriver into third_party, can we use svn:externals ?
>>
>> Note specifically the third-party/skins/toolkit example below with a
>> revision number form http://svnbook.red-bean.com/en/1.0/ch07s03.html :
>>
>> It can be set on any versioned directory, and its value is a
>> multi-line table of subdirectories (relative to the versioned
>> directory on which the property is set) and fully qualified, absolute
>> Subversion repository URLs.

>> $ svn propget svn:externals calc
>> third-party/sounds             http://sounds.red-bean.com/repos
>> third-party/skins
>>  http://skins.red-bean.com/repositories/skinproj
>> third-party/skins/toolkit -r21 http://svn.red-bean.com/repos/skin-maker
>> The convenience of the svn:externals property is that once it is set
>> on a versioned directory, everyone who checks out a working copy with
>> that directory also gets the benefit of the externals definition. In
>> other words, once one person has made the effort to define those
>> nested working copy checkouts, no one else has to bother—Subversion
>> will, upon checkout of the original working copy, also checkout the
>> external working copies.
>
> This particular benefit isn't so much of a win in our case right?  The only
> really useful checkout is /trunk which already contains third_party.

Yeah.  The things that make upgrading hard are:
  (1) keep track of where it came from
  (2) tracking down the license and README
  (3) putting all the jars in the right place
  (4) wiring the jars into the classpath in build.xml

svn:externals is much better about 1, pretty good about 2, may help
with 3 for some projects, and not for others, and does nothing for 4.

Reply via email to