Gitで差分ファイルのアーカイブ(ZIP)を取得する。特に“/usr/bin/git: Argument list too long”と怒られた人向け。

これに至った経緯。

・すでに稼働中のWebサイト(他社が構築したもの)の改修案件。
・既存のソースをすべてGitにぶち込んで、SourceTreeで管理。
・WordPressで構築されているのでファイル多杉。差分ファイルだけを納品したい。

みたいな感じ。

20150528_01
こんな感じで、Commandクリックで2つ選択して、その差分ファイルをZIPで書きだそうぜ!という試み。

手順としては、ターミナルから動作するシェルプログラムを作成して、それをSourceTreeのカスタムアクションに登録して起動させるというもの。

まずはシェルの作成。

diff_archive.sh

ネットでよく見かけるのは、

こんな感じのもの。この場合、差分ファイル数が多すぎる場合、/usr/bin/git: Argument list too longって怒られます。その対策として、多少環境に依存しちゃいますが、xargsでgit archiveに放り込んで行きます。

んで、このシェル(diff_archive.sh)に実行権限を付与。
右クリックの「情報を見る」で、ユーザ行の実行チェックボックスをチェック。

次に、そのシェルプログラムをSourceTreeのカスタムアクションに登録。

20150528_02
SourceTreeの環境設定から、カスタムアクションタブを開いて、アクションを追加。

これで準備完了。
このエントリーの最初の画像のように、2つのコミット行を選択して、右クリック。
カスタムアクションから「指定された差分をZIPで書きだす」(追加したアクションで登録した名称)をクリックで、gitのディレクトリに_diff_archive.zipが書きだされます。

参考サイト

Argument list too longって怒られない人向け
http://ics-web.jp/lab/archives/4475

怒られちゃった人への対処方法
http://blog.shnr.net/gitで差分のエクスポート/

で、このページがその両方をまとめたものになります。

Gitが、おもしろいほどわかる基本の使い方33〈バージョン管理、SourceTree、Bitbucket〉
大串 肇 久保靖資 豊沢泰尚
エムディエヌコーポレーション
売り上げランキング: 4,591

WordPressで、特定のプラグインの更新通知を非表示にする方法について、ネットの情報間違ってないかな?

このエントリーのタイトルで検索すれば、山ほど情報が出てくるんだけど、そのどの情報も、

functinos.php

ってありますよね。
これやると、すべてのプラグインの更新通知が非表示になるんですけど。

ってやれば、その特定のプラグインだけ非表示にできたんだけど、それっぽい情報がどこにも無い。
この辺、ソースを読んでフィルタの挙動を見るのが正しい方法なんだろうけど、時間がなくて手探りしかできない状態。
誰か……。

WordPressにて、メディアアップローダーからCSVファイルをアップして、自動的にテーブルを作成するショートコードをテキストボックスに自動挿入!

CSVファイルをアップして、自動的にテーブルをつくるプラグインが欲しいなぁと思って検索したら、あっと云う間に見つかりました。

» CSVファイルのデータからテーブルを表示させるショートコード | Simple Colors

素晴らしい。Simple Colorsさん、素敵です。

しかしこれだと、アップしたファイルのURLをコピーして、エントリー画面にてテキストボックスにペーストして、それを元にショートコードを作成するという流れとなり、クライアント様にこのショートコードを入力させるのはかなりハードルが高そうなので、自動で投稿に挿入するように機能を追加してみました。

続きを読む WordPressにて、メディアアップローダーからCSVファイルをアップして、自動的にテーブルを作成するショートコードをテキストボックスに自動挿入!

2011年前半のWP3.2ではPHP5.2がサポート範囲だそうで。

いやぁ別にいいんですけどね。

ボクが仕事でもプライベートでも使う大半のサーバはCentOS5なんですけど、そのパッケージ管理yumで(普通に)インストールできるのはPHP5.1.6なんすよねー。

ロリポとかさくらなんかのメジャーな共有サーバは問題ないんだろーけどさ。

業務用の専用サーバとかだとどーするんだろか。

WordPress3.0にアップグレードするも失敗。

日本語ローカライズされたWordPress3.0にアップグレードしました。ちと難航したのでメモ。

そもそもWordPressには、管理画面からのクリック一発でアップグレードする機能があるのはご存知かと。まずはその機能がうまく機能しませんでした。

http://ja.wordpress.org/wordpress-3.0-ja.zip からアップデートをダウンロードしています。

のまんま、ウンともスンとも云わない動かない。調べてみると、どうやらメモリが足りないらしい。ZIPを解凍する部分か、それともファイルを差し替えるにあたってのテンポラリーか。いまとなっては不明。

その対処として、wp-settings.php

に変更。

無事、アップグレード完了……。

と思わせつつ、管理画面にアクセスすると真っ白。たぶんPHPのエラーだろうと想定し、wp-config.phpに次の1行を挿入。

出る出るエラーwww

Noticeは無視して、Warningを探してみたところ、

Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 368640 bytes) in /var/www/*****/wp-admin/menu.php on line 214

ってオイ!まだメモリ足りねーのかよ!?

またwp-settings.phpかぁーと思いつつ、ファイルを開いてみたところ、メモリに関する設定が消えてる……。あわわ。どこで設定するのよ!と思いつつ、探してみるのも面倒なので、.htaccess側で対応。PHPの設定を確認したら現在のmemory_limit:16M。
wp-admin/.htaccessを設置して、

よし。まだエラー。まだ足りない。

これで対応完了。無事管理画面にもアクセスでき、このエントリーを書いている次第です。
つか、メモリ食い過ぎなんじゃね?大丈夫かよ……。

<追記 date=”2010-06-24″>

wokamotoさんという親切な方からのタレコミ。

wp-settings.phpにあったdefine('WP_MEMORY_LIMIT', '32M');は消えているけど、機能としてはまだ有効らしい。で、言われた通りにwp-config.phpにdefine('WP_MEMORY_LIMIT', '64M');と記述して、.htaccessからはmemory_limit 64Mを削除。

この状態でバッチOK。このエントリーのこの追記も無事かけてます。なんだ、結局コレだけだったんじゃん。

</追記>

続きを読む WordPress3.0にアップグレードするも失敗。