Specifying multiple refspecs in remote.{remote}.fetch
From: Jon Seymour <hidden>
Date: 2016-06-15 22:46:58
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.
Is it a reasonable expectation that:
* git should support multiple refspecs specified via git config?
* git should support subdirectories in ${GIT_DIR}/remotes?
BTW: the reason I want to do this is that I need to namespace the tags
and heads because I am using a "hub" repo to simplify a transport
topology for distributing a number of different spoke repos via a
smaller number of hub repos. Since I can't guarantee the branches and
tags of each spoke repo will be globally unique, I need to namespace
both the heads and the tags and a path-like naming convention for each
spoke repo seems like the most natural way to do that.
jon seymour.