Subject: Re: bug#22423: git-fetch does not update checked out tree when commit hash changes

From: Pjotr Prins <[email-masked]>
Date: Thu, 21 Jan 2016 10:08:53 +0100

On Thu, Jan 21, 2016 at 09:50:18AM +0100, Ludovic Courtès wrote:
> 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.

Hmmm. I thought the sha256 was calculated over the derivation +
sources, so any relevant change would trigger a build. Apparently it
is triggered by the sha256 field only. Good to know.

Pj.