Re: Subversion Migration: the importance of maturity.



Miguel de Icaza wrote:

>How large is this Ubuntu repository, how many revisions and branches
>live in this repository?
>
>I do not know what you guys use the repository for, but you could
>probably tell us more:
>
>	* Do you check in the source code for every program that you 
>	  ship in Ubuntu into arch, and maintain all of the branches?
>
>	  If this is the case, this is a pretty big respository.
>
>	* Or do you use Arch/Bazar just to check in the build files
>	  that drive the build?
>
>	  If this is the case, then it seems like a very small
>	  repository
>  
>
The system we have involves having the unpacked source code available as
an arch branch.  Vendor patches are then developed as branches against
the pristine source code.  When it comes time to create a package, it is
a simple matter of creating a diffs between these patch branches and the
pristine source.

So we really are talking about a lot of code and a lot of branches here.

>The Mono repository holds 1.6 gigabytes of data.
>  
>
This isn't quite an apples to apples comparison.  Subversion definitely
encourages the creation of large repositories, because that it can only
track history and branches within the repository.

With Arch, each branch is essentially its own repository (branches are
stored in archives, but that is more for organisation).  When you create
a branch of a module, you are essentially creating a new repository. 
The only connection between the two is metadata of the form "I branched
off from this module, and here are the results", or "I merged changes
from this branch, and here are the results".

This is good from a stability point of view, since it is very unlikely
that you'll get a project wide repository failure like you can with
Subversion.  If a problem does occur, it will be localised to a
particular branch -- other modules/branches are not blocked while the
problem is being fixed.

Now as far as sizes of repositories go, there definitely are arch
branches that have similar sizes to independent Gnome modules, and
collections of branches covering similar numbers of codebases as the
Gnome CVS repository does.

James.



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