Hi,
More noob questions about svn...

1.  Is using externals a good idea?

I've been told that it's generally a bad idea, and it feels to me like a bad idea, since it obfuscates what's going on in the repo. Is it often done for professional projects?
It depends on the use-case.
There are situations where using externals are beneficial, but there are also several caveats related to externals.

One real-life example we in our company had trouble with was with a 1.6 repository where we wanted to replace externals with a real copy of the source (i.e. remove the external property and copy the real source to the folder). That lead to tree conflicts when merging/updating WCs/branches and took a lot more time than anticipated. That was especially a PITA since these externals weren't actually necessary in the first place.

You might wanna check-out the issues related to externals which might give you a rough feeling of known bugs (search for "external" in the summary and optionally limit the search to issues for 1.6.x)
http://subversion.tigris.org/issues/query.cgi

Several of the known issues with externals have been dealt with in the upcoming 1.7 release, so things will improve with the next version beyond what has already been solved in the 1.6-branch.

Another caveat of externals is that they are generally slower when doing an update, since each external has to be checked individually to verify wheter it's up-to-date in the WC.

I tend to live with a rule of thumb here:
Use externals where necessary, avoid them where possible.

Regards,
Stefan

Reply via email to