Gentoo Archives: gentoo-scm

From: "Robin H. Johnson" <robbat2@g.o>
To: gentoo-scm@l.g.o
Subject: [gentoo-scm] meeting followup: repo layout
Date: Tue, 26 Oct 2010 23:53:50
Message-Id: robbat2-20101026T233932-765168312Z@orbis-terrarum.net
In Reply to: Re: [gentoo-scm] Notes from a recent meeting; Updated conversion by "Robin H. Johnson"
On Tue, Oct 26, 2010 at 07:15:46PM +0000, Robin H. Johnson wrote:
> Repo layout > * Natural option (seems to be used by most projects) is one package per repo > * Main problems: how to manage initial clones, updates, package moves, category moves > * The "repo" tool written for Android can handle most of this > * Renaming packages a problem (requires admin participation) > * Average 1-2/week over the past few years > * Moving packages between categories can be done by committers
The other major problem with splitting the repo, is that the overhead that will be imposed by it. This got lost during the talks, but I've followed up with warthog9, and the size is going to hurt. In an attempt to explain that better, I've laid out below, the (inode) overhead costs per checkouts in each VCS, in a variant of O-notation. d = number of directories, f = number of files, r = number of repositories. CVS: O(3d) SVN: O(8d + 2f) Git: O(35r) All of which represent the bare minimum number of inodes are required. Our CVS tree tracks 21481 directories, and 118286 files. 14302 of those directories are packages. For the 3 models of Git: 1 giant repo: 1 repo only. repo-per-package: 14302 repos repo-per-category: 154 repos. -- Robin Hugh Johnson Gentoo Linux: Developer, Trustee & Infrastructure Lead E-Mail : robbat2@g.o GnuPG FP : 11AC BA4F 4778 E3F6 E4ED F38E B27B 944E 3488 4E85

Replies

Subject Author
Re: [gentoo-scm] meeting followup: repo layout Donnie Berkholz <dberkholz@g.o>
Re: [gentoo-scm] meeting followup: repo layout Dirkjan Ochtman <djc@g.o>