t/t5510: demonstrate failure to fetch when current branch has merge ref
authorBrandon Casey <drafnel@gmail.com>
Wed, 25 Aug 2010 17:52:55 +0000 (12:52 -0500)
committerJunio C Hamano <gitster@pobox.com>
Wed, 25 Aug 2010 21:29:46 +0000 (14:29 -0700)
commit6106ce4669051f1f4d3d21a2b22d24747e643147
treed66f39fabdb50919dcf2353ba3eb757ec0a3301d
parentd599e0484f8ebac8cc50e9557a4c3d246826843d
t/t5510: demonstrate failure to fetch when current branch has merge ref

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>
t/t5510-fetch.sh