Code

Merge branch 'jl/fetch-submodule-recursive'
authorJunio C Hamano <gitster@pobox.com>
Thu, 16 Dec 2010 20:57:15 +0000 (12:57 -0800)
committerJunio C Hamano <gitster@pobox.com>
Thu, 16 Dec 2010 20:57:15 +0000 (12:57 -0800)
* jl/fetch-submodule-recursive:
  fetch_populated_submodules(): document dynamic allocation
  Submodules: Add the "fetchRecurseSubmodules" config option
  Add the 'fetch.recurseSubmodules' config setting
  fetch/pull: Add the --recurse-submodules option

Conflicts:
builtin/fetch.c

1  2 
Documentation/config.txt
Documentation/fetch-options.txt
builtin/fetch.c
git-pull.sh

Simple merge
index 678675ccdf06dbe0e97d80bb3fbc8985155d2fc0,99e72d912488a73fffc816b2a006c453ab8b0e02..695696da1b6e78639014388e1d4ac8bf09a0e12d
@@@ -61,10 -58,18 +61,21 @@@ ifndef::git-pull[
        objects reachable from the branch heads that are being
        tracked will not be fetched by this mechanism.  This
        flag lets all tags and their associated objects be
 -      downloaded.
 +      downloaded. The default behavior for a remote may be
 +      specified with the remote.<name>.tagopt setting. See
 +      linkgit:git-config[1].
 +endif::git-pull[]
+ --[no-]recurse-submodules::
+       This option controls if new commits of all populated submodules should
+       be fetched too (see linkgit:git-config[1] and linkgit:gitmodules[5]).
+ ifndef::git-pull[]
+ --submodule-prefix=<path>::
+       Prepend <path> to paths printed in informative messages
+       such as "Fetching submodule foo".  This option is used
+       internally when recursing over submodules.
+ endif::git-pull[]
  
  -u::
  --update-head-ok::
diff --cc builtin/fetch.c
index 6bcce55c0cdb6686e0585bf11107559ba61a5700,75032a507675914badcdce614ddd03dac4731ff8..357f3cdbbfd601e2ce3f1261a4d6b30c1257cda4
@@@ -51,7 -60,10 +59,10 @@@ static struct option builtin_fetch_opti
        OPT_SET_INT('n', NULL, &tags,
                    "do not fetch all tags (--no-tags)", TAGS_UNSET),
        OPT_BOOLEAN('p', "prune", &prune,
 -                  "prune tracking branches no longer on remote"),
 +                  "prune remote-tracking branches no longer on remote"),
+       OPT_SET_INT(0, "recurse-submodules", &recurse_submodules,
+                   "control recursive fetching of submodules",
+                   RECURSE_SUBMODULES_ON),
        OPT_BOOLEAN(0, "dry-run", &dry_run,
                    "dry run"),
        OPT_BOOLEAN('k', "keep", &keep, "keep downloaded pack"),
diff --cc git-pull.sh
Simple merge