トップ(最新) | <前

nDiki : CVS

CVS

メモ

タグ

作業ディレクトリ中の src ディレクトリ以下にタグ付け。

 cvs tag -c release-1-0-0 src

作業ディレクトリ中の src ディレクトリ以下の間違えてつけてしまったタグを削除。

 cvs tag -d release-1-0-0 src

ログメッセージの修正

 cvs admin -mREV:MSG files

undo

指定したリビジョンを消す(危険)。

 cvs admin -oREV file

スポンサード リンク

Related term

2004年8月26日 (木)

TortoiseCVS 1.8.0-RC4 このエントリーを含むはてなブックマーク

スポンサード リンク

開発中のPerl モジュールWindows での作業(動作確認、PPM パッケージ化など)は、CVSクライアントとして使いやすかったこともあって

という組み合わせだったのだが、CVS作業のために Eclipse を起動するのも面倒なので TortoiseCVS を入れてみた。

使い勝手はTortoiseSVNとほぼ同じ。アイコンオーバーレイ表示がちとしょぼい(管理下にあるファイルには緑色のもやがかかる)。 Pagent によるパスフレーズ入力省略方法もTortoiseSVNの方法と同じ (今回は Subversion リポジトリCVS リポジトリが同じホストにあるので特に何も設定する必要なく成功)。

◇ Twitter やってます。この記事が気にいったらぜひ twitter.com/Naney の follower になってください。


[ 8月26日全て ]

2004年9月17日 (金)

Linux kernel を 2.6.8 に このエントリーを含むはてなブックマーク

涼しくなってきてエアコンをかける機会も減ってきた。 そうすると、ThinkPad X31 のファンの音が気になってくる。

やはりCPU管理を行って無駄に温度が上がらないようにした方が良さそうだ。 cpufreqdあたりか。

今まで kernel 2.4 を使っていたが、これを機会に 2.6 に上げておく。 ビルド手順は今まで通り

設定メニューの構成が結構かわったのか。時代にとりのこされているな。

ビルドは特に問題無し。cpufreqd も動いた。

しかし、MADWIFI が×。 CVSサーバにつながらないので、最新のソースコードを取得できない。 5月9日の時点のではコンパイルが通らない(kernel 2.6.8 用のパッチもあたらない)。

CVSサーバの復旧待ちか。それまでは 2.4。

[ Debian GNU/Linux ]


[ 9月17日全て ]

2004年9月20日 (月)

Linux kernel 2.6.8 + MADWIFI このエントリーを含むはてなブックマーク

SourceForge.netCVSサーバが復旧したようなので、早速 MADWIFI ドライバをビルドする。

@ debパッケージ化

してみる。/etc/apt/sources.list に

 # madwifi
 # http://www.marlow.dk/site.php/tech/madwifi
 deb-src ftp://debian.marlow.dk/ sid madwifi

を追加して

 su
 apt-get update
 apt-get build-dep madwifi

として必要なモジュールをインストール

次に MADWIFI の source パッケージとツールの deb を作成しインストール

 mkdir /tmp/madwifi
 cd /tmp/madwifi
 apt-get source madwifi
 cd madwifi-1.4
 fakeroot dpkg-buildpackage
 su
 dpkg -i madwifi-source_20040920_all.deb
 dpkg -i madwifi-tools_20040920_i386.deb

9月17日に kernel をビルドしたソースツリーで madwifi をビルドする。 kernel 2.6.8 用の MADWIFI 非公式パッチもあてておく。

 cd /tmp
 wget http://users.informatik.haw-hamburg.de/~gropp_v/madwifi-2.6.8_and_-mm-040821.patch.bz2
 bunzip2 madwifi-2.6.8_and_-mm-040821.patch.bz2
 cd /usr/local/src/linux
 tar zxvf /usr/src/madwifi.tar.gz
 cd modules/madwifi
 patch -p1 < /tmp/madwifi-2.6.8_and_-mm-040821.patch
 cd /usr/local/src/linux/kernel-source-2.6.8
 $MODULE_LOC=/usr/local/src/linux/modules
 fakeroot make-kpkg --added-modules madwifi modules_image

失敗。パッケージ構築時にこけている感じ。

@ ということで普通にビルド

 cd /tmp
 wget http://users.informatik.haw-hamburg.de/~gropp_v/madwifi-2.6.8_and_-mm-040821.patch.bz2
 bunzip2 madwifi-2.6.8_and_-mm-040821.patch.bz2
 cd /usr/local/src/sf
 cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/madwifi co madwifi
 cd madwifi
 patch -p1 < /tmp/madwifi-2.6.8_and_-mm-040821.patch
 make
 su
 make install
 modprobe -a ath_pci

ThinkPad X31無線 LAN LED も点灯するようになった。

@ 大きなファイルの転送は駄目

RTSを設定してみたりもしたが、駄目。 Webを普通に巡回する程度なら問題ないが、POP3 や rsync などは駄目。


[ 9月20日全て ]

2004年12月31日 (金)

私的10大ニュース2004 [ comp ] このエントリーを含むはてなブックマーク

@ cool programs

@ Palm OS 生活復活

PEG-TJ25を購入し、Palm OS 生活復活。 最初はおもちゃのつもりで買ったのだが、プロジェクトマネジメントなどにシフトした仕事のスケジュール管理などで大活躍。

PDA 市場の明るい話はあまり聞かないが、末長く製品が出て続けて欲しい。

http://www.naney.org/img/2004/X/X2004-03-05-0003.jpg http://www.naney.org/img/2004/X/X2004-03-14-0004.jpg http://www.naney.org/img/2004/X/X2004-04-10-0001.jpg


[ 12月31日全て ]

2005年2月17日 (木)

別の人の作業ファイルをCVSにマージ このエントリーを含むはてなブックマーク

都合によってCVS リポジトリにアクセスできないところにいるチームメンバから、変更した作業ファイルを送ってもらった。

さて。

どうするか。

@ 変更元リビジョンがわかっているもの

ファイルに $Id$ などが含まれていてどのリビジョンに対して変更したのかが簡単にわかるものは diff をとって patch をあてるか。 自分の作業ディレクトリとは別にもう一つ作業ディレクトリをチェックアウトして、そこに変更されている作業ファイルを上書きコピー。

 cvs diff -r リビジョン -au ファイル名 | patch /path/to/my/working/dir/ファイル名

で自分の作業ファイルにマージ。

@ 変更元リビジョンがわかっていないもの

とりあえず HEAD と diff してみて問題なさそうならそのままマージ。

やっぱりリビジョン番号を埋め込んでおいた方が便利やね。


[ 2月17日全て ]

2005年8月24日 (水)

Module::Buildソースパッケージング このエントリーを含むはてなブックマーク

@ ExtUtils::MakeMaker

私が Perl が好きな理由の一つに、標準でExtUtils::MakeMakerという Makefile ジェネレータがついているところである。これを使って Makefile.PL を書くと

 perl Makefile.PL
 make manifest
 make
 make test
 make dist

で <pacakge>-<versionno>.tar.gz というソースパッケージを作ることができ、

 tar zxvf <pacakge>-<versionno>.tar.gz
 cd <pacakge>-<versionno>
 perl Makefile.PL
 make
 make test
 make install

という手順でインストールする事ができるようになる。 パッケージの作り方が確立されているので、容易に新しいパッケージを開発しはじめられる。

逆に Java でプログラムを書くのが億劫なのは、このあたりの準備が面倒だからである。 Ant を使っても結局ここら辺自分でやらなければならないし。

@ ちょっとしたアーカイブの作成

ちょっとしたパッケージを作りたいと思うことは良くある。 例えばいくつかのデータファイルと、READMEファイルなんかをひとまとめにしてアーカイブにするとか。

本当にちょっとしたであれば、手動でアーカイブすれば良いのだが、

  • アーカイブしたいファイル群がバージョン管理下にあって、CVS ディレクトリや .svn ディレクトリがある (除外してアーカイブする必要がある)
  • 同じディレクトリにある、作業用のファイルはアーカイブしたくない (除外してアーカイブする必要がある)
  • アーカイブする前に、チェック用のリグレッションテスト一式を走らせたい (リグレッションテストをかけられるようにする)
  • UNIX でも Windows でもアーカイブ化できるようにしたい。

あたりを考慮しなければならない時は面倒くさくなってくる。

自動化としては

あたりがぱっと思い浮かぶ。 しかし、最初の2つは毎回同じようなものを書くのが面倒だし保守もしにくい。 GNU Autotools はちょっとごっつすぎだし、Windows での環境構築も面倒。

@ ExtUtils::MakeMaker の欠点

ということで最初は ExtUtils::MakeMaker を使うという線で考えてみた。 もともと Perl モジュール用で汎用用途にはちょっと邪魔な振舞いもあるが、使えないことはないと思う。 しかし make (GNU Make あるいは nmake など) に依存しているという欠点がある。

@ Module::Build

ということで ExtUtils::MakeMaker の代替である Module::Build ベースで汎用用途に使えないか検討してみた。こちらは pure Perl で make を必要としない。

Module::BuildPerl モジュールビルドにあわせた振舞いがあるものの、ちょっとカスタマイズすれば使えそうだ。 で、いろいろいじった結果、次のような感じにすると使いやすそうだ。

 use Module::Build;
 my $class = Module::Build
   ->subclass(class => 'NonmoduleBuilder',
              code => q{
                        # Don't make blib
                        sub ACTION_code {};
                        # Don't make blib
                        sub ACTION_docs {};
                        # Don't make META.yml
                        sub ACTION_distmeta {
                          # no warning on ACTION_distdir
                          $_[0]->{metafile} = 'MANIFEST';
                        };
                        # Don't add MEATA.yml to MANIFEST
                        sub ACTION_manifest {
                          $_[0]->{metafile} = 'MANIFEST',
                          $_[0]->SUPER::ACTION_manifest(@_);
                        };
                       });

 # Set your archive name and version.
 $class->new(dist_name => 'mypackage',
             dist_version => '1.0.2',
             )->create_build_script;

カスタマイズした部分は以下(Module::Build 0.26 で動作確認)。

  • Perl モジュールビルドに特有の blib ディレクトリを作らないようにする。
  • META.yml を生成しないようにし、アーカイブに含まれないようにする。

上記のようなファイルを Build.PL という名前で作っておけば

 perl Build.PL
 ./Build manifest
 ./Build
 ./Build test
 ./Build dist

等として、アーカイブ作成が容易にできるようになる。

しばらくこの方法でいろいろ試してみることにしてみよう。


[ 8月24日全て ]

2006年2月18日 (土)

Mozex を使って Firefox 1.5.0.1 の textarea の内容を Emacs で編集する このエントリーを含むはてなブックマーク

uimuim-skkFirefox のキーバインディングをきちんと設定していないせいか、どうも textarea での日本語編集にストレスを感じる。 Wiki 等で textarea での編集作業も少なくないので、Mozex を使って Emacs で編集できるように設定しておくことにした。

より降旗氏が公開されている Firefox 1.5以降用 mozex 1.07.1 日本語 version (1.5.0.1 インストール対応)を Firefoxインストール

そういえば今まで emacsclient も使ったことがなかったな。Emacs 立ち上げっぱなしのくせに。まずは起動している Emacs 上で M-x server-start (.emacs で (server-start))しておく。

Mozex の設定で

 Directory for temporary files: /tmp
 Textareas: /usr/bin/emacsclient %t

を設定。自分の環境だと Commands は絶対パスでないとうまく呼べないようだ。

これで textarea 上で右クリックし、[mozex] -> [Edit Textarea] で開いている Emacs 上に Textarea の内容が新しいバッファで開く。 編集して保存して C-x # し、Web ブラウザ側に戻ると反映される。

便利便利。

ところで Emacs server と gnuserv とどっちがいいのかな? 特に設定なしでどちらも使える。 何も設定していない状態だと gnuserv の方は新しい frame が開いて好みじゃないので、とりあえずは Emacs server を使うことにする。

ついでに EDITOR 環境変数も emacsclient に直しておこう。 これで CVSSubversion のコミット時に新しい Emacs を起動しなくてよくなる。

とっとと設定しておけば良かった。


[ 2月18日全て ]

2006年3月25日 (土)

vc-svn.el を使いたいので Emacs 22 に移行することにした このエントリーを含むはてなブックマーク

SubversionEmacsVC バックエンド vc-svn.el があるので CVS の時と同様気軽に使えていたのだが、かなり前から Debian の subversion パッケージから取り除かれて使えなくなってしまっていた。

vc-svn.elEmacs 22 に含まれるらしく、Debian だと emacs-snapshot(-common と -el)に含まれている。 やっぱり VC で使えないと不便なので、これを機に Emacs 22 に移行することにした。

後生大事に Emacs 19 / 20 / 21 それぞれ用に emacs-major-version で設定を切り分けている .emacs のコードがあったりするので、その部分は動作確認しつつ Emacs 22 用の設定を作成する。

Emacs 21 とちょっと設定を変える必要がある部分があったけれど、おおむね問題なく動いているようだ。

問題なさそうなので update-alternatives で普段使いに設定しておこう。


[ 3月25日全て ]

2006年12月13日 (水)

wxPerl PPM パッケージ このエントリーを含むはてなブックマーク

PAR リポジトリでいろいろ遊べそうなので、GUI 作成に wxPerl の方も久しびりにまた使おうかなと。

ただ wxPerl の本家が配布しているビルド済み PPM パッケージは、いまだに Wx 0.26 + wxWidgets 2.6.2 だったりして使う気になれない。 かといって、自分でビルドするのも結構手間だし。

で探していたところ Wx::Perl::Packager の開発者が、自身のサイトで PPM パッケージを配布しているのを発見。

最新のパッケージがあるのが嬉しい。

というか12月12日 にリリースされた wxWidgets 2.8.0 と、 CPAN にもまだない CVS 版 Wx (次の 0.66 のためのスナップショット)が、同じ12月12日に公開されているという早さ。

これがあれば、最新の機能が堪能できそうだ。


[ 12月13日全て ]

2007年1月6日 (土)

connect.c を使って SOCKS サーバ経由で社内サーバへ SSH 接続 このエントリーを含むはてなブックマーク

以前社外から社内 Web サイトへのアクセスは autossh + FoxyProxy を使って SOCKS 経由で直接できるように設定した (記事)。 また UnisonSubversion もそれぞれ SSH port forwarding 経由で直接アクセスできるようにしてある (Unison の記事Subversion の記事)。

しかし社外から社内サーバへの SSH 接続(やファイル転送)は、以前として一旦中継ホストに接続(転送)してから再度接続(転送)していて面倒であった。

調べたところ Shun-ichi GOTO氏の SSH プロキシコマンド connect.c を使うと SOCKS サーバ経由で直接接続できるようなので設定してみた。

 [クライアント:8090] -- SOCKS -- [ゲートウェイ] -- [社内サーバ]
                                 gw.example.com    192.168.1.x

@ インストール

Debian なので apt-get で。

 apt-get install connect-proxy

@ SSH の設定

~/.ssh/config に以下の行を追加。

 Host 192.168.1.*
   ProxyCommand /usr/bin/connect-proxy -S localhost:8090 %h %p

192.168.1.* に接続する際は、connect-proxy を使ってローカルホストの 8090 ポートの SOCKS を通るようにする設定。

@ SSHSOCKS サーバにする

autossh を使って SSHSOCKS サーバを立てる

 autossh -N -f -D8090 gw.example.com

これで準備 OK。

@ 使ってみる

@ SSH 接続
 ssh 192.168.1.x

で接続を確認。

@ Konqueror (KDE)
 fish://192.168.1.x/

で直接ブラウズ、読み書き可能なことを確認。

@ Unison

普通に 192.168.1.x と同期できることを確認。

@ CVS

普通に 192.168.1.x 上のリポジトリに対して cvs update できることを確認

@ Subversion

普通に 192.168.1.x 上のリポジトリに対して svn update をかけるとアップデートし終わって最後に

 FATAL: output (local) failed, errno=32

というエラーがでる。

@ 便利

Subversion だけちょっと気がかりだれど、その他はうまく行っている感じ。

これでかなり手軽に接続、転送できるようになった。 便利、便利。

@ 追記 (2009年2月23日)

一時的に connect.c を通らないで直接接続する際には 'ssh -o ProxyCommand=none' とする。

 例:
 SVN_SSH='ssh -o ProxyCommand=none' svn update

[ 1月6日全て ]

この日記のはてなブックマーク数 Add to Google RSS

Process Time: 1.046698s / load averages: 0.12, 0.16, 0.16
nDiki by WATANABE Yoshimasa (profile)
Powered by DiKicker
Base theme by Nana (for tDiary)