2009-03-08 12 views
3

私が少し理解しているように、svn 1.5はマージ操作の方がはるかに優れています。だから私はsvn 1.4からのアップグレードを検討しています。リポジトリはローカルファイル(多かれ少なかれ)にあり、コマンドラインからsvnを使います。SVN 1.5へのアップグレード

どのようなハードルがありますか、svn 1.5はマージデータなしで既存のリポジトリをどのように処理しますか?

編集:特に 、私はsvnadmin upgradeを実行した後、どのようにハンドルが最後の1.4時代に統合された枝からマージsvnのでしょうか?

svn-populate-node-origins-indexはこれと関連がありますか?

参考:http://subversion.tigris.org/svn_1.5_releasenotes.html

答えて

5

アップグレードはスムーズですが、マージ情報の情報が入力されるまでマジックマージのメリットはありません。マージ情報は、使用開始するまで発生しません。

私はリビジョンが既にマージされたを知っている二つの枝と間の潜在的なマージの一覧を見ることができることです発見したマージ情報の唯一の具体的な利点。生成された競合の数に直接影響するわけではありませんが、どこに行かれたのかを追跡する際には正常な状態を保つことができます。アップグレード前に実行されたマージは問題を起こさず、すでに完了しているにもかかわらず、潜在的なマージとして再表示されます。

マージ情報は、SVNと呼ばれるだけsvnpropertyで、言った:フォーマットのmergeinfo、:

/Project/name/trunk:1355-3985,4019,4026-4437,4478,4481 

は、これが私たちのプロジェクトのリリースブランチの一つ上の実際のmergeinfoで、まさにリビジョンを教えてくれるがトランクから解放しようとしています。 これは、必要なところでどこで作業できるかを、手動でmergeinfoに入力してすべてのメリットを得ることができることを意味します。これは上記の早期改訂のためのものです。

reshard.pyを見る価値があるかもしれません。特に、リポジトリが大きい場合や、Windowsの場合1.4のfsfsリポジトリ形式では、すべてのリビジョンが同じフォルダに別々のファイルに置かれ、Windowsは数千回のリビジョンの後にこれを使ってクロールを開始します。 1.5シャーディングは、リビジョンをそれぞれ別々のフォルダにグループ化します。 1。6では、古いリビジョンを1つの大きなリビジョンファイルにまとめることができます。

1

アップグレードが簡単です。 Subversionはほとんどの点で下位互換性があります。ただし、svnadmin upgradeを使用してリポジトリをアップグレードする必要があります。

私が理解する限り、マージトラッキングはアップグレード後のマージでのみ機能します。失われた情報を再構築する実際の方法はありません。

また、svn-populate-node-origins-indexは、そのリポジトリ上で実行する必要がありますが、リンクされたファイルに配置されています(use_summaryを参照)。

0

開発環境によっては、更新されたバインディングが必要な場合があります。例えばNetbeans 6.2はSVN 1.5では動作しません。

+0

コマンドラインで作業しますが、eclipseとsubclipseをアップグレードする必要があります。 –

0

リポジトリをSubversion/CVSから完全に異なる種類に変換するツールはたくさんあります。最も難しい論点ではなく、他のすべてのオプションを見て、分散型のバージョン管理システムのように簡単に人生を変えることができるかどうかを決めることをお勧めします。 Gitはより良いと主張するものです。

+0

ありがとう、今私は転覆に固執するつもりです。私たちは将来変わるかもしれませんが、今は私たちの努力を他の場所に集中させたいと思っています。 –

関連する問題