[PATCH 1/2] t/t5510: demonstrate failure to fetch when current branch has merge ref
- From
Brandon Casey <casey@nrlssc.navy.mil>
- Date
- Aug 25, 2010, 17:52 UTC
- Message-ID
- <O7UxM6KEqdDAhjJAF7ODSonSLShoyHHhaZNp8vb1mx2_JFqmMUj1Op5xiv_-bSd8xW04rLMul2k@cipher.nrlssc.navy.mil>
- In-Reply-To
- <pzml8liT3RErVlMrdxbSkHmhBs1RMvwYma9UXgvG6WY@cipher.nrlssc.navy.mil>
From: Brandon Casey <drafnel@gmail.com>
When 'git fetch' is supplied just a repository URL (not a remote name), and without a fetch refspec, it should fetch from the remote HEAD branch and update FETCH_HEAD with the fetched ref. Currently, when 'git fetch' is called like this, it fails to retrieve anything, and does not update FETCH_HEAD, if the current checked-out branch has a configured merge ref.
i.e. this fetch fails to retrieve anything nor update FETCH_HEAD:
git checkout master git config branch.master.merge refs/heads/master git fetch git://git.kernel.org/pub/scm/git/git.git
but this one does:
git config --unset branch.master.merge git fetch git://git.kernel.org/pub/scm/git/git.git
Add a test to demonstrate this flaw.
Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil> --- t/t5510-fetch.sh | 6 ++++++ 1 files changed, 6 insertions(+), 0 deletions(-)
diff --git a/t/t5510-fetch.sh b/t/t5510-fetch.sh index 4eb10f6..3c7569c 100755 --- a/t/t5510-fetch.sh +++ b/t/t5510-fetch.sh @@ -240,6 +240,12 @@ test_expect_success 'fetch with a non-applying branch.<name>.merge' ' git fetch blub ' +test_expect_failure 'fetch from GIT URL with a non-applying branch.<name>.merge' ' + git update-ref -d FETCH_HEAD && + git fetch one && + git rev-parse --verify FETCH_HEAD +' + # the strange name is: a\!'b test_expect_success 'quoting of a strangely named repo' ' test_must_fail git fetch "a\\!'\''b" > result 2>&1 &&
-- 1.7.2.1