[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#41604: guix pull impossible after rebasing a local repository

From: Ludovic Courtès
Subject: bug#41604: guix pull impossible after rebasing a local repository
Date: Fri, 05 Jun 2020 18:17:51 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux)

Hi Simon,

zimoun <zimon.toutoune@gmail.com> skribis:

> $ guix describe
> Generation 37    Jun 05 2020 01:28:52    (current)
>   guix 8bd0b53
>     repository URL: https://git.savannah.gnu.org/git/guix.git
>     commit: 8bd0b533b30d7ee5e03aee99a2eb96d5b0b1c836
> $ echo hello >> $SRC/README && git -C $SRC commit -am hello
> [master 09f6e9b34c] hello
>  1 file changed, 1 insertion(+)
> $ guix pull --commit=$(git -C $SRC rev-parse HEAD)
> Updating channel 'guix' from Git repository at
> 'https://git.savannah.gnu.org/git/guix.git'...
> Building from this channel:
>   guix      https://git.savannah.gnu.org/git/guix.git    09f6e9b
> Computing Guix derivation for 'x86_64-linux'... /
> $ guix describe
> Generation 38    Jun 05 2020 02:57:13    (current)
>   guix 09f6e9b
>     repository URL: https://git.savannah.gnu.org/git/guix.git
>     commit: 09f6e9b34c6239bcdd8ca9e030d698b5244507a6
> $ git -C $SRC reset --hard HEAD^
> HEAD is now at 8bd0b533b3 gnu: libexif: Update to 0.6.22 [security fixes].
> $ git -C $SRC reflog expire --expire-unreachable=now --all
> $ git -C $SRC gc --prune=now --quiet
> $ git -C $SRC show 09f6e9b34c6239bcdd8ca9e030d698b5244507a6
> fatal: bad object 09f6e9b34c6239bcdd8ca9e030d698b5244507a6
> $ guix pull --commit=e451612602 --allow-downgrades
> Updating channel 'guix' from Git repository at
> 'https://git.savannah.gnu.org/git/guix.git'...
> guix pull: error: Git error: object not found - no match for id
> (09f6e9b34c6239bcdd8ca9e030d698b5244507a6)

Ah I see, thanks for the reproducer.

Generally, rebasing does not necessarily implies ‘git gc’, so I think
one has to be unlucky to have the former commit disappear right away,

But yeah, I don’t think there’s much we can do.  Or perhaps we could
have ‘commit-relation’ report 'unrelated when one of the commits does
not exist, that’d be clearer and more useful than this error.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]