2011-12-15 16 views
2

私は2つのバージョンのコードを交互に使いたいと思っています。実行した場合SVNで古いバージョンをチェックアウトするには?

svn checkout -r 5 file:///path.to.svn.repo 

ターゲットディレクトリの現在のバージョンが5より大きい場合、私は戻れません。私の理解では、これは意図的なもので、代わりにマージを使うべきです。 Mergeは最新バージョンを更新しますが、私はそれを望んでいません。交替する簡単な方法はありますか?

私は二つのプロジェクトにコードを分割することができたと、私は、これは適切なソリューションであるか分かりません。

+0

なぜいくつかのsvnクライアントを使用しませんあなたがEclipseを使用している場合は、tortoise-svn、smart-svnまたはsubclipse(私が使用している)のようなものです。彼らは間違いなくあなたの人生をよりシンプルにします。 – aProgrammer

+0

なぜ2つのバージョンが必要ですか?プロダクションとデベロップメントの2つのバージョンがある場合は、ブランチングやラベリングを追跡する必要があります。手動チェックアウトの方が適しています。 – AlG

+0

2つのバージョンが少し違っているので、2つのバージョンを交互に使いたいと思っています。私が書くすべてのコードは私の博士号のためのものです。私はコードの異なるバージョン間で簡単にやり取りができるようにしたいと思っています。 – Yotam

答えて

3

なぜ別のフォルダに古いコードをチェックアウトしませんか?

c:\MySource\ 
c:\MyOlderSource\ 

ただし、1つのフォルダだけが必要な場合は、マージするのが正しい方法です。私はマージが「最新バージョンを更新する」ということをあなたが何を意味するのか分かりません。作業コピー(BASEバージョン)は更新されますが、リポジトリコピー(HEADバージョン)は更新されませんが、これはまさにあなたが望む動作です。 (あなたが開発し、リリースブランチをしたい場合は、多分2)私はあなたが少なくとも一つのブランチを作成したいと考えている私の理解から

+0

ありがとうございます。これは私の解決策です。私は単純にローカルsrcフォルダを削除し、それを再作成します。特定のバージョンの特定のファイルをチェックアウトする方法はありますか?このファイルのバージョンに直感的な名前(ランナー、デバッガなど)を与える方法はありますか? – Yotam

+0

**単一のWC **で1つのファイルを更新できます –

1

のでsvn cp -r5 file:///path.to.repo/trunk file:///path.to.repo/branches/developmentは古いからブランチを作成する典型的な方法だろうあなたのコードのバージョン。

基本的にこの今、私はトランクを持つ標準のsvnの方法でセットアップリポジトリを(、と仮定していtrunkディレクトリが改訂5を見て、新しい場所「支店/開発」にあることを置く方法をコピー

ブランチとタグ)、この設定に関係なく、このコマンドを使用することは可能です。

また、あなたは別のリポジトリの一つの領域から作業コピーを切り替えることができますsvn switchコマンドに興味があるかもしれません。代わりにあなただけのチェックアウト2働きをコピー(あなたは私が推測する必要がどのくらいのディスク容量に依存)

は、SVNでコマンド等の詳細についてはsvnレッドブックを見てみましょうことができます:http://svnbook.red-bean.com/

関連する問題