ブログ始めました。
プログラミング関係とか、PC関係のメモはこちらに書く予定。
健やかに眠るための日記
軽い話題は今までどおり日記の方で。

svnからファイルを取得した時の日付

May, 15 2007 (Tue)

~/.subversion/config ファイルの設定

[miscellany]
### Set global-ignores to a set of whitespace-delimited globs
### which Subversion will ignore in its 'status' output, and
### while importing or adding files and directories.
# global-ignores = *.o *.lo *.la #*# .*.rej *.rej .*~ *~ .#* .DS_Store
### Set log-encoding to the default encoding for log messages
# log-encoding = latin1
### Set use-commit-times to make checkout/update/switch/revert
### put last-committed timestamps on every file touched.
use-commit-times = yes

use-commit-times = yes を使用。 これを指定していないと、全てのファイルが最新のコミット時間にされてしまう。

更新されたファイルの時刻が最新になる事で、make時にコンパイルから漏れる 危険性が低くなる…のだけど、何かと使いにくい気がする。 まぁ、タイムスタンプに頼るのは危険なんだけど。

optparse

May, 15 2007 (Tue)

チュートリアル

  • 環境変数 POSIXLY_CORRECT が定義されていると挙動が変わる
  • 定義していないオプションを指定すると例外 OptionParser::InvalidOption が 発生
  • OptionParser 自体は、どのオプションが指定されたかを記憶しない
  • OprionParser.new はブロックを受け付けるので、こういう書き方も有る

    require 'optparse'
    OptionParser.new {|opt|
    
    opt.on('-a') {|v| p v }
    opt.on('-b') {|v| p v }
    
    opt.parse!(ARGV)
    }
    p ARGV
  • オプションの引数
    • on() メソッドの末尾に'['以外で始まる何かを書くと、必須の引数
    • on() メソッドの末尾に'[ ...' を書くと、省略可能な引数