質問

libreOfficeはzipされているXMLベースのフォーマットを使用し、結果のファイルを比較的小さくしますが、SVNの差分の目的では役に立たない。しかし、私は最近、平らなXML均等物(例えば、.odsスプレッドシートが.FODSフラットXMLスプレッドシートになり、SVNに拡大済み)があることを学びました。

今、SVNのテキスト対バイナリについてのことは通常、20kbのファイルを持っていて圧縮されている場合は、それがもう1つの20kbが2進であるかどうかをコミットするためにあなたがコミットするのに役立ちます。それがテキストであれば数バイトしか費やされないかもしれませんが、差分のみが保存されます。

私の場合私は典型的なスプレッドシートを持っています。いくつかのセルを追加して保存すると、diffを実行すると、ファイルの50%以上が変更されたことがわかります。そして、フラットXMLバージョンが164KBであることを考えると、それは実際にバイナリバージョンを保存するのがより効率的であることを意味します。

だから、私は何かが足りない、またはこの平らなXMLのことは本当に非効率的ですか?

役に立ちましたか?

解決

これは本質的にの複製です。 OpenXML Office文書を効率的に保存しますか?

答えはまだ本当です。これを解決するための作業があります。 STEFANのSUBVERSION.APACHE.ORGリスト。

フォーマット7そのスレッドでは、FSFSフォーマット7について話していますが、1.9.0の次の部分です。残念なことに、それ以来、Stefanがこれに向かって行った作品はフォーマット7から滑り落ちたことを信じています(しかし私はそれに間違っている可能性があります)そしてFSXバックエンドには1.9.0にも存在する実験的な記憶メカニズムです。しかし、まだ製造の使用にはお勧めできません(しかし、私はそれに間違っている可能性があります)。

フラットXMLについての質問には、はい、それはたくさん役立ちます。あなたが(私が提供した単一の回答ではなく)スレッド全体を読むならば、私はそれが時間である可能性のある回避策として言及されると確信しています。

あなたがSVNの差分を使って、フラットXMLがどのくらいのXMLがどのくらいのストレージスペースを与えるかについての考えを得ることのように聞こえます。残念ながら、それは本当にあなたを多くの助けにするつもりはありません。まず、Subversionは、Unified Diffフォーマットとはるかに異なるバイナリデルタフォーマットを使用します。

ジップされたケースについてさえもあなたの仮定のいくつかは本当ではありません。 ZipされたXMLバンドルの一部を変更したため、ファイル全体が変更されたわけではありません。リンクされているStefanのEメールを参照してください。

も、ファイルの前の改訂によくデルタを保存しません。むしろを使用して、どのようなものを決定します。デルタを保存するための改訂、そしてさえ全文を保存することもあります。その目的は、与えられた改訂の全文を計算するために行われた作業量を制限することです。何らかの real="> ksf-deltification">スキップデルタアルゴリズムを変更するfsfs.confのオプション

フラットファイルが効率的な場合は正確なアイデアを得たい場合は、実験を行い、ディスク上のリポジトリのサイズがどのように拡大するかを確認してください。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top