Re: [PATCH v2] Fix fetch/pull when run without --update-head-ok
- From
Johannes Schindelin <johannes.schindelin@gmx.de>
- Date
- Oct 13, 2008, 18:12 UTC
- Message-ID
- <alpine.DEB.1.00.0810132001230.22125@pacific.mpi-cbg.de.mpi-cbg.de>
- In-Reply-To
- <7vod1obmlh.fsf@gitster.siamese.dyndns.org>
Hi,
thanks for doing the due diligence that I should have done (but I ran out of time).
On Mon, 13 Oct 2008, Junio C Hamano wrote:
> The parts of the tests you fixed came from these: > > 6738c81 (send-pack: segfault fix on forced push, 2007-11-08)
This really wants to make sure that no objects are shared or hard-linked between the repository in "trash directory/" and the one in its subdirectory "another/". It predates "test_must_fail", too, it seems.
It never touches the working directory "another/", so using --update-head-ok is okay.
> 4ebc914 (builtin-remote: prune remotes correctly ..., 2008-02-29)
This tests "git remote add"'s --mirror option.
It never touches the working directory either.
> 4942025 (t5510: test "git fetch" following tags minimally, 2008-09-21)
This test is actually not fixed, but contains two test cases for the issue the commit fixes.
> 03db452 (Support gitlinks in fast-import., 2008-07-19)
This creates an empty repository for tests to fast-import, and fetches into the current (not yet existing) branch.
I actually understand now why the tests started failing: the change from resolve_ref() to get_branch() as requested by Daniel are at fault: get_branch() does not check if the branch has an initial commit.
I am actually regretting making this change. Daniel, do you agree that it might be better to change back to resolve_ref(), so that the initial complaint (IIRC Han-Wen git pull'ed into a freshly initialized repository with that utterly bogus "git pull origin master:master" line) is not re-raised?
> With these verified, I think I should move the "Strangely" comment to > the commit log message proper (after stripping "Strangely" part -- it is > not strange anymore after we understand why).
The only test that would need fixing after reverting back to resolve_ref() would be the "remote add --mirror" thing, which I think should be fine.
Ciao, Dscho