作業ノート

様々なまとめ、雑感など

svn

Subversionのリポジトリからgitリポジトリに移行する

会社で管理していたリポジトリをsvnからgitに移行したときの方法。 1.コミッターのリストを作成する 移行対象のsvnリポジトリをローカルにチェックアウト(svn checkout)している状態で、そのルートディレクトリ下で $ svn log ^/ --xml | perl -ne 'print if…

svnでコンフリクトしたときに、vimdiffを使って解消する

マージでコンフリクトしたときの対応としての備忘録。 前提 例えば、svnでマージしたときにfooというファイルがコンフリクトしたとする。 コンフリクトすると、管理しているファイル以外に3つのファイルができる。 $ ls ... foo.working foo.merge-left.r1 …

svn diff 変更されたファイルのパスのみを表示する

追加・変更・削除対象のファイルのみのリストを作りたいとき、svn diffにsummarizeオプションをつけることで、ファイルパスのみが表示される。 svn diff --summarize -r PREV:COMMITTED ./ svn diff --summarize -r COMMITTED:HEAD ./ 参考 OZACC.blog: Subv…

svnコマンドでvimdiffを使う

svn

vimdiffを実行するためのラッパーを作成し、svn diffを実行したときにそのラッパーを起動するようにする。1. ラッパーの作成ラッパのスクリプトを作成する。 $ cat ~/.subversion/bin/svn-diff.sh #!/bin/bash /usr/bin/vimdiff $6 $7 パーミッションを変更…

svnコマンドでマージする

svn

svn上でブランチを作成し、その変更内容をブランチ元に適用する。 ブランチのURLを http://svn/branches/branch-sources とする。 1. sourceディレクトリに移動 $ cd /path/to/src 2. リビジョンを確認する $ svn log --verbose --stop-on-copy http://svn/b…

subversionで差分を作る。パッチをあてる。

svn

差分を作る 作業ディレクトリで、以下を実行する。 $ svn diff -r 10:HEAD > foo.diff patchをあてる $ patch -p0 -E < foo.diff -E オプションを指定すると、パッチ適用後に空のファイルを削除する。また、patchが当たるファイルを確認したい場合は、--dry-…