tags:

views:

161

answers:

5

Should i resolve myself to add third party and ajax libraries that i use in my project - tinyMCE editor for example (more than 1800 files) or fckEditor - when my project doesn't contain nearly as many files, just for the sake of compilation? or should i just find a way to add it to the build later?

+2  A: 

If the particular libraries have a public SVN repository, you can add them in as an svn:external - though I would add them in as particular known versions (on revision number or a tag/branch), rather than just the trunk.

Another alternative to that is SVN Vendor Branches, a more involved, but more power with it.

Alister Bulman
+2  A: 

I always add all project dependencies to source control. That way another developer can do a checkout (arguably a big one sometimes) and be ready to go without having to figure out what's missing and find it.

Jimmie R. Houts
+1  A: 

The best way to handle this situation is with externals. That way the third party stuff isn't part of the project but is still in source control and still gets checked out with everything else.

Here's the section out of the SVN Book: http://svnbook.red-bean.com/en/1.0/ch07s03.html

Jeremy
A: 

Manage the dependencies with Piston and link your projects to them via SVN externals. That combines complete control over external libraries (no dependency on the library's server performance) and repository tidiness (you don't end up with multiple copies of a single library scattered around the repository), while allowing you to easily switch the library's version on a by project basis.

Romulo A. Ceccon
While it can retrieve files from third-party SVN repositories, it appears to expect your own code to be using a git repository, so probably not useful in this case. Interesting looking tool though.
Evan
@Evan: I don't see where in the documentation Piston requires your code to use a git repository. Anyway my code is stored in Subversion and Piston works without problems.
Romulo A. Ceccon
A: 

As most of the others have said, you can use SVN externals to handle the third-party code makes it fairly clean. There are two ways of managing this:

  1. Link directly to the third-party repository with your external reference, optionally to a particular revision and/or tag/branch.

  2. If you are worried about long-term availability of third-party repositories, make your own repository for holding third-party code, and then use svn:externals to refer to that.

The second method has more overhead, and means you need to go get updates to the third-party code manually and apply them in your repository, which can be seen as an advantage or disadvantage.

Evan