Thread (3 messages) flat view 3 messages, 2 authors, 2016-06-15

Re: Specifying multiple refspecs in remote.{remote}.fetch

From: Jakub Narebski <hidden>
Date: 2016-06-15 22:46:58

Jon Seymour [off-list ref] writes:
It doesn't seem to be possible to specify multiple refspecs in a git config.

I want to do this:

remote.hub/pub/release.fetch=+refs/heads/*:refs/remotes/hub/pub/release/*
+refs/tags/*:refs/tags/hub/pub/release/*
remote.hub/pub/release.tagopt=--no-tags

but git fetch complains:

fatal: Invalid refspec '+refs/heads/*:refs/remotes/hub/pub/release/*
+refs/tags/*:refs/tags/hub/pub/release/*'

Now, in theory, I could use a file in remotes/ to specify multiple
Pull: lines. This works if my remote doesn't have slashes in its name,
but it doesn't work if my remote does have slashes in its name since
git doesn't recognize remote files located in sub-directories of
${GIT_DIR}/remotes.
And you can put multiple values for the same remote.hub/pub/release.fetch
key, using "git config --add".  

  $ git config --add remote.hub/pub/release.fetch \
        +refs/heads/*:refs/remotes/hub/pub/release/*
  $ git config --add remote.hub/pub/release.fetch \
        +refs/tags/*:refs/tags/hub/pub/release/*
  $ ...

You would get the following config:

  [remote "hub/pub/release"]
        url = ...
        fetch = +refs/heads/*:refs/remotes/hub/pub/release/*
        fetch = +refs/tags/*:refs/tags/hub/pub/release/*
        tagopts = --no-tags

You don't put many refspecs in a *single* value.
 
Is it a reasonable expectation that:

* git should support multiple refspecs specified via git config?
It does.
* git should support subdirectories in ${GIT_DIR}/remotes?
It does.

-- 
Jakub Narebski
Poland
ShadeHawk on #git
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help