views:

67

answers:

4

I currently use SVN and have a framework that I use on all of my projects, let's say this framework has lib directory with needed files. That directory is in a 'framework' repository so I can update it on every project. My problem is that in that lib directory I want to add a project specific file that should be in project specific repository not in 'framework' repository. Is there a version control capable of doing this?

+1  A: 

Why don't you use a separate lib directory in project specific repository for project specific files?

Leo
Cause it's not just lib directory. I have a logic and template directories (it's a web project) that all projects use and share but in that directories I add project specific pages.I have an admin part that all pages use that is the same.
dfilkovi
+1  A: 

If I understand you right, you want to create "overlays" of directories. I do not think any version-control systems do that.

  • you can have more than one lib directory: one for the common stuff, one for each project

  • if you use Java and can get your head around Maven (big if...) you can have Maven manage your dependencies, rather then putting them in SVN

Thilo
+1  A: 

I am not 100% sure but I think IBM Clearcase may have that kind of capability. I have used it about 4-5 years back. It allows you to have links to files as well. So you can create links in the framework lib directory to files that belongs to projects. But Clearcase is a beast, I don't know if you can even afford it.

Pratik
+1  A: 

It sounds like you have some project-specific files, and then some files that are applicable to multiple projects, so you want to store those in the repository in a way such that you don't have to duplicate them in each project-specific directory.

The solution is to store all of these directories in parallel, and for each project, check out the particular combination fo directories that you need. The layout may not be what is needed to build the project, but that's not subversion's job -- that's your build script's job. Write a build script that composes the project-specific and project-agnostic libraries together in the desired layout.

Ether
I did just that
dfilkovi