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

KINTOテクノロジーズ株式会社

Web 技術、組織開発、趣味など雑多なブログ。技術の話題は zenn、ご飯の話題はしずかなインターネットにも分散して投稿しています。

Bio: aho.mu
X: @ahomu
Zenn: ahomu
GitHub: ahomu
Sizu: ahomu

Related

Latest

Archives

Tags

Search