From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 17409 invoked by alias); 7 Apr 2014 15:41:48 -0000 Mailing-List: contact gdb-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sourceware.org Received: (qmail 17309 invoked by uid 89); 7 Apr 2014 15:41:47 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.2 required=5.0 tests=AWL,BAYES_00,RP_MATCHES_RCVD autolearn=ham version=3.3.2 X-Spam-User: qpsmtpd, 2 recipients X-HELO: mx2.suse.de Received: from cantor2.suse.de (HELO mx2.suse.de) (195.135.220.15) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (CAMELLIA256-SHA encrypted) ESMTPS; Mon, 07 Apr 2014 15:41:46 +0000 Received: from relay2.suse.de (charybdis-ext.suse.de [195.135.220.254]) by mx2.suse.de (Postfix) with ESMTP id 7E3D3AB49; Mon, 7 Apr 2014 15:41:43 +0000 (UTC) Date: Mon, 07 Apr 2014 15:41:00 -0000 From: Michael Matz To: Mark Kettenis cc: brobecker@adacore.com, aaro.koskinen@iki.fi, sergiodj@redhat.com, emachado@linux.vnet.ibm.com, gdb@sourceware.org, binutils@sourceware.org, bergner@vnet.ibm.com, tuliom@linux.vnet.ibm.com Subject: Re: Vendor branches on sourceware.org's binutils-gdb repo In-Reply-To: <201404071452.s37EqLB9024528@glazunov.sibelius.xs4all.nl> Message-ID: References: <53406399.9050303@linux.vnet.ibm.com> <20140406191404.GC7558@drone.musicnaut.iki.fi> <20140407035120.GA4186@adacore.com> <201404071452.s37EqLB9024528@glazunov.sibelius.xs4all.nl> User-Agent: Alpine 2.00 (LNX 1167 2008-08-23) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-SW-Source: 2014-04/txt/msg00016.txt.bz2 Hi, On Mon, 7 Apr 2014, Mark Kettenis wrote: > > But it's not necessarily easy for the vendor to _host_ that other > > repository. > > Really? Are there really companies that are active in the Free Software > community that don't have the infrastructure to host a relatively small > git repo? It's not the infrastructure. It's policies. Some companies have a policy of not publishing any code outside except through a heavy process, which might include a white-list of where it may be published/hosted. sourceware.org is on that white-list already. It may be very painful to extend that white-list. > > And IMHO, the current 288 MB for binutils-gdb git objects aren't > > enough to discourage vendor branches (and if you're worried about > > the download size it's equally easy to simply not pull those > > branches). > > Size is an issue for me. I try to support GDB on many platforms, some > of which are somewhat old or low power and don't have a lot of disk > storage. I'm already running into problems on some of my machines. > And every time git messes up my repo because I run out of disk space > (or just because it doesn't seem to properly implement DWIM) I need to > fetch everything all over again. > > So how do I tell git to only clone master and not give me everybody > else's shit? Last time I tried to do that, it simply didn't work. master only is easy: git config remote.origin.fetch +refs/heads/master:refs/remotes/origin/master By default that setting is "+refs/heads/*:refs/remotes/origin/*" which fetches everything under refs/heads/ (recursively unfortunately). Furthermore the above aren't really filename globs (so e.g. refs/heads/[^v]* doesn't work), but you can have multiple such refspecs. So to retrieve just a subset of branches you can name them all individually (git-config --add), or we need to employ some namespace scheme where nothing is directly in refs/heads/, but only in subdirectories of that. Then we could have: +refs/heads/default/*:refs/remotes/origin/default/* +refs/heads/vendor/*:refs/remotes/origin/vendor/* (Or further subsetted to only some vendors). I'll admit that naming subsets of branches to fetch is not that "easy" without changes in the repository structure. Ciao, Michael.