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

[PATCH v7 0/9] submodule: improve robustness of path handling

From
Jon Seymour <jon.seymour@gmail.com>
Date
May 27, 2012, 15:34 UTC
Message-ID
<1338132851-23497-1-git-send-email-jon.seymour@gmail.com>
This series improves the robustness of path handling by 'git submodule' by:
* detecting submodule URLs that will result in non-sensical submodule origin URLs
* improving handling of various kinds of relative superproject origin URLs
* improving handling of various kinds of denormalized superproject origin URLs
This series differs from v5 in the following ways, by:
* Adding a more extensive set of failure tests to illustrate the conditions 
being addressed.
* Modifying the ../ processing loop in resolve_relative_url to exclude the 
'invariant' parts of absolute URLs from relative URL processing and thereby 
enable earlier and more accurate detection of edits that are going to 
produce a non-sensical output.
* Simplifying relative superproject origin URL support, by taking advantage of
the modifications above.
* Adding support for normalizing denormalized superproject origin URLs.
* Adding some additional regression tests to help guard against 
unintended regressions by this series.
* Improving the source code comments to better explain the purpose
of various code functions and code blocks
This series differs from v6 by applying the fix in 8/9 to a wider set of tests.
Each patch in the series has been regression tested against the following tests:
   t2013-checkout-submodule.sh
   t2103-update-index-ignore-missing.sh
   t2105-update-index-gitfile.sh
   t2201-add-update-typechange.sh
   t3000-ls-files-others.sh
   t3030-merge-recursive.sh
   t3404-rebase-interactive.sh
   t4027-diff-submodule.sh
   t4041-diff-submodule-option.sh
   t4134-apply-submodule.sh
   t5526-fetch-submodules.sh
   t5531-deep-submodule-push.sh
   t6008-rev-list-submodule.sh
   t7003-filter-branch.sh
   t7400-submodule-basic.sh
   t7401-submodule-summary.sh
   t7402-submodule-rebase.sh
   t7403-submodule-sync.sh
   t7405-submodule-merge.sh
   t7406-submodule-update.sh
   t7407-submodule-foreach.sh
   t7408-submodule-reference.sh
   t7506-status-submodule.sh
   t7508-status.sh
   t7610-mergetool.sh
   t9300-fast-import.sh
   t9350-fast-export.sh
which are the tests that match a grep search for submodule.
Jon Seymour (9):
  submodule: additional regression tests for relative URLs
  submodule: document failure to detect invalid submodule URLs
  submodule: document failure to handle relative superproject origin
    URLs
  submodule: document failure to handle improperly normalized remote
    origin URLs
  submodule: extract normalize_path into standalone function
  submodule: fix detection of invalid submodule URL
  submodule: fix sync handling of relative superproject origin URLs
  submodule: fix handling of denormalized superproject origin URLs
  submodule: fix normalization to handle repeated ./
 git-submodule.sh             | 118 +++++++++++++----
 t/t7400-submodule-basic.sh   | 297 ++++++++++++++++++++++++++++++++++++++++++-
 t/t7403-submodule-sync.sh    |  97 +++++++++++++-
 t/t7406-submodule-update.sh  |  16 ++-
 t/t7407-submodule-foreach.sh |  14 +-
 t/t7506-status-submodule.sh  |  10 +-
 6 files changed, 504 insertions(+), 48 deletions(-)
-- 
1.7.10.2.656.g24a6219
Next: Jon Seymour
Message 1 of 17 in “submodule: improve robustness of path handling”
  1. 0/9 submodule: improve robustness of path handlingJon Seymour, May 27, 2012
  2. 1/9 submodule: additional regression tests for relative URLsJon Seymour, May 27, 2012
  3. 2/9 submodule: document failure to detect invalid submodule URLsJon Seymour, May 27, 2012
  4. 3/9 submodule: document failure to handle relative superproject origin URLsJon Seymour, May 27, 2012
  5. 4/9 submodule: document failure to handle improperly normalized remote origin URLsJon Seymour, May 27, 2012
  6. 5/9 submodule: extract normalize_path into standalone functionJon Seymour, May 27, 2012
  7. 6/9 submodule: fix detection of invalid submodule URLJon Seymour, May 27, 2012
  8. Johannes SixtMay 28, 2012
  9. Jon SeymourMay 28, 2012
  10. Jon SeymourJun 3, 2012
  11. 7/9 submodule: fix sync handling of relative superproject origin URLsJon Seymour, May 27, 2012
  12. 8/9 submodule: fix handling of denormalized superproject origin URLsJon Seymour, May 27, 2012
  13. Jon SeymourMay 27, 2012
  14. 9/9 submodule: fix normalization to handle repeated ./Jon Seymour, May 27, 2012
  15. Jens LehmannMay 28, 2012
  16. Jon SeymourMay 28, 2012
  17. Jens LehmannMay 29, 2012

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.