Gentoo Archives: gentoo-dev

From: Nirbheek Chauhan <nirbheek@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] proxy maintainership and gentoo-x86 scm
Date: Thu, 14 Jan 2010 12:50:50
Message-Id: 8b4c83ad1001140449k49995e0ra01eeca16167735a@mail.gmail.com
In Reply to: [gentoo-dev] proxy maintainership and gentoo-x86 scm by Mike Frysinger
1 On Wed, Jan 13, 2010 at 9:24 PM, Mike Frysinger <vapier@g.o> wrote:
2 > i think our current work flows also significantly impede the smooth running of
3 > this.  if we had were using a dscm (git) on gentoo-x86, i feel like it'd be a
4 > much smoother ride for Gentoo devs to pull from a proxy maintainer and push on
5 > their behalf.
6 >
7
8 In theory, yes. In practice, git is too slow to handle 30,000 files.
9 Even simple operations like git add become painful even if you put the
10 whole of portage on tmpfs since git does a stat() on every single file
11 in the repository with every operation.
12
13 Simple test: do a git init followed by git add && git commit -m
14 "Initial commit" in your portage dir (.gitignore packages/ and
15 distfiles/)
16
17 Once this is done, you can test how it'll feel like to use a DSCM on
18 portage (without history). Unless you have a really fast SSD and
19 processor, you'll want to go back to the good old days of CVS with its
20 network-bound latencies on just 5-6 files in the current dir.
21
22 Besides this, there is the problem of accommodating people who use a
23 subtree of gentoo-x86, and those who don't want the entire CVS history
24 on their hard drives. In summation, robbat2 needs *our* help in the
25 following:
26
27 a) Push functionality in shallow clones (patches exist upstream)
28 b) Partial-tree checkouts (patches exist upstream)
29 c) Optimize git so it can handle 30,000 files
30 - Maybe maintain a cache of directory timestamps and only stat()
31 directories?
32 - Implement recursive timestamps on directories in various
33 filesystems and then in git (via xattrs perhaps)? People want to do
34 this for things like Tracker too. Prelim patches might exist.
35 d) Implement scripts/infra for people to fetch repository (shallow and
36 deep) bundles to initialize their local git clones (similar to portage
37 snapshots)
38 - git clone from scratch taxes the server too much, just like
39 rsync from scratch
40 e) Server-side scripts for pushing to CIA.vc for pretty stats like we do in CVS
41 - We want this for overlays right now too.
42 f) (Optional) Fix http cloning in git to make it "smarter" to help
43 people behind firewalls get anonymous clones (patches exist upstream)
44
45 Did I miss something Robin?
46
47 --
48 ~Nirbheek Chauhan
49
50 Gentoo GNOME+Mozilla Team

Replies

Subject Author
Re: [gentoo-dev] proxy maintainership and gentoo-x86 scm Nguyen Thai Ngoc Duy <pclouds@×××××.com>
Re: [gentoo-dev] proxy maintainership and gentoo-x86 scm Ben de Groot <yngwin@g.o>
Re: [gentoo-dev] proxy maintainership and gentoo-x86 scm "Paweł Hajdan
Re: [gentoo-dev] proxy maintainership and gentoo-x86 scm Daniel Bradshaw <daniel@×××××××××××.uk>
[gentoo-dev] Re: proxy maintainership and gentoo-x86 scm Paul Arthur <flowerysong00@×××××.com>