Subject: Re: aborted 'git fetch' leaves workspace unusable

From: Junio C Hamano <[email-masked]>
Date: Thu, 02 Jan 2014 10:09:45 -0800

[email-masked] writes:

> However, in this case, even running the fetch was a mistake; I would
> have prefered that it leave FETCH_HEAD in its previous state.

I think the clearing of leftover FETCH_HEAD is one of the early
things "git fetch" does, unless "--append" is in effect.  I haven't
looked at the code for a long time, but it may be possible to move
the logic of doing so around so that this clearing is done as lazily
as possible.

I however suspect that such a change may have fallouts on other
people who are writing tools like yours; they may be depending on
seeing FETCH_HEAD cleared after a failed fetch, and be surprised to
see a stale contents after they (attempt to) run "git fetch" in it.

So it is not so clear if it is a good thing to change the behaviour
of "git fetch" not to touch FETCH_HEAD upon a failure.