Skip to main content.
Google custom search

CVS ブランチにまつわる作業

CVS ブランチにまつわる作業


このファイルについて (トップ)

Chris Demetriou 曰く: そんなわけで、皆さんは CVS ブランチにまつわる作業をよくするでしょう。 以下に記すのは、私がブランチいじり (作成、更新) をするときに普通に使うコマンドです。 Jason に頼まれて書いたものです。

以下、 ${b} はブランチ名、 ${m} はこのブランチの対象となる モジュールとします。階層構造内の個々の構成要素を扱いたい方もいるようですが、 ここでは階層構造全体を扱うものとします。 私は、個々の構成要素を扱った経験はほとんどないのです。

ブランチを作成するには (トップ)

  1. 分岐させようとしているソース一式に、以下のコマンドでタグを打ちます:

    cvs rtag -r HEAD ${b}-base ${m}

  2. このソース一式を、以下のコマンドを使い、分岐させます:

    cvs rtag -b -r ${b}-base ${b} ${m}

trunk での変更をブランチに反映させるには (トップ)

  1. ブランチで作業中のソースツリーを更新します:

    cvs update -P -r ${b}

    (作業用のソースツリー内で行います)

  2. 新たにベースとしようとする箇所にタグを打ちます:

    cvs rtag -F -r HEAD ${b}-nbase ${m}

    適切にマージを行うための時間がないなど、何か理由ができた場合は、 これは仮のタグ打ちということにして後でマージをやりなおすこともできます。

  3. ブランチの旧ベースと新ベース間の変更をマージします:

    cvs update -j ${b}-base -j ${b}-nbase

    (作業用のソースツリー内で行います)

  4. 変更点の衝突の調整などを行います。

  5. この変更を (ブランチに) チェックインします。

  6. 新ベースリビジョンに対して base タグを打ち直します:

    cvs rtag -F -r ${b}-nbase ${b}-base ${m}
  7. HEAD との定期的な同期をするつもりがなければ、新ベースのタグを削除します:

    cvs rtag -d ${b}-nbase ${m}