witchの日記: (ROBO) はじめてのSubversion (手動管理からの移行) 1
ゆるゆるとしか進まないプロジェクトですが、さすがに6年もやってるとプログラムやスクリプトや配線図、etc...のバージョン管理が大変なことに。
一番の課題は、Linux側プログラムとスクリプトと操作マニュアルとPIC側プログラムのバージョン管理に同期が取れてないこと。
どれとどれが組合せになるかは、README.txtとお互いのシンボリックリンクで保たれていたり…
あと、Linux側プログラムは最近の機能追加でどんどんバージョンが上がってて、ディレクトリ単位でのバージョン管理が破綻しそうだったり…
で、これを一挙に解決できるとは思わないけど、バージョン管理システムの Subversion を導入しようかと。
参考にしているのは
とりあえず、今までバージョンごとにディレクトリ分割していたのを古い順にリポジトリへ突っ込むテスト中。
一番古いの(Ver. 3.0.0)を
svn import MSP/300 file:///リポジトリディレクトリ/MSP/trunk
でリポジトリに入れておいて、
作業ディレクトリに移動して
svn co file:///リポジトリディレクトリ/MSP/trunk
でワーキングコピーを作成。
そして、rsyncを使ってワーキングコピーを一つ新しいバージョンに更新
rsync -avHS --delete --exclude=.svn /あたらしいやつ/ ./trunk/
で、新しくなったワーキングコピーを commit
svn ci -m "バージョン番号"
これを繰り返せば、これまでの更新作業を Subversion 上に移せるはずだけど…
(ディレクトリが増えたり減ったりした場合は別の作業が必要かも)
二種類のプログラムとスクリプトのバージョン同期はどうするのがいいんでしょうね。
全部同じリポジトリに突っ込んじゃったほうが楽なのかな。
Subversionではリポジトリはあんまり分けないかも。 (スコア:1)
# 「svn add `svn st | grep "\?" | sed -e "s/\?//"`」みたいな感じかな?(未確認)
# それでも移動は追えないけどね。