インターフェースを合わせる重要性2008年07月30日 20時45分33秒

ソースコードマネージメント、Source Code Management を幾つか使っているが、git は使いづらい。GNU arch、tla も使った事があるが使いづらかった。使い込んだのは、RCS、CVS を筆頭に Subversion、Mercurial がある。使いづらいとは言っていても、git のみで管理しているコードもあるので、それなりに使い込んでいる。svk や商用の PVCS と言うものも使ったことはあるが、使い込んでるとは言えない。

VOS で動く SCM は CVS のみだし、それなりに古い環境で動かそうとすると、各ライブラリのバージョンや、コンパイル出来ないなどの都合で、SCM を選べない時がある。また、御粗末な理由で、特定の SCM を諦めなければいけないことがある。

何はともあれ、RCS に始まって、CVS と Subversion や Mercurial はコマンド名の互換が高いので使っていても、あまり困らない。SCM を使うときの基本的なコマンドは、diff、checkout、update、commit だ。これらのコマンドがほぼ同じ動作をする。新しいファイルを追加する時のコマンドの順番や、変更のコマンドもほぼ一緒だ。新規は cvs add file.txt; cvs ci file.txt とやり、更新は cvs ci file.txt で済む。Mercurial の clone など、各デザインによる固有のコマンドもあるが、そんなに頻繁に使うわけでは無いので、日常に困ることは無い。

ところが、git や arch/tla はコマンド名が違ったり、動作が違ったりする。例えば、git では、新しいファイルを追加するときでも、既に存在するファイルを更新する時も、git-add file.txt; git-commit file.txt とする。どうも、毎回 commit 時に登録する必要があるみたいだ。コマンド名も似ているものが多いが動作が、上であげたものと微妙に違っていたりすることも多く、やりたいことが出来ずに右往左往する事も多い。

git や arch/tla も機能面では優れたところも持つが、日常の作業に躓いていたら、優れた機能を使う局面まで、使い続けられないかもしれない。特に覚えなければいけないコマンドラインを中心としたソフトウェアは、他のと同じ動作をするようにした方が、今回の件で使いやすい、取り付きやすいと強く感じた。

上の一群の間では、乗用車を乗り換えている程度の操縦性の違いだが、下の物はトラックやバイクなどに乗り換えたのかと思うくらい操縦性が違う。

コメント

コメントをどうぞ

※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。

※なお、送られたコメントはブログの管理者が確認するまで公開されません。

名前:
メールアドレス:
URL:
コメント:

トラックバック

このエントリのトラックバックURL: http://uyota.asablo.jp/blog/2008/07/30/3662347/tb

※なお、送られたトラックバックはブログの管理者が確認するまで公開されません。