2007-12-18
■ [softs] いちいち「svk なんちゃら」って打つのが面倒な人のためのSVKシェル
svk使ってると「svk st」→「svk di」→「svk ci ファイル名 -m ほげほげ」とかよくやるんですが、 「svk」の部分がDRYじゃないと思ったので超簡易SVKシェルを作ってみましたよ。
(1/24追記:いろいろ機能強化したものをReposhとして公開しています)
使用例。
C:\proj\_3svk>./svksh.rb Welcome to svk shell svk > st M todo.hd ? .svksh.rb.swp ? _webscheme_lib.js ? svksh.rb svk >
コマンド名を入れると、それをそのままsvkに渡して実行します。終了はexitとかquitとか^D/^Zなどお好みで。
何も入力せずにEnterを押すとstatusが表示されます。
なんとファイル名のタブ補完が使えます!!readlineは神。
以下ソース。
require 'readline' SVK = "c:/prog/svk/bin/svk.bat" PROMPT = "svk > " puts "Welcome to svk shell" loop do cmd = Readline.readline(PROMPT, true) cmd = "status" if cmd == "" case cmd when "reload" load __FILE__ when nil, "exit", "quit" puts "" exit else system "#{SVK} #{cmd}" end end
「svk」を「hg」に置換すると Mercurialシェルとしても使えます(笑)