git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH v2 0/7] Teach fetch/pull the on-demand mode and make it the default

From
Jens Lehmann <jens.lehmann@web.de>
Date
Mar 1, 2011, 22:59 UTC
Message-ID
<4D6D7A50.5090802@web.de>
So here is version 2 of the on-demand recursive fetch for submodules.
Changes since the last version:
*) Add a name parameter to parse_fetch_recurse_submodules_arg()
*) Enhance description of the "--submodule-default" fetch option
*) Free the changed_submodule_paths string_list at the end of
   fetch_populated_submodules() to aid libification and to make
   valgrind happy
*) Add a comment for the while loop in check_for_new_submodule_commits()
*) Use "--all" instead of "--branches" and "--remotes" for rev-list to
   include tags too
*) Compute the argc value properly instead of hard coding it in
   check_for_new_submodule_commits()
*) Change size_t casts to intptr_t where appropriate
*) Use "rev-list --not --all" when checking if a submodule commit exists
   instead of a simple lookup/rev-parse to make sure they are not only
   present but are reachable from a ref
*) Describe that fetch and pull only work on populated submodules for
   now in the BUGS section of their man pages (done in a separate commit
   because this doesn't belong to a special commit in this series but
   also to the functionality that has already been merged)
Thanks to Jonathan an Junio for the feedback that lead to these changes.
Issues that were raised but not addressed yet:
*) Should this option be called "on-demand" or "changed" or maybe even
   "updated"?
   I have no strong feelings about this, me just thinks the name should
   tell somehow that only submodules where new commits are recorded in
   the superproject which aren't already present locally will be fetched.
   Opinions?
*) Check the remote tracking refs in the submodule in tests instead of
   the output of the fetch command
Jens Lehmann (7):
  fetch/pull: recurse into submodules when necessary
  fetch/pull: Add the 'on-demand' value to the --recurse-submodules
    option
  config: teach the fetch.recurseSubmodules option the 'on-demand'
    value
  Submodules: Add 'on-demand' value for the 'fetchRecurseSubmodule'
    option
  fetch/pull: Don't recurse into a submodule when commits are already
    present
  submodule update: Don't fetch when the submodule commit is already
    present
  fetch/pull: Describe --recurse-submodule restrictions in the BUGS
    section
 Documentation/config.txt        |   12 ++-
 Documentation/fetch-options.txt |   27 ++++-
 Documentation/git-fetch.txt     |    9 ++
 Documentation/git-pull.txt      |   11 ++-
 Documentation/gitmodules.txt    |    4 +-
 builtin/fetch.c                 |   47 ++++++--
 git-pull.sh                     |    3 +
 git-submodule.sh                |    5 +-
 submodule.c                     |  152 +++++++++++++++++++++--
 submodule.h                     |   11 ++-
 t/t5526-fetch-submodules.sh     |  255 +++++++++++++++++++++++++++++++++++++++
 t/t7403-submodule-sync.sh       |    2 +-
 t/t7406-submodule-update.sh     |   20 +++
 13 files changed, 521 insertions(+), 37 deletions(-)
-- 
1.7.4.1.291.g6060
Next: Jens Lehmann
Message 1 of 16 in “Teach fetch/pull the on-demand mode and make it the default”
  1. 0/7 Teach fetch/pull the on-demand mode and make it the defaultJens Lehmann, Mar 1, 2011
  2. 1/7 fetch/pull: recurse into submodules when necessaryJens Lehmann, Mar 1, 2011
  3. Marc BranchaudMar 2, 2011
  4. 2/7 fetch/pull: Add the 'on-demand' value to the --recurse-submodules optionJens Lehmann, Mar 1, 2011
  5. Marc BranchaudMar 2, 2011
  6. Marc BranchaudMar 2, 2011
  7. 3/7 config: teach the fetch.recurseSubmodules option the 'on-demand' valueJens Lehmann, Mar 1, 2011
  8. Marc BranchaudMar 2, 2011
  9. 4/7 Submodules: Add 'on-demand' value for the 'fetchRecurseSubmodule' optionJens Lehmann, Mar 1, 2011
  10. 5/7 fetch/pull: Don't recurse into a submodule when commits are already presentJens Lehmann, Mar 1, 2011
  11. Marc BranchaudMar 2, 2011
  12. 6/7 submodule update: Don't fetch when the submodule commit is already presentJens Lehmann, Mar 1, 2011
  13. 7/7 fetch/pull: Describe --recurse-submodule restrictions in the BUGS sectionJens Lehmann, Mar 1, 2011
  14. Jens LehmannMar 2, 2011
  15. Marc BranchaudMar 2, 2011
  16. Jens LehmannMar 2, 2011

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.