The initial fetch during a clone doesn't transfer refs matching
additional fetch refspecs given on the command line as configuration
variables, e.g. '-c remote.origin.fetch=<refspec>'. This contradicts
the documentation stating that configuration variables specified via
'git clone -c <key>=<value> ...' "take effect immediately after the
repository is initialized, but before the remote history is fetched"
and the given example specifically mentions "adding additional fetch
refspecs to the origin remote".
The second patch in this series makes it work. The other two are
while-at-its: the first is a little cleanup, and the last one
documents other known ignored configuration variables (but whose
functionality is available through command line options).
This patch series should have been marked as v6, but I chose to reset
the counter, because:
- v5 was sent out way over a year ago [1], and surely everybody has
forgotten about it since then anyway. But more importantly:
- A lot has happened since then, most notably we now have a refspec
API, which makes this patch series much simpler (now it only
touches 'builtin/clone.c', the previous version had to add stuff
to 'remote.{c,h}' as well).
[1] For reference, though I actually doubt it's worth looking up:
https://public-inbox.org/git/[email protected]/T/#u
SZEDER Gábor (3):
clone: use a more appropriate variable name for the default refspec
clone: respect additional configured fetch refspecs during initial
fetch
Documentation/clone: document ignored configuration variables
Documentation/git-clone.txt | 6 +++++
builtin/clone.c | 33 +++++++++++++++-----------
t/t5611-clone-config.sh | 47 +++++++++++++++++++++++++++++++++++++
3 files changed, 72 insertions(+), 14 deletions(-)
--
2.19.1.1182.gbfcc7ed3e6