[xiph-cvs] Subversion tree layout proposal
Brendan Cully
brendan at xiph.org
Mon Jul 7 12:25:22 PDT 2003
(My proposal, with minor mods (I moved positron up a level, and rewrote
the lib/python/perl directories as, eg, ao, ao-python, ao-perl) is at
http://wiki.xiph.org/SVNLayout now. Maybe that's a better place for
discussion.)
On Monday, 07 July 2003 at 18:58, Ralph Giles wrote:
> On Monday, July 7, 2003, at 06:08 pm, Brendan Cully wrote:
>
> >Our current tree is flat - every piece of code that can be
> >independently released gets its own top-level directory. Now that we
> >have a large number of projects, I think this is becoming a bit
> >unwieldy (and probably also a little confusing for new users). I
> >suggest we create a two level tree, where the top level is a
> >metaproject, like icecast, vorbis or theora. I guess this would
> >correspond roughly to the way the web sites are divided.
>
> From my perspective we can easily cut down the clutter by grouping some
> of the tools and dependencies together, without losing the benefits of
> a flat namespace. I think your approach makes sense for icecast with
> all it's componently, but it isn't worth adding replacing vorbis with
> vorbis/vorbis (or codecs/vorbis) just to get rid of vorbis-tools,
> vorbis-python, and vorbis-plugins. It is worth renaming some things to
> a sort puts things together in this scheme.
You mean something like (on /trunk)?
/vorbis
/ogg
/bindings
/vorbis-perl
/vorbis-python
/ogg-perl
/ogg-python
and also
/icecast/libshout
/icecast/bindings
/shout-perl
/shout-python
?
> >I think we have a special problem with ices, though I could be
> >biased. The problem is that we have two parallel lines of development,
> >neither of which is ever likely to supersede the other.
> How about ices1 and ices2?
That's better, but I think it still implies that ices2 supersedes
ices1, which, unfortunately, it doesn't.
> >/trunk
> > [...]
> > /common
> > /m4
> > /avl
> > /httpp
> > /log
> > /net
> > /thread
> > /timing
>
> Currently these are only common to icecast, so I think they should go
> there. m4 is a good candidate for moving to the top level if someone
> generalizes the macros to work with other packages.
Ok, I moved these around on the wiki.
> >Like tags, but the names may be more descriptive than simple version
> >numbers. Eg: icecast/libshout/1.0 or ogg/lib/zerocopy. I don't see the
> >need for metaproject branches, but if they were used they would look
> >something like icecast/rtsp/icecast, icecast/rtsp/ices etc.
>
> I think this in general, but we'll probably want to be less formal, for
> example there may be speculative projects involving several
> normally-separate modules.
Ok.
> >I think we should make it a rule that every major.minor combination
> >gets an automatic branch built at release, not just when/if we need to
> >do updates to the branches.
>
> This is silly. With all the clutter you'll never see the development
> work. As you say, branching is cheap. A better idiom is to copy
> something to branches/ make changes and then move it to the new release
> tag when you're done with the fixes. Remeber the history follows the
> files, not the filenames like in cvs, so you don't lose anything by not
> having the branch available all the time.
I don't think it causes that much clutter. I'm not suggesting creating
a branch at every minor rev (that's what tags are for), so we'd just
have branches for libshout-2.0 vs libshout-2.1 (for example). The idea
is that users know without asking where to get the latest code for a
particular release.
-b
--- >8 ----
List archives: http://www.xiph.org/archives/
Ogg project homepage: http://www.xiph.org/ogg/
To unsubscribe from this list, send a message to 'cvs-request at xiph.org'
containing only the word 'unsubscribe' in the body. No subject is needed.
Unsubscribe messages sent to the list will be ignored/filtered.
More information about the commits
mailing list