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/20170616173849.8071-1-szeder....@gmail.com/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

Reply via email to