|
Boost : |
From: troy d straszheim (troy_at_[hidden])
Date: 2007-06-17 23:58:39
On Sun, Jun 17, 2007 at 10:01:07AM -0500, Rene Rivera wrote:
> >
> > This 'inverted' structure has several disadvantages that were
> > discussed. You wouldn't want to avoid 'private' meta-projects. They
> > are one of the main features of the system.
>
> Could you point out what those disadvantages are? AFAIK a top-level,
> what you call inverted, is equivalent to a bottom-up arrangement.
The proposed structure facilitates such fundamental operations as:
* renaming a project (all the branches come with you)
* deleting a project (same)
* finding out what branches exist for a project (they're right there)
* controlling commit access to individual projects (it's only one directory)
* giving descriptive names to branches (there are separate branch namespaces)
I consider it a disadvantage that the current sandbox layout
significantly hinders/complicates each of these operations. In the
proposed layout:
** you can easily see what projects exist
Not true for the current sandbox. A look at
http://svn.boost.org/trac/boost/browser/sandbox
does not reveal that a project called 'outfmt' exists. It is in
sandbox-branches, but it isn't obvious there either.
** you can easily locate all the branches of a project
Example: looking at 'units' in sandbox/, you can't see that
steven_watanabe has a branch of 'units' in sandbox-branches that
might be interesting. If it were associaated with 'units', I
could.
Example 2: you want to find all the branches of 'graph'. You can't
find this in the current sandbox, for starters because 'graph'
isn't there at all. There's code for it in the branches area, but
it is hidden in 'expaler'.
** you can easily rename/delete a project and all of its branches.
Not easy to do with the current layout.
Example: When 'outfmt' becomes 'oformat', you can't easily find the
branches to rename them all. In the proposed layout, this Just
Happens.
Example 2: When you delete 'units' from the sandbox you probably
won't catch steven_watanabe's branch, since it is called
'steven_watanabe' and not 'units'.
** you have more namespace for your own pet branch, so you can give
your branches more succint and descriptive names.
This is because the branch namespace (directory) is private to the
project.
In the current layout the branch names of all projects are
commingled. When branching my project I must be aware of what
branchnames are already taken by other projects. So you have to
adopt arbitrary naming schemes... a mess.
-t
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk