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

问题描述:

我们都知道工具,第三方或内置于操作系统,用于将压缩文件视为文件夹。但有谁知道如何做相反的事情:诱使操作系统认为包含一些文件的标准文件夹实际上是一个压缩文件?寻求Windows,Linux和Mac解决方案(尽管我认识到没有任何单一解决方案可以在所有这些平台上运行)。如何将未压缩文件夹视为压缩文件?

问题的上下文是获取像SVN,Git或Mercurial这样的源代码版本控制系统,以便在存储实际上是压缩文件夹的文档版本(包含各种XML文件,一些元数据和缩略图或两个缩略图),例如ODT和DOCX。

我已经知道Zipdoc和类似的使用Git和Mercurial编码/解码挂钩来将数据转换为存储库或从存储库转出的utils。这是一个很好的解决方案,但我发现自己希望浏览包含文档的未压缩文件夹内容的存储库,并单独对其中的文件进行区分。

这意味着未压缩的内容必须添加到存储库,而不是压缩文件的tar或压缩版本。这反过来意味着来自存储库的检出会生成一个包含文件的未压缩文件夹。因此我原来的问题。

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

另外,有没有人知道如何利用Git/Mercurial编码/解码挂钩来实现这个梦想?

+1

我一定是误解了你,因为我不明白为什么你需要的OS欺骗,以为一个文件夹被压缩。为什么不把常规的未压缩目录包含在repo中(没有特殊的扩展名),并让操作系统认为它是未压缩的。因为它是。 – 2012-02-13 06:15:38

+1

这个问题是不一般的。如果可以使其更具体,你可能会得到更好的回应。 – 2012-02-13 06:33:20

+0

@BenLee:所以双击“重新解释”文件将打开适当的注册应用程序的文件的类型/扩展名。我在这里描绘了一个驾驶员级别的设施。 – textral 2012-02-13 11:45:03

要在一个不错的方式解决这个问题,你可以使用一个赫德翻译与nsmux - 虽然改变你的内核很可能为一大步:)

http://www.gnu.org/software/hurd/hurd/translator/nsmux.html

你也许能够适应tarfs翻译器。这将允许您通过folder,,zip打开文件夹。

但是这需要很多工作。

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