[ET Trac] #2942: Formaline: preserve symlinks in git source snapshots
Roland Haas
trac-noreply at einsteintoolkit.org
Thu May 14 12:44:34 CDT 2026
#2942: Formaline: preserve symlinks in git source snapshots
Reporter: Roland Haas
Status: new
Milestone:
Version:
Type: bug
Priority: major
Component:
@{557058:8bc23f2a-45c0-477d-8ac4-a5a16c734278} reports:
Formaline currently warns and skips symbolic links when updating its git
source snapshot because update-git-repo.pl only accepts regular files.
This causes valid symlinks, including symlinks to directories, to be
omitted from the stored source tree.
Allow symbolic links through the existing file-type check. When the
temporary hard-link staging tree can represent the symlink, the existing
bulk git add path continues to handle it. If hard-link staging fails,
add a symlink-specific fallback that writes the link target as a Git blob
and stages it with mode 120000, which is Git's native representation
for symbolic links.
Broken symlinks are still refused with a warning and removed from the
desired tracked set, matching the existing behavior for missing files
while making the broken-link case explicit.
The fallback path also avoids shell-quoting the Cactus filename directly
by passing paths and link targets through environment variables before
feeding them to `git hash-object / git update-index`.
--
Ticket URL: https://bitbucket.org/einsteintoolkit/tickets/issues/2942/formaline-preserve-symlinks-in-git-source
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.einsteintoolkit.org/pipermail/trac/attachments/20260514/cf3f0b7b/attachment.htm>
More information about the Trac
mailing list