[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[cvs-ml 897] Re:Re:Re:バックアップのCVS化(WinCVS)



From: unno@trd.snec.nec.co.jp
Subject: [cvs-ml 896] Re:Re:バックアップのCVS化 (WinCVS)
Date: Tue, 31 Oct 2000 16:27:48 +0900

  | # 私の使っているwin32用のcvsは import コマンドでは CVSROOT/modules で定義し
  |  たはずのモジュール名が使えず、  そのまま リポジトリ の新ディレクトリとして
  |  認識されてしまうようです。(一般的にそういうものなのでしょうか?)

マニュアルやヘルプをみると、なんとなくわかると思いますが、
cvs importではモジュールではなくディレクトリを指定します。

  | >    cd R00001
  | >    cvs -d /path/to/repo import -m "Message" -I '*.abc' project NEC nec-01
  | >    cd $HOME/work
  | >    cvs -d /path/to/repo checkout project
  | >    cd project
  | >    cvs admin -b
  | >    cvs update
  | >    cvs tag nec-1
  | 
  | の手順の、cvs admin -b 以降は、-bにタグ名がないので、
  | "作業ディレクトリをブランチタグ無しにし(結果、トランク扱い?)にし、
  |  アップデートし、そのトランクのBASEに新たにtag nec-1をつける"
  | と解釈するのでしょうか?
  | 
  | ここで良く判らないのが、
  | 
  | (1)cvs admin -b の作用
  | (2)なぜ変更していないのに update するのか

cvs admin はリポジトリに作用します。
しかし作業ディレクトリがないと実行できません。
そのため checkout 後に admin を実行しています。

cvs tag でリビジョン 1.1 にタグ nec-1 を付けるときに
単純に cvs tag nec-1 だと、この状況だと 1.1.1.1 に付いてしまいます。
それはデフォルトブランチが cvs import によって
1.1.1 に設定されたのが原因です。
(これは cvs log -h の 出力で branch: に表示されます。)

1.1 にタグを付けるだけなら cvs tag -r 1.1 nec-1 を実行すればよいのですが
あとで nec-2, nec-3,.. とタグをつけてゆきたいので
デフォルトブランチをリセットします。

cvs admin -b rev でデフォルトブランチを変更でき、
cvs admin -b でこれをリセットします。(*1)

cvs admin -b のあとに cvs update を実行したのは
作業ファイルのリビジョンを 1.1.1.1 から 1.1 にしたいからです。
これをせずに cvs tag nec-1 を実行すると 1.1.1.1 にタグが付きます。
これは cvs tag は作業ファイルのリビジョンにタグを付ける仕様のためです。
作業ディレクトリのリビジョンは cvs status の出力で
Working revision: に表示されます。(あるいはCVS/Entriesを覗いてみる。)
cvs update を実行することによって作業ファイルのリビジョンを 1.1 にします。

ただ、cvs tag の代りに cvs rtag を使えば
作業ファイルのリビジョンに関係なくタグを付けられるので、
こっちをつかう場合には、cvs admin -b 後の cvs update は省略できます。

(*1)
    cvs -H admin では
      -b[rev]    Set default branch (highest branch on trunk if omitted).
    と表示されるのですが、highest branch ってなんなんでしょうか。
    わからんです。

--
KOIE Hidetaka 鯉江英隆 <hide@koie.org>