5

圧縮ファイルをフォルダーとして扱うためのサードパーティまたは OS に組み込まれたツールについては、誰もが知っています。しかし、逆の方法を知っている人はいますか? OS をだまして、いくつかのファイルを含む標準フォルダーが実際には zip ファイルであると認識させますか? Windows、Linux、および Mac 用のソリューションが求められています (ただし、これらすべてのプラットフォームで機能する単一のソリューションはありません)。

質問の内容は、SVN、Git、または Mercurial などのソース コード バージョン管理システムを取得して、実際には圧縮フォルダー (さまざまな XML ファイル、少しのメタデータ、および 1 つまたは 2 つのサムネイルを保持する) であるドキュメントのバージョン間の差分をより効率的に保存することです。 )、ODT や DOCX など。

私は、Git および Mercurial のエンコード/デコード フックを使用してリポジトリとの間でデータを変換する Zipdoc および同様のユーティリティについて既に知っています。これは問題の優れた解決策ですが、ドキュメントの圧縮されていないフォルダーの内容を含むリポジトリを参照し、その中のファイルを個別に比較したいと思いました。

これは、圧縮されていないコンテンツをリポジトリに追加する必要があることを意味します。ドキュメントの tar 化または圧縮なしで圧縮されたバージョンではありません。これは、リポジトリからチェックアウトすると、ドキュメントを表すファイルでいっぱいの圧縮されていないフォルダーが生成されることを意味します。したがって、私の元の質問。

私が想像する架空の製品は、名前に「登録済み」拡張子 (「docx」など) が含まれるフォルダーを検出し、それを同じ名前の圧縮ファイルとして「再マウント」します。

あるいは、Git/Mercurial のエンコード/デコード フックを利用してこの夢を実現する方法を知っている人はいますか?

4

2 に答える 2

2

これを良い方法で解決するには、nsmux で Hurd トランスレータを使用できます。ただし、カーネルを変更することは、そのための大きな一歩になる可能性があります :)

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

tarfs トランスレーターを適応させることができるかもしれません。これにより、 経由でフォルダを開くことができますfolder,,zip

しかし、それにはかなりの作業が必要になります。

(これは、かなり複雑な問題を指す非常に単純なユースケースの良い例です)

于 2012-07-02T10:02:59.573 に答える