git diffの結果を差分ファイル群としてエクスポートするRubyスクリプト

指定したリビジョン以降の差分ファイル

単純に差分ファイル群を抽出したいときのスクリプトです.

前々からお世話になっていた,↑のスクリプトのように,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

Author

ahomuAyumu Sato

CyberAgent, Inc.Web開発者 + 技術人事

渋谷資本で生きる名古屋の鳥類

Web 技術、組織開発、料理、旅行、ランニングなど雑多なブログ

Bio: aho.mu
Twitter: @ahomu
Github: ahomu

Related

Latest

Archives

Tags

Search