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に飽きたんだけど、なんかいいCMSある?(なさげだけど)。

ここ最近、暇。

原因は主に2つ。
長く付き合っていたクライアント(制作会社)と縁を切ったこと。
飯の種(客の要望に合わせたオリジナルCMS開発や、SNSを絡めたキャンペーンサイトのシステム開発など)のブームが去ったこと。

まぁそんな訳なので、いろいろ検証する時間が確保できまくりで、なんかいろいろなことが見えてきました。

みんな大好きWordPress!

もうデザイナーさんレベルでサイトが構築できちゃうから、ぼくみたいなプログラマーは用なし。
独自のCMS開発に予算突っ込めるほどリッチなクライアントさんもいない。

なので、意外と開発者が少なめで、WordPressでサイト構築してる人らがちょっと困っていることをカバーしているツール(CMSとか)ないかなぁ〜と探してたら、まぁちょっとマイナーだけど使えそう!というCMSが幾つかありました。
まぁ具体的には挙げないけど、3つほどピックアップして、触ってみました。

触ってみるからには、何か目標を。
WordPressの公式テーマである「Twentyfifteen」の完コピ。
HTMLやCSSの実装はもちろん、CMSが提供しているデザインカスタマイズも組み込みたい。
たとえばTwentyfifteenのカラースキームを、検証対象のCMSのデザインカスタマイズ機能で組み込んだり、とか。

結果。全滅。

まず、管理画面がダサい。とにかくダサい。恥ずかしくて納品できないレベル。

で、まぁ我慢できるレベルだと感じた唯一のものがconcrete5でした。(日本語メンバーの活動も盛んみたいで、コミュニティに質問投げたら速攻でレス付きましたw)

concrete5本家
concrete5日本公式

でもね。でもね。
4月から1ヶ月ほどゴリってみましたが、やっぱ無理でした。

考え方が間違ってるのかもしれないけど、例えばWordPressを使ってサイト構築する場合(クライアントワークです)、
・テーマ作成
・適切なプラグインの導入
・足りない機能はfunctions.phpで追加したり、独自のプラグインを開発
で足りる。ウィジェットは使わない。

だけど、検証してみたconcrete5は、基本的なテーマカスタマイズはOKだけど、その中の要素(テキストエリアだとか画像の埋め込みやら)ってのがWordPressのウィジェットみたいな感じ。ドラッグアンドドロップでサイトができちゃいますよ!的な。

ウィジェットみたいなもんだから、その部分のHTMLやらCSSがブラックボックスみたいになってて、HTMLの構造やらクラスやらIDやらが変更できないとか、変更できたとしても完璧じゃない(一部はそのCMSの仕様に準拠したり、テンプレートを選択するなどの更新者のひと手間が必要だとか)ものが多い。

改めて向き合ってみると、WordPressは自由度が高い。
テーマファイルも、結局はPHPだし、WordPressの内部関数もオープンになってるから、テーマから無理やり呼び出してどうにかこうにか希望の機能が実装できる。WordPressの外からWordPressの関数が呼び出せるのもまた良い。

そんな訳で、やっぱり原点回帰。
WordPressをより深く学んでみるモードに入っています。

現在、これ( ↓ )が電子書籍化されているのを待っているところです。(願わくばKindleで)

詳解 WordPress
詳解 WordPress

posted with amazlet at 15.05.19
プライム・ストラテジー株式会社
オライリージャパン
売り上げランキング: 8,891

安かろう悪かろうから卒業。ちゃんと使えるBluetoothヘッドセット“JABRA STEALTH”。

みなさん、携帯電話(スマホ)を肩と耳に挟んで電話しますよね。んで、両手をフリーにして、メモ取ったり、キーボード打ったり。
ぼくの場合、超なで肩なので、挟めないんです。なので、電話しながらキーボードを打つために、iPhoneの標準イヤホン(マイク付き)や、Bluetoothのヘッドセットを買ってみたり。

Bluetoothのヘッドセットには悩まされました。
Amazon辺りで「bluetooth ヘッドセット」で検索すると、検索結果が売るほどたくさん出てきます。
安いものなら1,000円くらい、高いものだと10,000円くらい。商品詳細を眺めてみても、10倍の差がよく読み取れません。

だから結局、安いものを購入。
あの〜もしもし。聞こえますか?途切れます?ちょ、ちょっと待ってくださいね。(ヘッドセット外す)
何度か繰り返して、捨てる。

もう少し良さげな3,000円くらいのものを購入。
あの〜もしもし。聞こえますか?途切れます?ちょ、ちょっと待ってくださいね。(ヘッドセット外す)
何度か繰り返して、捨てる。

もう多少高くても、カッチョ良くて、カスタマーレビューがたくさん書き込まれてて、悪評が少ないものにしよう!

ビックカメラやヨドバシカメラを渡り歩き、どこのメーカーのヘッドセットがカッチョ良いかに当たりを定め、帰ってAmazonさんで復習。どのシリーズが良いか、レビューが書き込まれているか、悪評にはどのような種類のコメントがあるか、などなど。

で、最終的に落ち着いたのがコレ。

カスタマーレビューによく出てきたのが「今まで安いの使ってたけど使い物にならなかった。コレを買ってよかった」というもの。
まさしくそれを体感したい!と思い、Jabra STEALTH購入決定。

定価は9,800円だけど、Amazonでの実売価格は6,000円台後半くらい。

実際に使ってみたところ……。

確かに途切れない。
完全に使えるヤツでした。

iPhone, Macに同時接続してると、iPhoneの通話側にノイズが入るかな。その程度なら通話中にMacの接続切りゃぁ良い話。

こうなれば気になるのがもっと高い商品。
定価レベルで、
17,600円のものや、17,442円のものもあるけど、見た目がかっこよくないし、レビューも少ないけど、どうなんでしょうね。ヘッドセットの品質というよりは、機能や機構による価格差なんじゃないかな。自分じゃ試す勇気ないし、レビューも少ないからわかんねぇな。

いづれにせよ、「安かろう悪かろう」という言葉を噛み締めた42歳の春でした。