2009-05-12 5 views
0

私はeclipse/subclipseを開発用に使用しています。私はTortoiseSVNクライアントも持っています。cvs2svnの後のSubversionの問題

私はCVSリポジトリを移動しようとしています。古いCVSリポジトリには1つのプロジェクトがありました。私たちは、いくつかのプロジェクトが独自の開発ストリームを持ち、別々に管理する必要があるため、再認知したいと考えています。

私は、cvs2svnを使用してリポジトリの標準完全動作を実行しましたが、問題はありませんでした。

私はSubversionリポジトリのプロジェクトを再構成したいので、cvs2svnの後に、私はsvnの移動を試み、再構成を行いました。私は動きを成功させることができました。問題はありません。

私はこのプロジェクトをeclipseでチェックアウトし、プロジェクトのいずれかでファイルを選択します。一見、どんなプロジェクトでも関係ありません。私がeclipseで更新版を行い、更新するファイルの履歴のバージョンを選択すると、ファイルは私のファイルシステムから削除されますが、古いバージョンは決して降りません。ファイルは単に消えてしまいます。

私はTortoiseSVNを使用して同じ問題を抱えています。だから私はそれがsubclipseの問題ではないと仮定します。

興味深いのは、私はそれが最初に変換され、同じ手順に従った元の場所にプロジェクトsvn moveバックをすれば、私はすべての問題を持っていないことを、更新バージョンとして機能しています期待される。

だから、私の質問(複数可)に:

  1. 私は正常に私のSubversionリポジトリを再編成から私を妨げるcvs2svnの移動中に間違った何かをしましたか?
  2. 私がやろうとしていることをするためのより良い方法はありますか?

答えて

0

私が働いているところでは、CVSからのインポート後にSVNのファイルを移動することに決めました。 CVSは、移動による履歴機能が限られていますが、SVNリポジトリはいつでも同じように見えるように「ロールバック」することができます。再びこれを行うことで、すべての変更と移動の履歴を保持することがより重要であるという決定が下されました。

私たちが行ったことは、モジュールをCVSからそのままSVNに移動することでした。次に、リポジトリブラウザを使用して、チェックアウトの前に必要に応じてすべてのファイルを移動します。

個々のファイルを消滅させる可能性のある古いバージョンに更新すると、これで問題は解決されません。私たちはファイル中心のリポジトリ(CVS)からスナップショットベースのビューに移行しようとしているので、これを使用して生きることに決めました。したがって、古いバージョンに戻す必要がある場合は、プロジェクト全体を更新します。差分履歴を見ているのであれば、移動/名前の変更を許可するときはTortoiseSVNからうまく機能します。

+0

フィードバックいただきありがとうございます。私たちはこの問題にも同行し、あなたが概説したプロセスに従うことにしました。ほとんどの場合、以前のバージョンに戻す必要はありません。その場合は、ファイルではなくプロジェクト/フォルダに戻す必要があります。 – noplay

1
  1. いいえ、あなたははい
  2. 間違って何もしませんでした。

    あなたは常にフォルダをチェックアウトする必要があります:あなたは、この現象のためにcvs2svn

理由を経由して、それをインポート前に、あなたのCVSリポジトリを再編成する必要があります。以前のバージョンに更新すると、このフォルダが存在しない(フォルダが移動した)場合、Subversionはその内容を削除します。 Subversionでの名前変更は、常にremoveとaddとして実装されます。だからあなたはファイル間の細い接続を持っていますが、それは単にこのファイルの履歴です。新しいレイアウトを表示したい場合は、チェックアウトする必要があります。ターゲットフォルダとソースフォルダの両方を含むフォルダです。このフォルダの移動を「見る」ことができるのですが、チェックアウトのフォルダが1つしかない場合は、フォルダは消え、別のURL(ターゲットまたはソース)をチェックアウトする必要があります。

CVSでプロジェクトを再構成してから移行する方が簡単です。欠点:あなたのリストラの履歴はなく、以前のバージョン(CVSで作成されたもの)をビルド/コンパイルすることはできません。

1

私は、Subversionに変換する前に、CVSでプロジェクトを再編成するのが簡単で好ましいことに同意します。は個々のプロジェクト内のフォルダとファイルを再編成することです。

しかし、プロジェクトのレイアウトを再構成したい場合(つまり、あるプロジェクトが別のプロジェクトと関連している場合)は、cvs2svn変換の一環として簡単に行うことができます。 multiproject conversionを実行するときに、cvs2svnが各プロジェクトのトランク、ブランチ、およびタグディレクトリを配置する場所を指定できます。必要な新しいプロジェクト組織に合わせて配置してください。通常のツールを使用してリポジトリを操作することに問題はありません。

関連する問題