Re: aborted 'git fetch' leaves workspace unusable
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Jan 2, 2014, 18:09 UTC
- Message-ID
- <xmqqbnzuqmqe.fsf@gitster.dls.corp.google.com>
- In-Reply-To
- <32eeea08963ec4438f97ff9ef6553a75@stephe-leake.org>
stephen_leake@stephe-leake.org 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.