From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp0 ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms11 with LMTPS id wNzIK7Cuu15lJgAA0tVLHw (envelope-from ) for ; Wed, 13 May 2020 08:24:16 +0000 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp0 with LMTPS id wEqOFr+uu14/bgAA1q6Kng (envelope-from ) for ; Wed, 13 May 2020 08:24:31 +0000 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 85B72941182 for ; Wed, 13 May 2020 08:24:28 +0000 (UTC) Received: from localhost ([::1]:48946 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jYmgn-0006IR-FM for larch@yhetil.org; Wed, 13 May 2020 04:24:29 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:60884) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jYmgf-0006I4-KQ; Wed, 13 May 2020 04:24:21 -0400 Received: from relay8-d.mail.gandi.net ([217.70.183.201]:51291) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jYmge-0008B8-7v; Wed, 13 May 2020 04:24:21 -0400 Received: from webmail.gandi.net (webmail18.sd4.0x35.net [10.200.201.18]) (Authenticated sender: brice@waegenei.re) by relay8-d.mail.gandi.net (Postfix) with ESMTPA id C052B1BF20A; Wed, 13 May 2020 08:24:15 +0000 (UTC) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Date: Wed, 13 May 2020 08:24:15 +0000 From: Brice Waegeneire To: zimoun Subject: Re: best practise between git-fetch vs url-fetch? In-Reply-To: References: <20200306091524.5044.11103@vcs0.savannah.gnu.org> <20200306091525.E8A1621163@vcs0.savannah.gnu.org> <87o8t9lfci.fsf@devup.no> <871rq5bjzf.fsf@ambrevar.xyz> <87lfodl6u5.fsf@devup.no> <87tv2vgdlg.fsf@gnu.org> <87lfo72b8i.fsf@ambrevar.xyz> Message-ID: X-Sender: brice@waegenei.re User-Agent: Roundcube Webmail/1.3.8 Received-SPF: pass client-ip=217.70.183.201; envelope-from=brice@waegenei.re; helo=relay8-d.mail.gandi.net X-detected-operating-system: by eggs.gnu.org: First seen = 2020/05/13 04:24:16 X-ACL-Warn: Detected OS = Linux 3.11 and newer X-Spam_score_int: -25 X-Spam_score: -2.6 X-Spam_bar: -- X-Spam_report: (-2.6 / 5.0 requ) BAYES_00=-1.9, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H2=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001 autolearn=_AUTOLEARN X-Spam_action: no action X-BeenThere: guix-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Guix Devel , Guix-devel Errors-To: guix-devel-bounces+larch=yhetil.org@gnu.org Sender: "Guix-devel" X-Scanner: scn0 X-Spam-Score: -0.01 Authentication-Results: aspmx1.migadu.com; dkim=none; dmarc=none; spf=pass (aspmx1.migadu.com: domain of guix-devel-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-devel-bounces@gnu.org X-Scan-Result: default: False [-0.01 / 13.00]; RCVD_VIA_SMTP_AUTH(0.00)[]; GENERIC_REPUTATION(0.00)[-0.5396654220203]; DWL_DNSWL_BLOCKED(0.00)[209.51.188.17:from]; R_SPF_ALLOW(-0.20)[+ip4:209.51.188.0/24:c]; IP_REPUTATION_HAM(0.00)[asn: 22989(0.06), country: US(-0.00), ip: 209.51.188.17(-0.54)]; TO_DN_ALL(0.00)[]; MX_GOOD(-0.50)[cached: eggs.gnu.org]; MAILLIST(-0.20)[mailman]; FREEMAIL_TO(0.00)[gmail.com]; RCVD_IN_DNSWL_FAIL(0.00)[209.51.188.17:server fail]; SUBJECT_ENDS_QUESTION(1.00)[]; R_DKIM_NA(0.00)[]; ASN(0.00)[asn:22989, ipnet:209.51.188.0/24, country:US]; MID_RHS_MATCH_FROM(0.00)[]; TAGGED_FROM(0.00)[larch=yhetil.org]; ARC_NA(0.00)[]; RCVD_COUNT_FIVE(0.00)[5]; FROM_NEQ_ENVFROM(0.00)[brice@waegenei.re,guix-devel-bounces@gnu.org]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[3]; URIBL_BLOCKED(0.00)[gnu.org:email,fastmail.com:email]; FORGED_RECIPIENTS_MAILLIST(0.00)[]; TAGGED_RCPT(0.00)[brice,lists=waegenei.re]; MIME_GOOD(-0.10)[text/plain]; DMARC_NA(0.00)[waegenei.re]; HAS_LIST_UNSUB(-0.01)[]; MIME_TRACE(0.00)[0:+]; RCVD_TLS_LAST(0.00)[]; RWL_MAILSPIKE_POSSIBLE(0.00)[209.51.188.17:from]; FORGED_SENDER_MAILLIST(0.00)[] X-TUID: hhuaiI/bz/Yr Hello, On 2020-05-13 01:08, zimoun wrote: > Based on these 2 messages [1,2], what is the consensus between > git-fetch and url-fetch? I was hoping that some one bring this up, thanks. > Pushing to SWH when linting appears to me winning the pros/cons. Even > if SWH should eventually fetch http://guix.gnu.org/sources.json soon. > And the other big pros from my point of view is the content-addressed > Git references. Git references being content-addressed is important because it make it more difficult for a lazy upstream developer to replace a tarball in place -because it was somehow broken and they didn't wanted to bump the version number- and broke a package. Instead with git, to broke a package in similar way (with a hash mismatch) that developer would have to do “git push --force” which is much more frowned upon since it will affect all the users of that git repo. An other argument in recommending the 'git-fetch' method is that it facilitate the use of “guix build --with-commit”: 1. You don't need to find out the git-url of the package, 2. Nor finding which dependencies are missing compared to a tarball build (often it's autoconf, libtool, & co.), 3. You don't need to manually tweak phases relating to autoconf and the like. All in all recommending 'git-fetch' make “--with-commit” really more useful. This feature is one of my favorite from Guix since it make testing a patch from an upstream developer really easy, eg.: “guix build picom --with-commit=picom=vNext”. > Well, does it make sense to state on a recommended method? It does, it avoid having to discuss it with each new contributor and avoid noise in patches about changing the source's method based on each developer preference (I'm personally guilty of that). > [1] https://lists.gnu.org/archive/html/guix-devel/2020-03/msg00091.html > On Fri, 6 Mar 2020 at 18:41, Marius Bakke wrote: > >> url-fetch requires less bandwidth, and does not depend on 'git'. >> >> Though the most important distinction is that uploaded releases >> sometimes contain pre-processed sources (e.g. documentation) that need >> additional dependencies or scripts when building from the raw >> repository >> (this is why you often need to add autoconf, libtool & friends as >> inputs >> when building Autotools projects from git). >> >> I don't know whether there is a difference between the uploaded fmt >> zipball and the git repository. > > > [2] https://lists.gnu.org/archive/html/guix-devel/2020-03/msg00189.html > On Wed, 11 Mar 2020 at 15:39, Ludovic Courtès wrote: > >> Other considerations: >> >> - Bandwidth requirement for source code downloads has never been a >> criterion so far. >> >> - Git references are nice because they’re (roughly) >> content-addressed. >> >> - ‘guix lint -c archival’ archives Git references on Software >> Heritage; it does not archive tarballs (though SWH will do it >> for us eventually.) Cheers, - Brice