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