Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Arguments for and against including 3rd-party libraries in version control? [closed]

I've met quite a few people lately who says that 3rd party libraries doesn't belong in version control. These people haven't been able to explain to me why they shouldn't yet, so I hoped you guys could come to my rescue :)

Personally, I think that when I check the trunk of a project out, it should just work - No need to go to other sites to find libraries. More often than not, you'd end up with multiple versions of the same 3rd party lib for different developers then - and sometimes with incompatibility problems.

Is it so bad to have a libs folder up there, with "guarenteed-to-work" libraries you could reference?

like image 212
cwap Avatar asked Nov 10 '09 18:11

cwap


People also ask

Why are third party libraries important to a PHP programmer?

Generally, third-party libraries provide developers with the unique opportunity to integrate pre-tested, reusable software that saves development time and cost. This allows the developer to focus on the core features of the game that matter to players.

What is 3rd party libraries?

A third party library refers to any library where the latest version of the code is not maintained and hosted by Moodle.

Which file is used to include the third party libraries?

Third-party libraries A third-party (or “contributed”) library is a chunk of Javascript code, usually contained in a single . js file, designed to work with p5.

What are third party libraries in Android?

The third-party libraries are reusable resources that are widely employed in Android Apps. While the third-party libraries provide a variety of functions, they bring serious security and privacy problems. The third-party libraries and the host Apps run in the same process and share the same permissions.


1 Answers

In SVN, there is a pattern used to store third-party libraries called vendor branches. This same idea would work for any other SVN-like version control system. The basic idea is that you include the third-party source in its own branch and then copy that branch into your main tree so that you can easily apply new versions over your local customizations. It also cleanly keeps things separate. IMHO, it's wrong to directly include the third-party stuff in your tree, but a vendor branch strikes a nice balance.

like image 172
rmeador Avatar answered Oct 03 '22 14:10

rmeador