「スキップデルタ」はSVNに固有ですか?


8

SVNバージョン管理システムを作成した善良な人々は、「スキップデルタ」と呼ばれる構造を使用して、ファイルの変更履歴を内部に保存します。リビジョンは、以前のリビジョンに対するデルタとして保存されます。ただし、次のように、リビジョンNは必ずしもリビジョンN-1に対するデルタとして格納されるわけではありません。

0 <- 1 <- 2 <- 3 <- 4 <- 5 <- 6 <- 7 <- 8 <- 9

代わりに、リビジョンNはNf(N)に対するデルタとして格納されます。ここで、f(N)はNを分割する2の最大の累乗です。

0 <- 1    2 <- 3    4 <- 5    6 <- 7
0 <------ 2         4 <------ 6
0 <---------------- 4
0 <------------------------------------ 8 <- 9

(表面的にはスキップリストのように見えますが、実際にはそれほど似ていません。たとえば、スキップデルタはリストの真ん中に挿入をサポートすることに関心がありません。)詳細については、こちらを参照しください

私の質問は次のとおりです。他のシステムはスキップデルタを使用しますか?SVNの前に既知/使用/公開されたデルタをスキップしましたか、それともSVNの作成者がそれを自分で作成しましたか?


1
他のいくつかのVCSに関連するように、MITからのこのキャッシュされたメモが興味深いかもしれません。著者は他の実装を知りませんでした。バザーについてここにメモを見ましたが、現在の状態を見つけるのに苦労していました。私の直感は、これはおそらく既存のテーマのバリエーションとしてのSVNから始まったと言います。
Jトラナ2014

回答:


1

あなたのリンクから始めてくださいSubversionのSkip-Deltas私はこのノートを読みましたファイルのバージョン履歴を保持することに関するメモとそこに書かれています:

著者は、技術を説明する論文やその他の参考文献を知らない[​​デルタをスキップ]。..このドキュメントは、2002年6月24日にGreg Hudsonによって作成されました。最終更新日は2002-10-03です。

だから私の推測では、スキップデルタはSVNチームによって2002年以前のどこかで発明されたと思います。詳しく知りたい場合は、このGreg Hudsonに連絡してください。

または、バージョン管理システム(CVS)を使用してSVNを開発していて、まだコミットログがあるのでしょうか?

また、デルタ圧縮も検索しましたが、以前のリファレンスは見つかりませんでした。このスキップデルタ手法は高速検索に特化しているため、おそらくSVNの前に誰もデルタ圧縮データの高速検索を必要としなかったので、それは理にかなっていると思います。デルタ圧縮自体は70年代/ 80年代以降、文献に記載されています。初期の論文の1つは、DIIIによって生成されたデータのデルタ圧縮の経験です。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.