Managing common components with Fossil CVS

Posted by Larry Lustig on Stack Overflow See other posts from Stack Overflow or by Larry Lustig
Published on 2010-04-28T17:08:19Z Indexed on 2010/04/28 17:13 UTC
Read the original article Hit count: 437

Filed under:
|
|
|

I'm a Fossil (and CVS configuration novice) attempting to create and manage a set of distributed Fossil repositories for a Delphi project.

I have the following directory tree:

 Projects
     Some Project
     Delphi Components
        LookupListView
     Some Client
        Some Project For Client
        Some Other Project For Client
           Source Code
               Project Resources
               Project Database

I am setting up Fossil version control in order to version and share Projects\Some Client\Some Other Project For Client\Source Code, which contains Delphi 2010 source for a database project.

This project makes use of Projects\Delphi Components\LookupListView which is a Delphi component. I need this code to be included in the versioning system for my project. I will, in theory, need to include it in other Fossil repositories in the future, as well.

If I create my Fossil repository at the Source Code or Some Other Project For Client level, I cannot add any code above that level to my repository. What is the proper way to deal with this? The two solutions that occur to me are

1) Creating a separate repository for LookupListView and make sure that everyone who uses a repository for a project that references it "knows" that they must also get the current version of this project as well. This seems to defeat the purpose of being able to obtain a complete, current version of the project with a single checkout. The problem is magnified because there are other common component dependencies in this project.

2) Establishing my Fossil repository in the Projects directory, so I can check in files from various subfolders. This seems to me to involve an awful lot of extra path-typing when doing adds, and also to impose my directory structure (Some Client\Some Other Project For Client\Source) on the other users of the repository -- in this case, the actual client.

Any suggestions appreciated.

© Stack Overflow or respective owner

Related posts about fossil

Related posts about dvcs