On Fri, Mar 08, 2019 at 12:40:15AM +0100, SZEDER Gábor wrote: > On Thu, Mar 07, 2019 at 09:44:47PM +0000, Alexander Huynh wrote: > > [git-test@chabuduo ~]$ cat > ~/.gitconfig > > [remote "origin"] > > fetch = +refs/heads/*:refs/remotes/origin/* > > Why do you do this? > > First, this is the default refspec configuration that clone will fetch > and set up in the clone's config file anyway. You don't have to set > it. My mistake. I was under the assumption that this configuration variable was needed for git to fetch all remote refs, and that this behaviour wasn't default. > Anyway, this is a side-effect of 515be83382 (clone: respect additional > configured fetch refspecs during initial fetch, 2018-11-14). Since > then the same refspec comes up twice in remote->fetch, once from the > configuration and once the explicitly added default refspec. And > since 'git clone' doesn't run a fully-fledged 'git fetch' and has its > own simple refs-to-refspec matching logic, it ends up trying to write > each ref twice, once for each of the two refspecs, in a single ref > transaction. Thanks for the clarification! One question: should we update the documentation at https://git-scm.com/docs/git-fetch#CRTB to not list this as an example to follow? Thanks again, Alex