2011-07-26 10 views
1

これはおそらく愚かな質問ですが、私はこれまでSvnでこれを行っていません。新しいSubversionブランチへのコミット

私は幾重にも重いリファクタリングを行っているトランクの作業コピーを持っています。その間、体幹自体はかなり動いていて、私はまだ合併する準備ができていません。私は、まだ存在していない新しいブランチに私の現在の変更を棚上げしたい。

ここで正しい手順は何ですか?

svn copy svn://yourrepo/trunk svn://yourrepo/branches/a -r [revision] 

でサーバー上の枝に

svn info . 

コピートランクのリビジョン、その後、ブランチにごWCを切り替える:ありがとう

答えて

5

作業コピーのリビジョンを探すには基づいています

svn switch svn://yourrepo/branches/a 

次に、現在の変更をブランチにコミットできます。簡単な手順のカップルで

+1

トランクはすでに移動しているので、マージする準備ができていません。コピーに-r を追加したいと考えています。は改訂版になります。ローカルの作業コピーは、ベースになっています。 – PtPazuzu

+0

それは鍵です - 感謝のPtP。私はコピーする必要があるトランクのバージョンをどのようにして知ることができますか? –

+1

'svn info .'にはrevを含める必要があります。 info – PtPazuzu

0

1)あなたは新しいブランチのリポジトリに別のフォルダを作成することが必要になりますトランクを()に分岐しなければなりません。あなたの作業フォルダに亀のsvnサブメニュー

2)でbranchを作業フォルダにトータスSVNあなただけの右クリックを使用して選択した場合は、新しいブランチで作業を開始するためにswitchコマンドを使用する必要があります。 トータス右クリック - >スイッチでは、新しいブランチ

を選択して、あなたが今のブランチで作業している

HTH、JP

0

それは実際には非常に良い質問です。このシナリオでは、現在の作業コピーに基づいていないブランチを作成しますが、作業コピーを作成したときにはトランクリビジョンから作成します。ここで

は、手順は次のとおりです。

  1. は、新しいブランチフォルダを作成します。
  2. "svn info"を実行して、トランクのWorkng Copyを作成したときからリビジョン番号を取得しようとします。たとえば、作業コピーをRev 40で作成し、HEADリビジョンが60になっている場合は、Rev 40を新しいブランチのベースリビジョンとして使用する必要があります。
  3. "svn copy"を実行して、トランクリビジョンを新しいブランチフォルダにコピーするときにそのリビジョン番号を使用します。
  4. 新しいブランチの "svn checkout"を実行します。
  5. ファイルをトランクの作業コピーからブランチの作業コピーにコピーします。
  6. ブランチ作業コピーからの変更を確定し、トランク作業コピーをスクラップします。

変更を開始したときの実際のリビジョンに基づいて、現在の変更を含む新しいブランチが作成されるはずです。言うまでもなく、新しい支店は時代遅れになり、トランクから更新する必要があります。マージの準備が整うまで、これを延期することができます。

+0

ありがとう、これは受け入れられた答えに非常に似ているようです。そこには何が欠けていますか? –

関連する問題