GNU bug report logs -
#22423
git-fetch does not update checked out tree when commit hash changes
Previous Next
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Your message dated Thu, 21 Jan 2016 09:50:18 +0100
with message-id <87twm79v05.fsf <at> gnu.org>
and subject line Re: bug#22423: git-fetch does not update checked out tree when commit hash changes
has caused the debbugs.gnu.org bug report #22423,
regarding git-fetch does not update checked out tree when commit hash changes
to be marked as done.
(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)
--
22423: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=22423
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
I can reliably reproduce this using a recent version of GNU Guix.
When updating the commit hash to a different commit the git-fetch
derivation *does* change (I checked in guile), but the checked out git
tree in the store does not change - it gets shared between the
commits. I am not sure why the tree gets shared, but the effect is
that the same package gets installed using the same
/gnu/store/xxx-git-checkout.
Removing the git-checkout dir and updating the Hash gives a missing
dir error (as expected when they use the same).
[Message part 3 (message/rfc822, inline)]
Pjotr Prins <pjotr.public12 <at> thebird.nl> skribis:
> When updating the commit hash to a different commit the git-fetch
> derivation *does* change (I checked in guile), but the checked out git
> tree in the store does not change - it gets shared between the
> commits. I am not sure why the tree gets shared, but the effect is
> that the same package gets installed using the same
> /gnu/store/xxx-git-checkout.
This is expected: origins are fixed-output derivations, meaning that it
does not matter how we perform them (using Git, over HTTP, or thanks to
an avian carrier), as long as the result has the specified sha256.
Thus, when you change, say, the Git commit ID or origin ‘method’ without
changing the ‘sha256’ field, nothing happens: the daemon says “OK, I
already have a store item with that ‘sha256’, so I don’t do anything.”
Clearly, one has to be cautious with this, it’s easy to mistakenly use
the old source.
Hope this clarifies things!
Ludo’.
This bug report was last modified 9 years and 124 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.