git diffの結果を差分ファイル群としてエクスポートするRubyスクリプト
Posted: Updated:
指定したリビジョン以降の差分ファイル
単純に差分ファイル群を抽出したいときのスクリプトです.
- (Python)Subversionで、あるリビジョン以降の差分をファイルで抽出
前々からお世話になっていた,↑のスクリプトのように,Gitでも差分ファイルを抽出したいなーと思って作りました.
PerlやPHPで近しい実装がされているモノも見つけたのですが,最近なんとなく素振りを始めたRubyで やってみました.上の2つのスクリプトだと,デリート対象のファイルを見てないような? 今回のスクリプトでは,DELETE_US.txtとして,削除対象のファイルパスをまとめて吐きます.
パスの通ったところに設置して
% git_diff_export 20110310released ./updated_files
こんな感じで.差分抽出の基点になるリビジョンのタグとかSHAとかと,出力先を与えて実行します.指定されたリビジョンから最新までの差分ファイルを抽出して,指定された出力先にコピーします.
git_diff_export
今回はためしにgistでぺたり.今のレイアウトだと白背景はwidthが足りなく感じる...
日本語ファイルが含まれる場合
リポジトリに日本語名のファイルが含まれる場合は,git/日本語ファイル名をgit statusなどで表示する方法 を参考に,git configをしておく必要があります.
git config --global core.quotepath false