私はClearCaseを使用していて、Subversionを使い始めました。
ブランチのリビジョン番号が0から始まるのか、トランクのHEADリビジョン番号から始まるのか混乱しています。
そして別の質問ですが、トランクにコミットした後、ブランチの最新のリビジョンがトランクのHEADリビジョンと同じであるかどうか混乱しています。
前もって感謝します。
私はClearCaseを使用していて、Subversionを使い始めました。
ブランチのリビジョン番号が0から始まるのか、トランクのHEADリビジョン番号から始まるのか混乱しています。
そして別の質問ですが、トランクにコミットした後、ブランチの最新のリビジョンがトランクのHEADリビジョンと同じであるかどうか混乱しています。
前もって感謝します。
trunk
Subversionリポジトリのリビジョン番号はグローバルです。つまり、、、tags
を含むリポジトリ全体に適用されますbranches
。
「Subversionを使用したバージョン管理」という本のこのセクションは、次の場合に役立ちます。
Subversionでのバージョン管理、分岐、およびマージを検討するときは、(体系的な変更管理の概念を除いて)ClearCaseの経験を適用しないでください。全く違います。
Subversionのトランクとブランチは、対称的な独立したフォルダーです。あるものが別のものから分岐している場合、それは実際には軽量のコピーオンライトです。
リビジョンは、個々の要素の状態ではなく、リポジトリのグローバルな状態であるため、「ブランチの最新のリビジョンはトランクヘッドのリビジョンと同じです」と表示されます。
Subversion内では、新しいリポジトリは作成時にリビジョン1から開始されます。
すべてのリビジョンは、トランク、ブランチ、またはタグの作成にコミットするかどうかに関係なく、リポジトリごとに一意で増分的です。
したがって、次のようなリビジョン番号を取得します。
Commit to Trunk - rev 1
Commit to Trunk - rev 2
Commit to Branch - rev 3
Commit to Trunk - rev 4
Subversion のリビジョン番号は厳密に単調です。コミットがリビジョン番号nを取得した場合、リポジトリのどこで何かがコミットされたかに関係なく、次のコミットはリビジョンn +1 になります。同じレポ内の別のプロジェクトであってもかまいません。