Third-party libs in version control

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Marcus

    #1

    Third-party libs in version control

    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
  • Marc 'BlackJack' Rintsch

    #2
    Re: Third-party libs in version control

    In <466b6f7f$0$702 64$c89e4b0f@new s.dwx.com>, 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.

    Ciao,
    Marc 'BlackJack' Rintsch

    Comment

    • bruno.desthuilliers@gmail.com

      #3
      Re: Third-party libs in version control

      On Jun 10, 5:26 am, Marcus <mcshutter...@d wx.comwrote:
      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.

      Comment

      Working...