From mboxrd@z Thu Jan  1 00:00:00 1970
Received: from pigeon.gentoo.org ([208.92.234.80] helo=lists.gentoo.org)
	by finch.gentoo.org with esmtp (Exim 4.60)
	(envelope-from <gentoo-dev+bounces-39117-garchives=archives.gentoo.org@lists.gentoo.org>)
	id 1NVPA2-0005sX-Eg
	for garchives@archives.gentoo.org; Thu, 14 Jan 2010 12:50:50 +0000
Received: from pigeon.gentoo.org (localhost [127.0.0.1])
	by pigeon.gentoo.org (Postfix) with SMTP id DDC6FE0AFB;
	Thu, 14 Jan 2010 12:49:31 +0000 (UTC)
Received: from mail-pw0-f47.google.com (mail-pw0-f47.google.com [209.85.160.47])
	by pigeon.gentoo.org (Postfix) with ESMTP id 8BC00E0AFB
	for <gentoo-dev@lists.gentoo.org>; Thu, 14 Jan 2010 12:49:31 +0000 (UTC)
Received: by pwj10 with SMTP id 10so4087980pwj.26
        for <gentoo-dev@lists.gentoo.org>; Thu, 14 Jan 2010 04:49:31 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=gamma;
        h=domainkey-signature:mime-version:sender:received:in-reply-to
         :references:date:x-google-sender-auth:message-id:subject:from:to
         :content-type:content-transfer-encoding;
        bh=7Nx9+7O6KWk7pkE4Po/ZEgzo9sTXCv6ZTwSaKJ9Qaeo=;
        b=ozRR5o+tNoU32EkFc899CKcp0AxopbLLYaehib/9f3ZQTLlCNlxYHkl1Pm+YLOjqZ0
         Zh4RDiMSQjAQuP0hfX8a9yKDgYfaFIN6E+eEOz2bmD4Qbm7OdR67BZgEsg2AV8wBf2gE
         CL/MfHIntW9IgRVtj3pYLSjCOIRfqHvkjdTjU=
DomainKey-Signature: a=rsa-sha1; c=nofws;
        d=gmail.com; s=gamma;
        h=mime-version:sender:in-reply-to:references:date
         :x-google-sender-auth:message-id:subject:from:to:content-type
         :content-transfer-encoding;
        b=MjQV5vb3WXlaNZ1hGPpNfThUEjDDUe1xUIJxieXY7K05Oh6YO9T4Y11BJruZIq6hHE
         2SeNDPxqUl7lQBQrEpyy+rRksHnLFFrBrqAT2GPfLuMp3dESUFmRXI7ajCUyVQa/lmNU
         qexDui9nutVkeHBKSMo0Ao6tsy3pyLsvzMRWk=
Precedence: bulk
List-Post: <mailto:gentoo-dev@lists.gentoo.org>
List-Help: <mailto:gentoo-dev+help@lists.gentoo.org>
List-Unsubscribe: <mailto:gentoo-dev+unsubscribe@lists.gentoo.org>
List-Subscribe: <mailto:gentoo-dev+subscribe@lists.gentoo.org>
List-Id: Gentoo Linux mail <gentoo-dev.gentoo.org>
X-BeenThere: gentoo-dev@lists.gentoo.org
Reply-to: gentoo-dev@lists.gentoo.org
MIME-Version: 1.0
Sender: nirbheek.chauhan@gmail.com
Received: by 10.114.165.13 with SMTP id n13mr517828wae.109.1263473353807; Thu, 
	14 Jan 2010 04:49:13 -0800 (PST)
In-Reply-To: <201001131054.03953.vapier@gentoo.org>
References: <201001112305.16532.hwoarang@gentoo.org>
	 <201001122149.11091.hwoarang@gentoo.org>
	 <e117dbb91001121235m1a6b99acj4cefccd2b5de2a35@mail.gmail.com>
	 <201001131054.03953.vapier@gentoo.org>
Date: Thu, 14 Jan 2010 18:19:13 +0530
X-Google-Sender-Auth: cc5fe3f1201781d0
Message-ID: <8b4c83ad1001140449k49995e0ra01eeca16167735a@mail.gmail.com>
Subject: Re: [gentoo-dev] proxy maintainership and gentoo-x86 scm
From: Nirbheek Chauhan <nirbheek@gentoo.org>
To: gentoo-dev@lists.gentoo.org
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-Archives-Salt: dc86ebea-8a49-49d2-86ec-e151b2610dd4
X-Archives-Hash: 87f1cd39216ef3828a850906ae4893b5

On Wed, Jan 13, 2010 at 9:24 PM, Mike Frysinger <vapier@gentoo.org> wrote:
> i think our current work flows also significantly impede the smooth runni=
ng of
> this. =C2=A0if we had were using a dscm (git) on gentoo-x86, i feel like =
it'd be a
> much smoother ride for Gentoo devs to pull from a proxy maintainer and pu=
sh on
> their behalf.
>

In theory, yes. In practice, git is too slow to handle 30,000 files.
Even simple operations like git add become painful even if you put the
whole of portage on tmpfs since git does a stat() on every single file
in the repository with every operation.

Simple test: do a git init followed by git add && git commit -m
"Initial commit" in your portage dir (.gitignore packages/ and
distfiles/)

Once this is done, you can test how it'll feel like to use a DSCM on
portage (without history). Unless you have a really fast SSD and
processor, you'll want to go back to the good old days of CVS with its
network-bound latencies on just 5-6 files in the current dir.

Besides this, there is the problem of accommodating people who use a
subtree of gentoo-x86, and those who don't want the entire CVS history
on their hard drives. In summation, robbat2 needs *our* help in the
following:

a) Push functionality in shallow clones (patches exist upstream)
b) Partial-tree checkouts (patches exist upstream)
c) Optimize git so it can handle 30,000 files
    - Maybe maintain a cache of directory timestamps and only stat()
directories?
    - Implement recursive timestamps on directories in various
filesystems and then in git (via xattrs perhaps)? People want to do
this for things like Tracker too. Prelim patches might exist.
d) Implement scripts/infra for people to fetch repository (shallow and
deep) bundles to initialize their local git clones (similar to portage
snapshots)
    - git clone from scratch taxes the server too much, just like
rsync from scratch
e) Server-side scripts for pushing to CIA.vc for pretty stats like we do in=
 CVS
    - We want this for overlays right now too.
f) (Optional) Fix http cloning in git to make it "smarter" to help
people behind firewalls get anonymous clones (patches exist upstream)

Did I miss something Robin?

--=20
~Nirbheek Chauhan

Gentoo GNOME+Mozilla Team