Third-party libs in version control

M

Marcus

Good evening,

I'm new to developing large subversion-controlled projects. This one
will involve a few third-party libraries like wxWidgets, and perhaps
Twisted. Ordinarily you could just install these into your system and
they'll end up globally (in Python's Lib/site-packages directory). Is it
proper practice to instead install the libraries into a separate [vendor
branch] of the repository and reference that instead?

I've read about vendor branches, and I'm under the impression that
you're supposed to do that /instead/ of installing the libraries
globally into Python's subdirectories... is that correct?

Marcus
 
M

Marc 'BlackJack' Rintsch

I'm new to developing large subversion-controlled projects. This one
will involve a few third-party libraries like wxWidgets, and perhaps
Twisted. Ordinarily you could just install these into your system and
they'll end up globally (in Python's Lib/site-packages directory). Is it
proper practice to instead install the libraries into a separate [vendor
branch] of the repository and reference that instead?

I've read about vendor branches, and I'm under the impression that
you're supposed to do that /instead/ of installing the libraries
globally into Python's subdirectories... is that correct?

I think that's not the "normal" way. Vendor branches are useful if you
want *exactly* one version if a third party product. That might be
important if their API is a rapidly moving target or newer versions
changed much, or have critical bugs. Another use case is modifying the
external sources. Then it's of course a good idea to put the vanilla
sources under version control to be able to merge updates from the vendor
into the modified branch.

Do you ship all that third party stuff with your project?

Last but not least I'm using subversion nearly exclusively for source
code IOW not for compiled code. Checking in an installed wxWidgets or
wxPython alongside some source code "feels" a little strange to me. Pure
Python code might be okay but if there are external dependencies one can't
checkout on another computer and expect everything to work there.

Ciao,
Marc 'BlackJack' Rintsch
 
B

bruno.desthuilliers

Good evening,

I'm new to developing large subversion-controlled projects. This one
will involve a few third-party libraries like wxWidgets, and perhaps
Twisted. Ordinarily you could just install these into your system and
they'll end up globally (in Python's Lib/site-packages directory). Is it
proper practice to instead install the libraries into a separate [vendor
branch] of the repository and reference that instead?

I've read about vendor branches, and I'm under the impression that
you're supposed to do that /instead/ of installing the libraries
globally into Python's subdirectories... is that correct?

As Mark already mentionned, svn's 'vendor branches' are only
meaningfull when you do have to maintain a customized version of the
third-party libs. For 'ordinary' dependencies, you can use eggs or
just explicitly states the dependencies in the README or INSTALL
doc.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,780
Messages
2,569,608
Members
45,241
Latest member
Lisa1997

Latest Threads

Top