2011-07-27 16 views
0

私たちはsvnを使い、数日後に外出するはずのコードを持っていますが、完全にQAする時間がないので、ビルドから除外したいリビジョンが1つあります。そのリビジョンをトランクから除外する最善の方法は何ですか?リビジョンをトランクから除外して後で取り戻す最も良い方法は何ですか?

そのリビジョンを含むブランチを作成し、そのリビジョンの変更をトランクで元に戻すと、そのブランチからリビジョンをマージしてトランクに戻すことができますか?

答えて

1

このリビジョンの変更を元に戻してコミットしても、古いリビジョンはそのまま残りますが、後で簡単に見つからないことがあります。

IMHOをお勧めします。

変更を保存し、トランクで元に戻すためにブランチまたはタグを作成します。 後で変更を統合する準備ができたら、ブランチをマージして再設定するだけです。

+0

真...しかし、私は本当にこのブランチを逆アセンブルして元に戻すことができますし、リポジトリに保存されているので後でこのリビジョンをマージする必要がありますか? –

+0

技術的には、ブランチを作成するのに「必須」ではありません。また、後でマージするリビジョン "待機中"があるという意図を明らかにする。それを忘れないように助けます。 –

+0

良い点は、リビジョンをトランクにマージする前にリビジョンを確認する場所になる可能性があります。 –

2

ビルドの内容をどのように示していますか?リポジトリ内のツリー全体か、svn:externalsを使っているのですか、それとも何ですか?

svn:externalsを使用している場合は、そのコンポーネントにリビジョン番号を適用することができます。

ツリー全体をチェックアウトしている場合は、リリースを行うまで変更を取り消すことができます。ブランチに保存する必要はありませんが、まだリポジトリにあります。

ので

svn merge -c -<revision-no> 

は、その特定のリビジョンを加えられた変更をバックアウトする必要があります。 (コミットする必要があります)。

リビジョンがそのコンポーネント以上に影響する場合は、そのコンポーネントだけにマージを制限できます。

はその後、その後、あなたは変更を再適用するには、別の「マージ」を実行します。

svn merge -c <revision-no> 

(の欠如に注意してください - リビジョン番号の前に「」を)。

+0

これらの改訂版は外観にありませんでした。ブランチにそれを保存する必要がないことを歓迎します...私はちょうどそのリビジョンを後で取り出して、それを再びマージすることができます。ありがとう。 –

関連する問題