« プロジェクトの単位 | Main | Python2.5への移行 »

2007.04.21

svk2.0.1

 svk2.0.0を用いてローカル(分散)リポジトリを作成していろいろとやっているんですが・・・どうも、ローカルミラー→ローカルブランチへのマージ処理がうまく実行されていないときがあるような感じ? 具体的には、以下のような現象が発生する場合が。

  1. svkを使用していない環境でファイルを削除した状態をコミット。当然ながら、リモートリポジトリにおいては削除された状態となります。
  2. svk syncでリモートリポジトリの内容をローカルミラーに反映。ローカルミラーの中では、ファイルは削除された状態となります(正しい動き)。
  3. svk smergeでローカルミラーの内容をローカルブランチへ反映する際に、ファイルの削除が行われない場合があるようです(多くの場合は、正常に削除されるのですが)。
  4. この状態でsvk pushを行ってローカルブランチの内容をローカルミラーへ反映する際に、「ファイルが追加された」と判断されてしまい、最終的にリモートリポジトリにおいてファイルが復活することに(もっとも、削除前のファイルとのつながりは失われていますが)。

 ファイルの削除ではなく、ファイルの修正を行っていた場合はsvk pushの状態でコンフリクトが発生することも。

 3月下旬にsvk2.0.1がリリースされており、マージ処理等の部分にもいろいろと修正が入っているようなので、それで改善されたりしているのでしょうかね?(修正内容を読んでも、修正対象となった現象がどのようなのかよくわからないので、上記の内容が含まれているのかどうかがわからない・・・)

 とりあえずはUpdateしてみたいと思ったのですが、Win32用バイナリはまだ公開されていないようです・・・。自分自身でコンパイルできる環境を構築すればいいのでしょうが(苦笑)。

 もしかすると、ローカルミラー→ローカルブランチへマージする際に、1つのリビジョンにまとめる(1:1にすると、ローカルリポジトリのリビジョンの上がり方が激しくなってしまうので1つにまとめています)ように処理しているのが原因だったり?

|

« プロジェクトの単位 | Main | Python2.5への移行 »

Subversion・Trac・etc.」カテゴリの記事

Comments

Post a comment



(Not displayed with comment.)


Comments are moderated, and will not appear on this weblog until the author has approved them.



TrackBack


Listed below are links to weblogs that reference svk2.0.1:

« プロジェクトの単位 | Main | Python2.5への移行 »