From: Josh Marshall <joshua.r.marshall.1991@gmail.com>
To: Jack Hill <jackhill@jackhill.us>
Cc: guix-devel <guix-devel@gnu.org>, Brice Waegeneire <brice@waegenei.re>
Subject: Re: best practise between git-fetch vs url-fetch?
Date: Sun, 24 May 2020 16:04:17 -0400 [thread overview]
Message-ID: <CAFkJGRdJK-DFXL7QVvq9WzWXMi=oi8p2yLWjLdsevHipeUCEHw@mail.gmail.com> (raw)
In-Reply-To: <alpine.DEB.2.20.2005141149400.5735@marsh.hcoop.net>
Hello all,
Continuing my Sunday catch-up, I'd like to kick the tires on this.
Tarballs seem to have the following:
+ Faster to build
+ Faster first time download
- Larger downloads for smaller changes
- Autotools are pre-built, negating bootstrapping
- SWH not yet supported (https://forge.softwareheritage.org/T1352)
+ Fewer package dependencies\
+ Can use alternative source versions via `--with-source` -- more
likely for each to work, but fewer options
Git seems to have the following:
- Slower to build
- Slower first time download
+ Smaller incremental downloads
+ More complete bootstrapping
+ SWH support is working
- Adds extra dependency on git
+ Easy use of alternative commits via `--with-commit`
Practically, these options are highly similar, with git having some
edge when it comes to bootstrapping the software more completely, and
avoiding using as many non-source executable things. But that is
extendable to tarballs as well.
What it comes down for me is that git offers a more coherent history
of a piece of software all in one location. Tarballs are snapshots in
a software's history, and I'd prefer to just have the entire history
already in one managed and organized location. That is one things
tarballs can't practically accomplish.
I am also for having a de-factco, soft suggestion that packages use.
I think git-fetch is ever so slightly the better option, and so should
be a "default" recommendation over url-fetch. That being said, I am
more in favor of having a default than what that default is.
On Thu, May 14, 2020 at 12:16 PM Jack Hill <jackhill@jackhill.us> wrote:
>
> On Wed, 13 May 2020, Tobias Geerinckx-Rice wrote:
>
> >> --with-commit
> >
> > Yes, this is niice. ♥
> >
> > For the sake of argument¹, though, so is --with-source=<actually released and
> > supported upstream tarball dot tar>.
> >
> > Somehow erasing that hard distinction is the real winning move.
> >
> > Kind regards,
> >
> > T G-R
> >
> > [1]: Obligatory <https://xkcd.com/1432>.
>
> Heh, I'll take the bait. I also really appreciate how easy we make it for
> people to exercise their software freedom and run modified software. How
> best to make that possible and balance it with other usability constraints
> (e.g. mirror:// urls should be more robust) may vary by package, so I
> agree with Leo that some discretion is needed. However, that's not to say
> that I wouldn't appreciate some guidance as to our default preference when
> there is no package-specific reason to prefer one way over the other.
>
> It seems a bigger problem is when the build method for the git repository
> and release tarball are different. In many packages this is because of the
> pre-generated autotools build system in the release tarballs. Should we
> bootstrap the autotools build system even when building from a release
> tarball? As I understand it, autotools has historically been treated this
> way in part to allow building on systems without the right version of
> autotools, but is that really a problem in Guix? Why should it be treated
> differently than other pre-generated artifacts which we rebuild?
>
> Another improvement we could make here is improving the message about
> Software Heritage in guix lint. Most of the other messages it emits are
> things that the author of a package should consider improving. If the
> Software Heritage message is less actionable, let's make that clearer so
> that people don't think there is a problem with their package definition.
>
> Best,
> Jack
next prev parent reply other threads:[~2020-05-24 20:04 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20200306091524.5044.11103@vcs0.savannah.gnu.org>
[not found] ` <20200306091525.E8A1621163@vcs0.savannah.gnu.org>
2020-03-06 14:37 ` 01/02: gnu: fmt: Use HTTPS and git-fetch Marius Bakke
2020-03-06 15:07 ` Pierre Neidhardt
2020-03-06 17:40 ` Marius Bakke
2020-03-07 7:46 ` Pierre Neidhardt
2020-03-07 11:37 ` Pierre Neidhardt
2020-03-11 14:39 ` Ludovic Courtès
2020-03-11 14:54 ` Pierre Neidhardt
2020-05-13 1:08 ` best practise between git-fetch vs url-fetch? zimoun
2020-05-13 8:24 ` Brice Waegeneire
2020-05-13 18:07 ` Tobias Geerinckx-Rice
2020-05-14 16:16 ` Jack Hill
2020-05-24 20:04 ` Josh Marshall [this message]
2020-05-24 20:30 ` Ludovic Courtès
2020-05-25 4:54 ` Jack Hill
2020-05-25 21:17 ` Ludovic Courtès
2020-05-26 2:05 ` Jack Hill
2020-05-13 17:13 ` Leo Famulari
2020-05-24 20:34 ` Ludovic Courtès
2020-05-26 11:41 ` zimoun
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://guix.gnu.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='CAFkJGRdJK-DFXL7QVvq9WzWXMi=oi8p2yLWjLdsevHipeUCEHw@mail.gmail.com' \
--to=joshua.r.marshall.1991@gmail.com \
--cc=brice@waegenei.re \
--cc=guix-devel@gnu.org \
--cc=jackhill@jackhill.us \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).