Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Source Control - Open Source Projects

I have run into a common dilemma.

Many times, our company relies on using open source libraries to get things done, but occasionally we have to modify them to get it to run on different platforms, fix bugs, etc.

We use a combination of subversion: TortoiseSVN, and AnkhSVN.

Is there a way for the following scenario to work with SVN:

  • Devs adds the source code from an open source project to our subversion (usually via export, depending on what source control they use)
  • Devs make several changes to the open source code
  • Open source project creator makes several improvements and bug fixes of their own
  • How do we merge the changes from the open source project to our subversion?

If SVN can't do this, is there a better source control option for us? We would prefer one with Visual Studio integration if possible.

like image 241
jonathanpeppers Avatar asked Apr 22 '11 13:04

jonathanpeppers


1 Answers

Subversion can do this of course. This kind of stuff was happening before distributed VCSs existed. See Vendor Branches section from Chapter 4. Branching and Merging in Subversion book.

Quote:

Managing vendor branches generally works like this: first, you create a top-level directory (such as /vendor) to hold the vendor branches. Then you import the third-party code into a subdirectory of that top-level directory. You then copy that subdirectory into your main development branch (e.g., /trunk) at the appropriate location. You always make your local changes in the main development branch. With each new release of the code you are tracking, you bring it into the vendor branch and merge the changes into /trunk, resolving whatever conflicts occur between your local changes and the upstream changes.

like image 70
Peter Štibraný Avatar answered Nov 14 '22 22:11

Peter Štibraný