[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

SVN layout



Hi,

with the advent of the unified kernel package for 2.6 some of the
original SVN layout has become irrelevant. As a background here is
how things used to look.

trunk/kernel/source/kernel-source-2.6.8/
                .../kernel-source-2.6.10/
                .../kernel-source-2.6.11/
         .../i386/kernel-image-2.6.8/
	      .../kernel-image-2.6.11/
	      .../kernel-image-2.6.10/
	 .../powerpc/...
	 and so on for all arches
  .../kernel-2.4/source/kernel-source-2.4.27/
                    .../kernel-source-2.4.29/
             .../i386/kernel-image-2.4.27/
                  .../kernel-image-2.4.29/
	 and so on for all arches

obsolete/  same structure as trunk, but for things that are no longer used

tags/      more or less the same structure as trunk

branches/  never really used.


Now, skip forward to now, sarge has been released, and
we have unified packaging.

The obsolete/ directory has been removed (not sure why, but it
wasn't much use, and now one seems ot miss it)

people/ has been added, but doesn't seem to be used much

branches/dist/sarge now 2.6.8, which is now sarge-only
    (N.B: for the pedantic, its not actually a branch, its the trunk)

branches/dist/sarge-security, branch of 2.6.8 (from branches/dist/sarge)
and 2.4.27 (from trunk)


So far so good. There is definately room for debate on what goes where,
but eveyone seems pretty happy. Now enter an ongoing debate on
IRC on what is appropriate for trunk.

There is some stuff there from the old structure, mainly everything from
kernel-2.4 (the 2.4.29 should probably be relocated or deleted, its
never going to be used) and 2.6.11 stuff under linux/, which should also
be moved or removed.

And then there is the problem of what to do with linux-2.6/

When it was initially created it was called kernel-source-2.6.12,
and lived under trunk/kernel/source/. Then, as it evolved
it was renamed linux-2.6.12, and as it was for all architectures,
it was moved to trunk/kernel/ No one really minded that either.

But right now there are two problems that need to be resolved
so we know where things are supposed to go.

1. Should linux-2.6 go in  trunk/kernel/ or just trunk.
   Given that we no longer need source and per-arch directories,
   it seems logical to just move it up to trunk/
   But thats a bit of a departure from the old model, and
   burns holes in some peoples brains.

2. If we assume that we have two versions of linux-2.6, one based
   on the current upstream (and likely in sid/testing) and one
   based on some upstream rc releases (and likely in experimental)
   where should these two directories go. The main two camps seem to be:

   a) They are both being developled, so we may as well have them in
      trunk as linux-2.6 and linux-2.6-experimental, or something like
      that. We always had multiple versions in trunk in the past,
      and no one complained.

   b) Everything must come off trunk. Only the very leading edge can be 
      in trunk. If the sid version isn't that then it should
      go under branches, and if that happens to be the version in sid,
      it should be branches/dists/sid/linux-2.6 (or
      branches/dists/sid/kernel/linux-2.6, depending on 1) above).


Personally, in the context of the two questions above, I advocate
  trunk/linux-2.6
  trunk/linux-2.6-experimental

However I am happy with pretty much anything - i symlink into
the hierachy anyway.

Also, please keep in mind that svn does not attach any special
meaning to trunk/, branch/, tags/, or anything else. Its just
a common convention. To reiterate - there is notihing in svn
that dictages trunk can't contain branches, or even that
a directory trunk must exist. svk may be different, if so,
this is a excellent time to discuss that.


Another, different, idea that has been floating around is to
have separeate branches - directories somewhere at the same level,
not neccessarily under somthing called trunk/ or branches/  for
each release. This is more or less what branches/dists/ is begining
to look like. Perhaps we should put that kind of structure under
trunk. And rename trunk to something less contentious.


Sorry for the long mail. I'm writing this because discussion on
IRC is going no where. Please lets discuss and come to conesensus.
Please, lets not randomly copy, delete and move linux-2.6, which
many of us are working on, without getting some consenus.

Lastly, there are currently two copies of linux-2.6, its a by product
of the mashed discusion on IRC. Lets put changes into the one in 
trunk/linux-2.6 and leave the one in trunk/kernel/linux-2.6 alone
until we decide what to do.


-- 
Horms



Reply to: