[PR]t矛惘丑餅:t!桑惘丑餅丑餅

ファイル名の変更 -- RENAME

このファイル名の名前を変更したい。こういう状況も良くあります。 しかし、名前の変更は一筋縄ではいきません。これは注意が必要です。

一般には以下の2つの方法が利用されているようです。

  1. remove してから add する。

  2. リポジトリの情報を直接書き換える。

最初の方法は、もう1つの方法から見れば正攻法と言えるでしょう。 remove、add 後の commit の時に名前変更のためという主旨のコメントを 残しておくのが良い方法です。

shimaki:~/tmp/hello $ ls
CVS/  docs/  hello.c  readme
shimaki:~/tmp/hello $ mv hello.c myhello.c
shimaki:~/tmp/hello $ cvs remove hello.c
cvs remove: scheduling `hello.c' for removal
cvs remove: use 'cvs commit' to remove this file permanently
shimaki:~/tmp/hello $ cvs add myhello.c
cvs add: scheduling file `myhello.c' for addition
cvs add: use 'cvs commit' to add this file permanently
shimaki:~/tmp/hello $ cvs commit
cvs commit: Examining .
cvs commit: Examining docs
Removing hello.c;
/home/shimaki/cvs/cvsroot/hello/hello.c,v  <--  hello.c
new revision: delete; previous revision: 2.0
done
RCS file: /home/shimaki/cvs/cvsroot/hello/myhello.c,v
done
Checking in myhello.c;
/home/shimaki/cvs/cvsroot/hello/myhello.c,v  <--  myhello.c
initial revision: 2.1
done
shimaki:~/tmp/hello $ cvs log myhello.c

RCS file: /home/shimaki/cvs/cvsroot/hello/myhello.c,v
Working file: myhello.c
head: 2.1
branch:
locks: strict
access list:
symbolic names:
keyword substitution: kv
total revisions: 1;	selected revisions: 1
description:
----------------------------
revision 2.1
date: 1999/08/25 10:44:16;  author: shimaki;  state: Exp;
名前変更 hello.c -> myhello.c
=============================================================================
shimaki:~/tmp/hello $ 

もう一方のリポジトリを直接書き換えるという方法は少々強引ですが、 ログなどもそのまま引き継がれ、まるで始めからその名前で あったかようように cvs 内で管理されます。 「綺麗好き」な方には好かれる方法です。 方法は簡単で、,v ファイルの名前を変更してあげるだけです。

shimaki:~/tmp/hello $ cd $CVSROOT
shimaki:~/cvs/cvsroot $ cd hello
shimaki:~/cvs/cvsroot/hello $ ls
Attic/  docs/  hello.c,v  readme,v
shimaki:~/cvs/cvsroot/hello $ mv hello.c,v myhello.c,v
shimaki:~/cvs/cvsroot/hello $ ls
Attic/  docs/  myhello.c,v  readme,v
shimaki:~/cvs/cvsroot/hello $ 

これだけです。

shimaki:~/tmp $ cvs checkout hello
cvs checkout: Updating hello
U hello/myhello.c
U hello/readme
cvs checkout: Updating hello/docs
U hello/docs/gpl.texinfo
U hello/docs/hello.texi
shimaki:~/tmp $ 

御覧の通り myhello.c で checkout されています。


[PR]ヤI悦舗可:IHX50猝炸賞歡