Subversionの話

Subversion を使うようになって数年が経ちますが、最近 svn diff/status/log/merge などのコマンドに熟達してきた。
気軽に

  • ブランチを作る
  • マージする
  • コードを元のバージョンに戻す
  • 問題となるコードを diff で調べる

などができるようになって、作業効率が上がったり、こまめにコミットさえしておけば、あとからどうにでもなるので精神的にもかなり楽になった。


この「気軽に」ってのがとても重要。
以前だって、マージの概念やいつでも好きなバージョンに戻せること、diff を表示することが出来るのは知っていたし、たまに使っていたりもした。
ただ使う場合は

  • コマンドをWebで調べる
  • おそるおそる試してみる
  • 失敗して check out しなおしで時間をロス

などがありストレスがたまりがちで、結果的にこれら有用な機能を使うのを無意識に避けていたなと、振り返ってみると気づく。


たった数時間まじめにマニュアルを読み概念を理解し、主要なコマンドとオプションを覚えるだけでこんなに違うのだから、もっと早く気づくべきだった。

良く使う svn コマンド

  • svn st -u
  • svn diff
  • svn log --stop-on-copy
  • svn copy
  • svn move
  • svn merge --dry-run
  • svn diff --diff-cmd /usr/bin/diff -x -BbwEu
  • svn ci
  • svn up