argius note

プログラミング関連

CVS

スティッキータグを剥がす

CVS

最近はほとんどIDE任せなので、コマンドでどうやるか忘れています。 trunk*1でないリビジョン(スティッキータグ=リビジョンx.x)からupdateしたあとでtrunk(スティッキータグ=なし)にコミットしようとすると、 cvs commit: sticky tag `x.x' for file `xxx'…

文字コードを変えずに使っていた

EclipseでCVSのコミットログが文字化けしてたのを放置し、拙い英語で登録して回避。 今日、なんとなく「それくらい簡単に出来そうな気が」と思った。リポジトリエクスプローラのリポジトリ→プロパティ→サーバー・エンコードで"euc-jp"に設定(デフォルトはMS…

コマンドの短い別名の疑問

CVS

たった今気づいたんだけど、確かめてはいない。 CVSの checkout コマンドの別名(短縮名?)は co ってのは良いとして、何故 commit は ci なのか。 co と ci ってなんとなく対称的な気が。 あ、そうか。check in ということか。

CVSからSubversionへの移行

実験的に、1つのプロジェクト(Calendar)だけCVSからSubversion(以下SVN)へ移行してみました。環境はWinXP+Cygwin。

cvs2cl.pl CVS履歴からChangeLog生成

CVSのコメントからChangeLogを自動的に生成してくれる。単純な(伝統的な?)テキスト形式のを作るなら、 $ cvs checkout TheModule $ cd TheModule $ cvs2cl.plとするだけ。

手軽なバージョン管理ツール

CVS

VSSを購入しようか迷っていた頃が懐かしい。 手軽さと適度な枯れ具合が素敵なCVSバンザイ! (注:酔ってます)

リビジョンを任意の数にする

CVS

今まで知らなかったわけですが。 リビジョンをたとえば"1.6"→"3.0"にするには、 $ cvs commit -r 3.0 -m "change revision"とする。これで、チェックアウトしている全てのファイルのリビジョンを"3.0"にすることができる。"-m"オプションは任意のログメッセ…

タグを付け忘れる

CVS

運用が悪いのだと思うんですが、リリースをしたあとで「バージョンとしてタグ付け」を行うのを忘れます。これはどう考えても、運用が悪いのでしょう。 他で関わっているやり方とかを踏まえると、 「バージョンとしてタグ付け」でバージョンを示すタグを付け…

リポジトリの削除したファイルを復元

リポジトリ上からコマンドで削除したファイルは、リポジトリ上では"Attic"という名前のディレクトリに移動されています。再度同じ名称のファイルをコミットすれば、削除以前を引き継いでバージョン管理を再開させることができます。(削除と復元の履歴は残り…

タグの削除

CVS

それほど特殊なものではありませんが、今まで使ったことがなかったのでメモ。 タグを削除するコマンド。元に戻せないので、あまり頻繁にやるべきではない。タグを誤ってつけてしまったときなどに使用する。Eclipseからはできない。 # Testプロジェクトのdocs…

ASCIIモードに変換 (2)

追記→ASCIIモードに変換。

ASCIIモードに変換

拡張子が無いファイルなどで、ASCIIで登録したいけどバイナリとマークされているファイルをASCIIモードで登録したい、ということは良くあると思います。 この時、私はいつも最初にバイナリでコミットしてしまってから、[ASCII/バイナリー・プロパティーの変…

CVSで「入出力が割り込まれました」というエラーが出る

CygwinのinetdでCVSサーバを構築している環境(別PC)で、CVSクライアントはEclipseを使っています。あるときから、特定のモジュールでタグ付けを行った際に「入出力が割り込まれました」というエラーが出るようになりました。これまでは、サブディレクトリ単…

Cygwin1.5.19+CVSでエラー

CygwinDLLの1.5.19-4をインストールした状態で、CVSがエラーになってしまう。 No such file or directory : cannot mkdir /tmp/cvs-servXXXX/. 対策としては、1.5.18以前に戻す。あるいは、スナップショット(Cygwin Snapshots)を導入する(20060224版でこの…

固定長テキストを項目でソートする

先日ひさびさにPerlを使ってツールを作りました。もうソラで書く自身はあまりありませんが、CVSのhistoryコマンドで得た出力を編集したいというのを頼まれたので、ちょっと作ってみました。 #!/usr/bin/perl # sorter.pl use strict; # 固定長テキスト→配列 …

CVSサーバのセットアップ

CVS

CVSはclient/serverの両方の機能を使えるものが提供されている。cygwinとUNIX系に共通する部分についてメモしておく。 ソースからビルドする場合 残念ながら成功していないので、確かなことは言えない。再試のことも考えて記しておく。 GCC GMAKE ZLIB が前…

リビジョン間のDIFFを作成

CVS

コマンドでの実行方法。モジュールは複数チェックアウトしてもOK。 cvs checkout cvs diff -D 2005-10-15 上記の例だと、チェックアウトしたモジュールの、2005/10/15と最新リビジョンのDIFFを出力する。比較対象は、2点とも指定できる。タグを指定すること…

リポジトリエクスプローラでタグが表示されない

リポジトリエクスプローラの「バージョン」ツリーに、今まで付けてきたバージョンタグが表示されない。バージョン管理ファイルを見ると、ちゃんとタグは残っている。小一時間悩む。 こうなった場合、「バージョン」の下にあるモジュールを選択して右クリック…

ファイル名を変更する

http://d.hatena.ne.jp/argius/20050907/1126111316 の応用で。 リファクタリングなどでクラス名を変える場合、publicクラスはファイル名とクラス名が一致している必要があるので、ファイル名を変えて登録しなければならない。 ローカルでファイル名を変更し…

リポジトリから削除したファイルを復旧

EclipseのCVSを前提とする。 登録済みのファイルがあって、そのローカルファイルを削除し、リポジトリと同期化すると、「右向きグレーのマイナス記号が書かれた矢印」が表示され、コミットすると、リポジトリから削除される。このとき、リポジトリはどうなっ…

リポジトリを複数作る + ユーザとアクセス権

CVS

Linkclub - ページが見つかりません。 この辺りを参考にまとめ。 Cygwinのinetdでpserver立てている前提。 リポジトリを複数作る /usr/local/cvs/root に既にあって、/opt/cvs/root を新たに作る場合。 ディレクトリを作成。 リポジトリを初期化 cvs -d /opt…