あえて言うほどではないけれども、svn コマンドあるある

こんにちは、鈴木です。

あえて言うほどではないけれどもシリーズです。

svn 関係の良く使うコマンドをご紹介します。

ファイルの追加、変更

まずはファイルの追加、変更からです。

いろいろなパスに新しいファイルを作成することがあると思います。

例えば Rails の scaffold でモデル、ビュー、コントローラ、テストコードにマイグレーション等をまとめて生成した場合です。

一つ一つのファイルを svn add するのは面倒なので、そのような場合は以下のようにまとめて svn add してしまいます。

リポジトリに存在しないファイルは、svn status の出力で「? piyo.txt」のように「?」から始まるので、grep ^? で「?」から始まる行のみ抽出します。

次に、awk '{print $2}' で「? piyo.txt」からファイル名(つまり「piyo.txt」)を切り出し、xargs で svn add の引数に与えます。これで新規作成したファイルをまとめて svn add することができます。

同様に、変更したファイルをまとめて戻す (svn revert) するには、以下のようにします。

変更の取り消し

「間違った修正をコミットしてしまった!」ということ。あると思います。

以下のように逆方向にマージします(リビジョンは -r100:99 のように FROM > TO とすることができます)。

コミットログの表示

直近 N 件だけ確認したい、という場合は -l (--limit) オプションを使用します。

svn copy でコピーされた後のログだけ見たい、という場合は --stop-on-copy オプションを付けます。
svn copy でブランチを作成したものの、それ以前のログは表示しなくて OK という場合に使います。

-v オプションを付けると、そのコミットで変更されたファイルを確認することができます。

-c オプションでリビジョンを指定することで、特定のコミットで変更された内容を diff 形式で表示することができます。

ヘルプ

最後に、困ったときはヘルプです!

Comments are closed, but you can leave a trackback: Trackback URL.