如何将未压缩的文件夹视为压缩文件?

tex*_*ral 5 git mercurial docx odt

我们都知道用于将压缩文件视为文件夹的第三方工具或操作系统内置工具。但是,有人知道该怎么做吗:诱使OS认为包含某些文件的标准文件夹实际上是压缩文件吗?寻求针对Windows,Linux和Mac的解决方案(尽管我意识到在所有这些平台上都无法使用单个解决方案)。

问题的上下文在于使诸如SVN,Git或Mercurial之类的源代码版本控制系统更有效地存储实际上是压缩文件夹的文档版本之间的差异(保存各种XML文件,一些元数据和一两个缩略图) ),例如ODT和DOCX。

我已经知道Zipdoc和类似的utils,它们使用Git和Mercurial编码/解码钩子将数据转换进出存储库。这是解决该问题的一种很好的方法,但是我发现自己想浏览包含文档未压缩文件夹内容的存储库,并逐个比较其中的文件。

这意味着必须将未压缩的内容添加到存储库中,而不是文档的tar压缩版本或无压缩版本。反过来,这意味着从存储库中签出将产生一个未压缩的文件夹,其中充满了代表文档的文件。因此是我最初的问题。

我设想的神话般的产品将检测到一个名称包含“已注册”扩展名(例如“ docx”)的文件夹,然后将其“重新装入”为同名压缩文件。

或者,有人知道如何利用Git / Mercurial编码/解码钩子来实现这一梦想吗?

Arn*_*ide 2

为了以一种很好的方式解决这个问题,您可以使用带有 nsmux 的 Hurd 翻译器 - 尽管更改内核可能是一个很大的进步:)

\n\n

\xe2\x86\x92 http://www.gnu.org/software/hurd/hurd/translator/nsmux.html

\n\n

您也许可以调整 tarfs 翻译器。这将允许您通过打开文件夹folder,,zip

\n\n

但这需要做很多工作。

\n\n

(这是一个很好的例子,一个非常简单的用例指向一个相当复杂的问题)

\n