3

1

I'm fairly new to Mercurial and DVCS in general. I would appreciate any feedback on how to structure projects given the scenario below. We have a number of shared libraries which are included as dependencies in many of our projects. I understand how subrepositories can be used to include these dependencies but I'm not sure what the best approach is when dependencies rely on each other.

For example, we have a shared library that contains useful utilities and extension methods, let's call this LibX. We also have a shared library which implements a neat workflow mechanism called LibY. LibY uses LibX. We have a project called ProjectA that uses both LibX and LibY.

So, potential project structure:

/ProjectA
    /Dependencies
        /LibX (SubRepo)
        /LibY (SubRepo)
            /Dependencies
                /LibX (SubRepo)

Does this structure make sense? In terms of Visual Studio and adding dependencies, should we have a build script that builds LibX and LibY and include the built assemblies as references or should we include the projects in our solution?

Any thoughts on best practices given this scenario?

Rohland

flag

1 Answer

1

I asked this very same question on Stack Overflow a little while back:

http://stackoverflow.com/questions/6020936/whats-a-good-way-to-organize-projects-with-shared-dependencies-in-mercurial

The answer:

Mercurial may keep track of your code well, but its subrepo feature is less than desirable as a dependency tracking tool. I ended up taking the advice of the answer that was marked, and going with my own solution.

link|flag

Your Answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.