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

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



いろいろ普通じゃない手順で迷惑をおかけしました。

From: unno@trd.snec.nec.co.jp
Subject: [cvs-ml 900] Re:バックアップのCVS化 (WinCVS)
Date: Thu, 2 Nov 2000 15:08:40 +0900

  | >以上の作業でリポジトリにR00001..R00006までが登録されたので
  | >次にworking directoryをcheckoutします。
  | >
  | >    cd $HOME/work
  | >    cvs -d /path/to/repo checkout -rNEC project
  | >
  | 
  | # ここで 
  |   cvs -d /path/to/repo checkout project
  |   としてしまうとまずいのでしょうか?

checkout -rNECとしたのは単に趣味で、
-r指定なしでもまったくまずくありません。
    0. 上記の手順にてimportする
    1. cvs checkout project
    2. cd project
    3. edit files
    4. cvs commit
のようにした場合、リビジョンの関係は次のようになります。
━━━━━━━━━━━━━━ここから━━━━━━━━━━━━━━
---     
                                       +-------+
Working                                |working|.........
Directory                              | file  |        :
                                       +-------+        :
                                           A            :
---                                        :            :
                                           :            V
            +-----+                        :          +-----+
            | 1.1 +------------------------+----------+ 1.2 +   (Trunk)
            +--+--+                        :          +-----+
Repository     |                           :
               |                           :
            +--+------+   +---------+      :          
            | 1.1.1.1 +---+ 1.1.1.2 +......:                    (Branch: NEC)
            +---------+   +---------+                 
              A  (R001)     A  (R002)               
---           :             :
              :             :
            +--------+    +--------+
Snapshot    | R001   |    | R002   |
            +--------+    +--------+
---     

          -----+-------------+-------------+-------------+-----------> time
               T1            T2            T3            T4

 time    operation
 ------ ----------------
 T1      cvs import R001
 T2      cvs import R002
 T3      cvs checkout project
 T4      cvs commit
━━━━━━━━━━━━━━ここまで━━━━━━━━━━━━━━

R002とrevision 1.2の間に連続性がなくてきもちわるいと思うなら
checkout -rNECすればT4でcommitしたときrevision1.1.1.3として登録され
つながっててきもちいい、という主旨です。

  | >ブランチ`NEC'で作業を行っていることに気をつけてください。
  | 
  | # これに"気をつけない"と何かまずいことが起こりますか?

checkoutするときに-rNECを付けわすれると
「ファイルが消えた!」騒動がおきるだけですが..
気をつけろというほどのことではなかったかもしれません。

  |   とすれば、下記のトランクで作業する方法の方が、"気をつけないといけない"もの
  |   がないぶんだけ安全だと考えてよいですか?
  | 
  |   どっちが方法がよりポピュラーなんでしょうか?

-rをつけない方が普通だと思います。(サンプル数は0ですが)
安全性はどっちも違わないと思います。

  | >    cd $HOME/work/project
  | >    cvs tag -d nec-01
  | >    cvs tag -d nec-02
  | >    くりかえし
  | >
  | >ブランチNECにゴミがのこった状態になりますが、気にしないということで。
  | >
  | 
  | #  ゴミとは、NECブランチタグのことでしょうか
  |     ならば cvs tag -d NEC で ブランチタグが消えますが、
  |     これをしてはいけないのでしょうか?

ゴミとは、NECブランチのことです。
タグだけではなくて、ブランチ全体です。
NECブランチタグを消してしまうと
cvs admin -oでリビジョンを消せないんですねー。

あの手順に従うと、トランクとブランチとで二重に履歴を持つことになって
不経済なんでブランチを消してしまいたいのですが、
cvs admin -oでファイル毎にリビジョン番号を指定してゆけば履歴を消せますが
そこまでするかぁと思ったので消せないと思うことにしました。

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