0

ディレクトリ構造が CVS にコミットされているとしましょう:

dirA/dirB/dirC

dirB は、ブランチ名「development」で分岐されています。

dirB から「開発」ブランチを削除してから、dirA に新しい「開発」ブランチを作成することは可能ですか?

現在、レポの小さなセクションに「開発」ブランチがある従来の CVS レポにこれがあります。このブランチを削除し、リポジトリ全体にわたってグローバルな「開発」ブランチを作成したいと考えています。既存のブランチの履歴と状態は些細なものであり、破棄することができます。

「cvs -dB development dirB」を実行してから、dirA にブランチを再作成すると、何かが壊れますか?

4

1 に答える 1

0

2 つの質問があります。

「dirB から「開発」ブランチを削除してから、dirA に新しい「開発」ブランチを作成することは可能ですか?

これに対する答えは「はい」ですが、CVS にコミットされたディレクトリ構造 dirA/dirB/dirC が何を意味するかによって、意味が異なります。

単一のリポジトリがあり、ディレクトリ構造がすべて dirA をルートとする単一の cvsroot の下に含まれている場合、dirB から「開発」ブランチを削除すると、cvsroot の下のすべてから「開発」ブランチが削除されます。その時点で、dirA に新しい「開発」ブランチを作成すると、階層全体のすべてのファイルが必要に応じて分岐されます。

代わりに、ローカル ディレクトリ構造 dirA/dirB/dirC があり、dirA が 1 つの CVSROOT でホストされている CVS にコミットされ、dirB が別の cvsroot でホストされている CVS にコミットされている場合、dirA と dirB に対して行うことは独立しています。 dirB が dirA の cvsroot にコミットされないようにする範囲で、相互に依存します。このように設定している場合は、あなたが話したアーカイブを維持し、dirB のすべての深さのすべてのフォルダーからすべての CVS サブフォルダーを削除してから、dirA にコミットして、同じ cvsroot の一部になるようにするのが最善です。次に、必要に応じて「開発」をブランチとして追加します。

2 番目の質問: 「"cvs -dB development dirB" を実行して、dirA にブランチを再作成すると、何か問題が発生しますか?」

これに対する答えは基本的に「いいえ、ブランチ「開発」をチェックアウトしてアクセスできなくなることを除いては。あなたはまだ個々のコミットでそれらを取得することができます.あなたが言ったように、歴史と状態は些細なものです. 最初の方法で設定した場合、それはあなたが提案したとおりになり、すばやく削除してから適切なレベルで再作成します。2 番目の方法で設定した場合、削除は不要ですが、CVS サブディレクトリを一掃してから、dirA の下で dirB をコミットすることが、すべてを 1 つの cvsroot の下に配置するために不可欠です。 " ブランチ。

于 2012-07-17T03:02:47.857 に答える