git 跟踪资源分叉吗?

发布于 2024-07-27 17:48:14 字数 115 浏览 4 评论 0原文

每次替换受版本控制的 Photoshop .psd 文件时,我都会问自己这个问题。

您可以使用ls -l看到PS已在资源分支中创建了缩略图图标。

I ask myself this every time I replace a Photoshop .psd file that I have under version control.

You can see with ls -l that PS has created a thumbnail icon in the resource fork.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

囚我心虐我身 2024-08-03 17:48:14

Git 不会跟踪元数据,因为这些资源不是文件内容的一部分(因此您的答案是“否”)。

在他的“跨平台版本控制”条目中,Jakub Narębski 评论道:

不符合 SCM 的额外元数据问题,以及不同文件系统可以或不能存储的问题。
示例包括完整的 Unix 权限、Unix 所有权(以及文件所属的组)、其他与权限相关的元数据(例如 ACL)、与文件相关的额外资源(例如某些 Linux 文件系统的 EA(扩展属性))或 MacOS 中(臭名昭著)的资源形式(MacOS 上的资源分叉与 Linux 上的 xattrs:Eric Sink 文章中的第 5 期) .

这不是 SCM 的问题:代码管理系统需要解决。
不加区别地保留额外的元数据可能会导致问题,例如完全权限和所有权。
因此,SCM 仅保留有限的 SCM 元数据子集。
如果您需要保留额外的元数据,您可以使用(在良好的 SCM 中)钩子,例如 etckeeper 使用 元存储(在 Git 中)。


Thomas Tempelmann 评论

实际上,自 macOS 10.12 起,textClippings 也会以 plist 格式将信息存储在数据分支中,并且具有与资源分支内容相同的键和值。< /p>

如果 rsrc 丢失,则 QuickLook 唯一不起作用,但打开这些文件将显示内容。
因此,在 Git 中存储 .textClipping 文件并非没有希望。

Git will not track metadata, as those resources are not part of the content of the file (so your answer is "no").

In his "Cross-Platform Version Control" entry, Jakub Narębski comments:

The issue of extra metadata that is not SCM-sane, and which different filesystems can or cannot store.
Examples include full Unix permissions, Unix ownership (and groups file belongs to), other permission-related metadata such as ACL, extra resources tied to file such as EA (extended attributes) for some Linux filesystems or (in)famous resource form in MacOS (resource fork on MacOS vs. xattrs on Linux: issue 5 in Eric Sink article).

This is not an issue for SCM: source code management system to solve.
Preserving extra metadata indiscrimitedly can cause problems, like e.g. full permissions and ownership.
Therefore SCM preserve only limited SCM-sane subset of metadata.
If you need to preserve extra metadata, you can use (in good SCMs) hooks for that, like e.g. etckeeper uses metastore (in Git).


Thomas Tempelmann notes in the comments:

Actually, since macOS 10.12, textClippings store the info also in the data fork, in plist format, with the same keys and values of the resource fork's contents.

The only thing that won't work is QuickLook if the rsrc is missing, but opening these files will show the content.
Therefore, storing .textClipping files in Git is not hopeless.

冰魂雪魄 2024-08-03 17:48:14

简短的回答是

在 Mac 上,默认情况下,git 不跟踪资源分支、xattrs 或 finder 信息。

git 将立即“切片”您的资源分支,这正是我想要的。

其他工具,例如 cprsync 已在 Mac 上进行了修补以保留
这些元数据有时很方便,有时很烦人。

git 还不烦人。 或者方便,取决于你的观点。

Short answer is no.

On the mac, by default, git does not track resource forks, or xattrs or finder info.

git will "slice" your resource forks right off, which is exactly what I wanted.

Other tools, like cp and rsync have been patched on the mac to preserve
this metadata, which at times is convenient and at other times annoying.

git is not yet annoying. Or convenient, depending on your POV.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文