[LLVMdev] Repository Layout
Gordon Henriksen
gordonhenriksen at mac.com
Sun Jul 1 05:22:43 PDT 2007
On 2007-06-30, at 18:36, Reid Spencer wrote:
> I'm finding the current layout a bit frustrating, not to mention
> that it breaks all the documentation. [...] I would rather see it
> laid out like this:
>
> trunk/llvm/...
> trunk/stacker/...
> trunk/java/...
>
> branches/llvm/...
> branches/stacker/...
> branches/java/...
>
> tags/llvm/...
> tags/stacker/...
> tags/java/..
Reid,
This is a common problem with Subversion. I wouldn't recommend using
the layout you suggested here, though. Although it's "just" a
convention, please keep the standard layout at the root of each
project. (You're proposing interceding a directory layer between
trunk, branches, and tags, etc. I don't think you'll find that it
solves many management problems.)
If the projects are too granular, merge them together. It might, in
fact, be appropriate to use a single project root for the totality of
llvm. Getting this correct is by far the most important decision to
be made, IMO. It's very easy to check out a subdirectory of a
project, but much harder to check out a union of several projects.
However, if a union of several projects is necessary, Subversion does
have an svn:external property[1] which can be used to create
precisely that. It's much more complicated to tag or branch such a
beast, however, so it is strongly recommended that such a thing not
be used as a unit of release.
Anton, as Reid mentioned, there's absolutely no need to worry about
wasting repository space with copies. However, since copies are so
incredibly cheap on the server, there is a need to worry about
wasting developer hard disk space. At the client, copies are much
more expensive with Subversion than with CVS, so your intuition is
still very useful.
— Gordon
[1] http://svnbook.red-bean.com/en/1.0/ch07s03.html
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20070701/2aeb5878/attachment.html>
More information about the llvm-dev
mailing list