Repository layout??
Frits Jalvingh
jal at etc.to
Thu Jan 3 17:50:56 GMT 2008
Hello,
I am evaluating Bazaar as a replacement for Subversion, but I need some help
on determining a workable repository layout. Hopefully someone here can
provide some answers ;-)
I have a large Java project which consists of a few main projects and about 65
subprojects. A checked out (local) workspace consists of about 419MB, 28000
files (this is source only, it does not contain Subversion data or
compiled .class files).
All of the projects are "next to eachother" in the working directory after a
checkout (it is an Eclipse-managed workspace where every "root" directory in
the workspace is a separate project). Projects "depend" on the other projects
forming the complete project dependency tree of the whole application
(the "main" project).
In Subversion this has a native structure which looks like:
trunk
|-mainprojectA
|-mainprojectB
|-subproject1
|-subproject2
|-..etc....
Branches of the project (representing releases) are present in the same
repository in the format:
branches
|-A-R1.0-|
| |-mainprojectA
| |-subproject1
| |-subproject2
|
|-A-R2.0-|
| |-mainprojectA
| |-subproject1
| |-subproject2
etc.
To get the entire project, including all subprojects at their /correct/
version in a local workspace one just checks out the needed subprojects under
the trunk or under a branch, and you have a complete workspace. Because all
projects are within the same repository I ensure that the versions of the
main project and the subprojects are properly related: if I update two
projects on a branch and commit the result is a /single/ repository version
representing the entire project tree on that branch.
In other words: although all my project /can/ be developed separately on the
trunk the branched versions are kept in relation with eachother.
For me the separation between projects within the repository is crucial; many
of the projects are reused in other "main" projects also which also live in
the same repository.
What would be a reasonable way to store this in a Bazaar repository? I tried
the obvious (putting all of the projects in a single repository) but that
meant I had to put *all* projects present in the SVN repos into a single
Bazaar repository. This has the effect that all of the subprojects in the
repository (even those I do not need for the given main project I'm working
with) are present (making the result huge), and in addition I can only commit
on the whole repository, not on individual projects (which takes forever by
the way).
I would like to be able to work on a "subset" of the repository.
I have done some research and it looks like I need something called "nested
trees", but I cannot find much information on it. Any idea's anyone?
Thanks for your time!
Frits
More information about the bazaar
mailing list