Skip to content

Commit

Permalink
t/t5510: demonstrate failure to fetch when current branch has merge ref
Browse files Browse the repository at this point in the history
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>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
  • Loading branch information
Brandon Casey authored and Junio C Hamano committed Aug 25, 2010
1 parent d599e04 commit 6106ce4
Showing 1 changed file with 6 additions and 0 deletions.
6 changes: 6 additions & 0 deletions t/t5510-fetch.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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 &&
Expand Down

0 comments on commit 6106ce4

Please sign in to comment.