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

[PATCH 0/2] Symlink resolutions: limits and return modes

From
MGMiguel Ángel Pastor Olivar via GitGitGadget <gitgitgadget@gmail.com>
Date
Jun 17, 2024, 09:03 UTC
Message-ID
<pull.1751.git.1718615028.gitgitgadget@gmail.com>

It can be useful to limit the number of symlink resolutions performed while looking for a tree entry. The goal is to provide the ability to resolve up to a particular depth, instead of reaching the end of the link chain.

In addition, I would like to extend the symlink resolution process and provide the ability to return the object found at the designated depth instead of returning an error.

The current code already provides a limit to the maximum number of resolutions that can be performed, and something similar to this is returned to the caller:

loop SP <size> LF <object> LF

With these patches, we are looking to return the actual information of the object where the resolution stopped. Something similar to:

<oid> blob <size>\nndata\n
Miguel Ángel Pastor Olivar (2):
  cat-file: configurable number of symlink resolutions
  cat-file: configurable "best effort mode" for symlink resolution
 Documentation/config/core.txt | 19 +++++++++++++++
 config.c                      | 18 ++++++++++++++
 environment.c                 |  3 +++
 environment.h                 |  8 ++++++
 t/t1006-cat-file.sh           | 46 +++++++++++++++++++++++++++++++++++
 tree-walk.c                   | 18 +++++++++++++-
 6 files changed, 111 insertions(+), 1 deletion(-)
base-commit: d63586cb314731c851f28e14fc8012988467e2da
Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-1751%2Fmigue%2Fmigue%2Ffollow-symlinks-max-depth-v1
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-1751/migue/migue/follow-symlinks-max-depth-v1
Pull-Request: https://github.com/gitgitgadget/git/pull/1751
-- 
gitgitgadget
Next: Miguel Ángel Pastor Olivar via GitGitGadget
Message 1 of 6 in “Symlink resolutions: limits and return modes”
  1. 0/2 Symlink resolutions: limits and return modesMiguel Ángel Pastor Olivar via GitGitGadget, Jun 17, 2024
  2. 1/2 cat-file: configurable number of symlink resolutionsMiguel Ángel Pastor Olivar via GitGitGadget, Jun 17, 2024
  3. Junio C HamanoJun 17, 2024
  4. 2/2 cat-file: configurable "best effort mode" for symlink resolutionMiguel Ángel Pastor Olivar via GitGitGadget, Jun 17, 2024
  5. Junio C HamanoJun 17, 2024
  6. Junio C HamanoJun 17, 2024

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.