GNU bug report logs -
#45187
git download defaults to origin/master
Previous Next
Full log
View this message in rfc822 format
Hi!
Kyle Meyer <kyle <at> kyleam.com> skribis:
> Subject: [PATCH] git: Update cached checkout to the remote HEAD by default.
>
> Fixes <https://bugs.gnu.org/45187>.
> Reported by Ricardo Wurmus <rekado <at> elephly.net>.
>
> update-cached-checkout hard codes "master" as the default branch, leading to a
> failure when the clone doesn't have a "master" branch. Instead use the remote
> HEAD symref as an indicator of what the primary branch is.
>
> * guix/git.scm (resolve-reference): Support resolving symrefs.
> (update-cached-checkout, latest-repository-commit): Default to the remote HEAD
> symref.
> (<git-checkout>): Add symref field that defaults to "HEAD", and change branch
> field's default to #f.
> (git-checkout-compiler): Handle symref field of <git-checkout>.
[...]
> git-checkout make-git-checkout
> git-checkout?
> (url git-checkout-url)
> - (branch git-checkout-branch (default "master"))
> + (branch git-checkout-branch (default #f))
> + (symref git-checkout-symref (default "HEAD"))
I know it’s established Git jargon, but “symref” looks obscure to me.
I find it OK for ‘update-cached-checkout’, because it’s an “internal”
procedure for die-hard hackers, but a bit ugly here.
Another option would be to not add this ‘symref’ field and instead, when
‘branch’ and ‘commit’ are both #f, translate that to '(symref . "HEAD").
WDYT?
The rest of the patch LGTM, thanks!
Ludo’.
This bug report was last modified 4 years and 101 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.