SVX日記
2005-11-21(Mon) USBメモリでモバイルcvs!!
今日はちょっとメモ書き。ノートPCのHDDを慎重に新調して伸張したので、改めていろいろと環境を構築してみたいと思う。今日は、職場と家と、CygwinとcoLinuxとで、グッチャングッチャンになってしまっている、文書やプログラムを一括管理するため、cvsを導入するという話。
cvsを導入するといっても、職場と家とを一括で管理する必要があるから、リポジトリはUSBメモリを活用することにする。先日、iPodシャッフル替わりに購入してはみたものの、電源を切る度に1曲目から演奏という恐るべき仕様のために、256Mという大容量がサッパリ活用できないスットボケアイテムを活用するのである。
コイツをCygwinからcvsリポジトリに使うならなんの工夫もいらないが、coLinuxから使うには、通常とは逆にWindows上のドライブをcoLinuxから読み書きできるようにする必要がある。確かsmbmountというLinux上からWindows上のドライブをマウントするアプリを利用すればできるであろう。さてトライ。
まずは、USBドライブのドライブレターを決めておく必要がある。USBだから「U」にしよう(安直)。マイコンピュータ、管理、ディスクの管理、ドライブ文字とパスの変更から、ドライブレターを変更してやる。そしたら、マイコンピュータ上のリムーバブルディスク(U:)、共有、新しい共有から、共有名を「usb」にしてやる(さらに安直)。でもって、マイネットワーク、近くのコンピュータから自分のPC(オイラのPCの名前はJyokusyuだ)を開いてやる。「usb」という共有ドライブができていればオッケーだ。
# mkdir /mnt/smbusb
# smbmount //Jyokusyu/usb /mnt/smbusb -o username=Administrator workgroup=MYGROUP
Password:
# export CVSROOT=/mnt/smbusb/cvs
# cvs init
# mkdir test
# cd test
# vi test.txt
This is CVS test.
# cvs import test itline initial
This is CVS test initial check in.
CVS: ----------------------------------------------------------------------
CVS: Enter Log. Lines beginning with `CVS:' are removed automatically
CVS:
CVS: ----------------------------------------------------------------------
# cd ..
# rm -rf test
# cvs checkout test
# ls -lrt test
合計 8
-rwxr-xr-x 1 root root 18 11月 22 10:56 test.txt
drwxr-xr-x 2 root root 4096 11月 22 10:58 CVS
今度はcvsの機能を活用してみる。cvsの真骨頂は常に差分を意識しながらプログラムが組めることだ。これにより、コミット直前に不要な修正が含まれていないか確認することができる。さっきのテスト用ドキュメントに修正、追加してみる。
# cd test
# vi test.txt
This is CVS change test.
This is CVS add test.
# cvs update
cvs update: Updating .
M test.txt
# cvs diff
cvs diff: Diffing .
Index: test.txt
===================================================================
RCS file: /mnt/smbusb/cvs/test/test.txt,v
retrieving revision 1.1.1.1
diff -r1.1.1.1 test.txt
1c1,2
< This is CVS test.
---
> This is CVS change test.
> This is CVS add test.
# cvs commit
This is CVS commit test.
CVS: ----------------------------------------------------------------------
CVS: Enter Log. Lines beginning with `CVS:' are removed automatically
CVS:
CVS: Committing in .
CVS:
CVS: Modified Files:
CVS: test.txt
CVS: ----------------------------------------------------------------------
# cvs update
cvs update: Updating .