Version control with file level control
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?
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.
Why don't you use a separate lib directory in project specific repository for project specific files?
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
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.
精彩评论