Third-party libs in version control

Marc 'BlackJack' Rintsch bj_666 at
Sun Jun 10 07:57:13 CEST 2007

In <466b6f7f$0$70264$c89e4b0f at>, Marcus wrote:

> 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.

	Marc 'BlackJack' Rintsch

More information about the Python-list mailing list