リポジトリをUSBメモリに移動した際のメモ

やったこと

ノートPCで開発を行っているプロジェクトがあり、
そのリポジトリはノートPCに置いてある。
このリポジトリUSBメモリに移動して、
別のデスクトップPCからも扱えるようにしたいと思いやってみた。

予想される反論への反論

今どきUSBメモリなんか経由しないで、
リポジトリはサーバに置いてアクセスするもんですよ。
とか言われるかもしれないけど、
僕の今の環境だとそれが出来ないのでUSBメモリを使うことにした。
この方法ならネットワーク環境がなくても、
USBメモリSubversionさえあれば、どこにいっても使うことができる。

手順

SubversionにはEmacsのpsvn.elを使ってアクセスする。

  1. ノートPCにあるリポジトリUSBメモリにコピーする
  2. ノートPC上の作業コピーと.svnを削除する
    • 今回はtrunkと.svnを消した。
  3. M-x svn checkout
  4. デスクトップPCに作業ディレクトリを作成。
  5. M-x svn checkout
    • デスクトップPCにチェックアウト。

気付いたこと

  • チェックアウトするときは、リポジトリと.svnだけじゃなくて、trunkなどもちゃんと消しておかないといけない。チェックアウトするときに同じ名前のディレクトリやファイルがあると怒られる。そりゃそうだよなー。
  • Subversionディレクトリごとに管理を行っているためか、c:\homeを管理の対象にしていると、それ以下に含まれるc:\home\gan2\ruby\hogeを別に管理しようとしたときになんか警告が出る。無視しても大丈夫みたいだけど、警告されないためにはどうしたらいいのか気になる。
  • ローカルにリポジトリを置いていたときと比べて、USBメモリリポジトリを置いている方が、コミットの際に時間がかかるようようだ。10秒もかからないけど、ちょっと気になるといえば気になる。アップデートとかは一瞬。

Ruby でタグジャンプする方法

やっと分かったのでメモメモ。
けっこう時間がかかったけど、
分かってしまえばえらい簡単なので手短に。

  1. Exuberant CtagsからWindows版のctagsをダウンロード
    • ちなみにここのctagsは他のctgasとは違うみたい。
  2. 解凍して中のctags.exeの名前をetags.exeに変更
  3. etags.exeをc:\Meadow\binに移動
  4. TAGS(タグの情報が入ったテーブル)ファイルを作るために、テーブルを作りたいRubyスクリプトのあるディレクトリへ移動
  5. > etags * でTAGSを作成
  6. TAGSが出来ていることを確認
  7. Rubyスクリプトを開いて M-. でクラスやメソッドの名前を入れればその場所に一発ジャンプ!
    • TAGSの場所を聞かれたらエンターでOK。

ここに至るまでの経緯

関数定義に一発でジャンプできるタグジャンプなるものの存在を知る。
http://www.bookshelf.jp/soft/meadow_42.html#SEC622を見て試してみる。
なんかうまくいかない。
Meadowに標準でついているetagsじゃ、
Ruby用のタグテーブルは作れないのだと分かる。


タグジャンプについて調べてみる。
etagsやらgtagsやらrtgasやらctagsやら色々出てきて混乱。
rtagsがRuby用らしいので期待して調べてみる。
見つからない・・・。


http://tmaeda.s45.xrea.com/td/20040501.html#p02を見て、同じようなことをしていた人の存在を知り、同時にctagsがRubyをサポートしていることを知る。
今度こそと胸ときめかせながらctagsを調べてみる。
マニュアルが英語だったので日本語で使い方を教えてくれるところがないか調べてみる。
Manpage of CTAGS日本語対応版を発見!
ctagsを落としてきてbinに突っ込んで使ってみる。
M-. するとフォーマットが正しくないとかなんかそんな感じのエラーが出てがっかりする。
もうよく分からなくて嫌になる。


しばらくしてから、ctagsにMeadowで読み込めるようなタグテーブルを吐かせるオプションがあるんじゃないかと閃く。
Manpage of CTAGS日本語対応版を読んでいたら、

-e
etagsモードを有効にすることで、Emacs用のタグファイルを出力する。代わりに "etags"という文字列からはじまるコマンド名(実行ファイルの名前を変更したり、ソースコードのビルド時に"etags"にする)で、ctagsを実行しても、 etags モードが有効になる。このオプションは、ソースファイルよりも前に付加しなければならない。

というそのものずばりなオプションを見つける!(・∀・)やった!!
試してみたらうまくいった!やっほーー!!


ちなみにc:\Meadow\binに元々あったctags.exeとetags.exeは、
新しくダウンロードしてきたctags.exeで上書きした。
で、-eオプションを毎回付けるのが面倒なので、
片方の名前はetag.exeに変更してある。

追記

コメントで AS3 対応の ctags を教えて頂きました。
Almost perfect: ActionScript code browsing with jEdit’s Sidekick panel | Turdhead
Windows 用のバイナリ