Home
| Calendar
| Mail Lists
| List Archives
| Desktop SIG
| Hardware Hacking SIG
Wiki | Flickr | PicasaWeb | Video | Maps & Directions | Installfests | Keysignings Linux Cafe | Meeting Notes | Linux Links | Bling | About BLU |
David Kramer wrote: >> I just read up on svn:externals. I think that will do the trick. Thanks! > > Seconded. Bringing shared components into a project is one of the most > popular uses for svn:external. > > Let me give you a piece of advice we learned the hard way in my company: > Do not have the external point to the trunk of the shared component. Make > a release/X.Y directory, and point it at that directory. As you release > new versions of the shared component, you can test each app with the new > version, and change the svn external to point to the newer version. > > If you don't do it this way, when you update the shared component for one > application, all the others will be forced to work with the new version. > If there's an API change, you're sunk. But if you create releases of the > shared component and link to them from the applications, the work for one > application can't break another. The other option (that is recommended in the documentation and is essentially equivalent in results) is to use explicit revision numbers in your externals references. This is very useful when your 'external' reference is actually some repository that you don't have administrative control over (and thus can't make branches/tags). For example, I have a project where I need a particular version of ACE, and my externals reference looks like: # r78243 is the 5.5.8 version DOC/ACE_wrappers -r 78243 svn://svn.dre.vanderbilt.edu/DOC/Middleware/trunk/ACE HTH, Matt -- This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean.
BLU is a member of BostonUserGroups | |
We also thank MIT for the use of their facilities. |