nDiki : sid

2014年1月29日 (水)

git-new-workdir で複数の Git ブランチをチェックアウトして同時に作業する

Git のトピックブランチ開発している時に、他のブランチを同時にチェックアウトしておきたくなる事がままある。

  1. 割り込みで他の人のコードをレビューするため。
  2. 途中で別の不具合見つけたので、別トピックブランチで先に fix するため。
  3. 複数のブランチ上のファイルをつまみ食い的に Emacs で開いて中を見たりしたいため。
  4. 他の人に使い勝手などを確認してもらうため、あるブランチWeb サーバを起動したいため。

いったんテンポラリコミットを作ったり、あるいは stash したりして作業ツリーを保存してチェックアウトしなおして用事を済ませて元に戻すとかはやるのだけれど、ちょっと面倒。3番目のケースは同時にチェックアウトしたいのでこの方法だと駄目だし、4番目のケースだとしばらくそのままにしておかないのでもっと困る。

そのような時はローカルリポジトリから別ディレクトリへ clone して、そちらをサブで使ったりするんだけれど、サブの方でちょっと修正したりした際にローカル間で push/pull とかしなければならなくてこれまた面倒。

なんかいいのないかなと思ったら Git の contrib に git-new-workdir というのがあるのを昨日知った。

 git-new-workdir . ../sub
 あるいは
 git new-workdir . ../sub

で作業ツリーを新しく作れる。/tmp/git/main を /tmp/git/sub に new-workdir すると sub の方の .git の中は

 drwxr-xr-x 3 naney naney 4096  1月 30 00:37 .
 drwxr-xr-x 3 naney naney 4096  1月 30 00:37 ..
 -rw-r--r-- 1 naney naney   23  1月 30 00:37 HEAD
 lrwxrwxrwx 1 naney naney   25  1月 30 00:37 config -> /tmp/git/main/.git/config
 lrwxrwxrwx 1 naney naney   24  1月 30 00:37 hooks -> /tmp/git/main/.git/hooks
 -rw-r--r-- 1 naney naney  104  1月 30 00:37 index
 lrwxrwxrwx 1 naney naney   23  1月 30 00:37 info -> /tmp/git/main/.git/info
 drwxr-xr-x 2 naney naney 4096  1月 30 00:37 logs
 lrwxrwxrwx 1 naney naney   26  1月 30 00:37 objects -> /tmp/git/main/.git/objects
 lrwxrwxrwx 1 naney naney   30  1月 30 00:37 packed-refs -> /tmp/git/main/.git/packed-refs
 lrwxrwxrwx 1 naney naney   23  1月 30 00:37 refs -> /tmp/git/main/.git/refs
 lrwxrwxrwx 1 naney naney   26  1月 30 00:37 remotes -> /tmp/git/main/.git/remotes
 lrwxrwxrwx 1 naney naney   27  1月 30 00:37 rr-cache -> /tmp/git/main/.git/rr-cache
 lrwxrwxrwx 1 naney naney   22  1月 30 00:37 svn -> /tmp/git/main/.git/svn

のような感じで HEAD と index と logs/HEAD 以外はもとのローカルリポジトリへのシンボリックになっている。なので sub での checkout や index の Git 操作など以外は main の方へ反映されるようになっている。わざわざ push/pull しなくて良いのでこれは楽ちん。もちろん作業ツリーはそれぞれ独立しているので、例えばサブの方で Web サーバを起動しておいたり時間のかかるフルテストを走らせておくとかもできる。

ただ複数チェックアウトして作業していると、気がつくと Emacs で違うほうの作業ツリーのファイルを開いて編集していたりして「あれ? 変更したけれどなぜか反映されない……」とかやっちゃうので(実際やった)ちょっと注意が必要ではある。

git-new-workdir は contrib の中(Debian GNU/Linux sid だと /usr/share/doc/git/contrib/workdir/git-new-workdir)にあるみじかいシェルスクリプトなので適当に PATH の通ったところにコピーして実行権限を設定しておけば OK。

Git はこういうところがカワイイよね。

スポンサード リンク
[ 1月29日全て ]

2014年3月2日 (日)

今日のさえずり: パッケージのこの緑のはいったいなんだろ

2014年03月02日

naney:12872953014

[ 3月2日全て ]

2014年5月30日 (金)

Chromecast が届いたので Debian GNU/Linux BOX からタブ キャストするなど

naney:14118204858

一昨日5月28日に国内発売になった Chromecast、その日の 9:00 過ぎに Google Play で注文したのが今日到着した。ヤマト国際物流香港から羽田小口通関支店を通過しての配送*1

*1国内の追跡だと、ヤマト国際物流(香港)→YGL羽田クロノゲート支店→国際宅急便サービスセンター(羽田)→羽田クロノゲートベース→

接続

3年前半前に購入した REGZA 37Z1 の背面の HDMI 端子に直挿し。横に並んでいる他の HDMI ケーブルと干渉せずに挿せた。REGZA 37Z1 は外付け HDD 用とは別にもう1つ USB 端子があるので Chromecast の電源は付属のケーブルでそこから得るようにした。AC アダプタのオン・オフとか考えなくて良いので手間なし。

セットアップ

Android デバイスに Chromecast アプリをインストールして、そこからセットアップ。特に迷うことは無いかな。Chromecast の Wi-Fi は 2.4GHz のみなので AtermWR9500N の 2.4GHz 側のアクセスポイントを選んで(というか 5GHz 側のは候補に表示されない)、パスワードを入力して設定完了を待てば OK。

Xperia GXiPad 2 から YouTube を再生

Chromecast に Google アカウントを登録してそのアカウントで各種サービスを視聴するのだとてっきり思っていたのだけれどそうではないのね。コントロールする側がそれぞれのアカウントで再生したものが、Chromecast で再生されるだけなのか。それは良かった。自分のメインアカウントと、iPad 2 に設定してある家庭用のアカウントで、それぞれの再生リストや履歴をもったままにしておけるので気をつかわなくて良い。

Google ChromeGoogle Cast からタブ キャスト

ThinkPad X200Debian GNU/Linux sid 上の Google ChromeGoogle Cast 拡張機能を入れてタブキャスト。とりあえずブラウズ画面は問題なく表示できた。

あと「画面全体をキャスト」もきちんとできた。ちょっとラグがあるのとファンがガンガン回るというのああるけれど。ThinkPad X200 のプロセッサが「インテル Core 2 Duo プロセッサー P8600 (2.40GHz 1066MHz 3MBL2)」なのでちょっとギリギリなのかな。Linux 側で静止画をスライドショーしてテレビで見る分には問題なし。

動画再生用 X クライアントで動画を再生している状態で「画面全体をキャスト」してもサウンドは送られないようなのでそういう動画の見方は今は無理げ。PC 側で音は出るけれど、テレビ側では遅れて映像が流れるのでタイミングが合わない。

ということで、当面は iPad 2 で YouTube を大画面で観るというのがメインの用途かな。iPad 2 だと一緒に観るには2人ぐらいまでで3人以上だとちょっと観にくいなと思っていたのでそういう時に使おう。当然だけれど解像度が低かったり圧縮ノイズが酷いのは大きな画面で観るとツラさ倍増なのでできればきちんと選別してゆっくり見たいところ。

あと、テレビの裏が埃だらけだった。小綺麗な Chromecast もすぐ埃が積もるんだろうなあ……。


[ 製品レポート ]

[ 5月30日全て ]

2014年7月10日 (木)

今日のさえずり: いっしんふらんにこころをこめてこーどれびゅーした

2014年07月10日

[ 7月10日全て ]

2014年8月10日 (日)

台風なので主に家で【日記】

台風の影響で風が強く雨もたまに強く降ったりする1日。間隙をぬってコンビニ行ったり、スーパーに行ったりした以外は家にいた。

先週の会社のキーボードのに続き、自宅の ThinkPad X200 のトラックポイントのキャップも交換。手持ちの在庫無くなってきた。ソフト・リム・キャップ派じゃない人と共同購入したい。

第26回東京湾大華火祭は今年は中止。遠目ながら見ようと思っていたのでちょっと残念。

そういえば3カ月前に uim-mozc を入れてDebian GNU/Linux sid で Mozc を使っているんだけれど /usr/lib/mozc/mozc_tool --mode=config_dialog が落ちて設定できなくて困っていた(けど放置していた)。 uim-pref-qt4 でいったん「標準の入力方式を指定」で Mozc 以外にすれば落ちなくなって設定できるとしったので、とりあえずこれで対応。ようやく空白がデフォルト(いわゆる)半角で入力できるようになってストレス解消した。

[ 8月10日全て ]

2014年8月26日 (火)

Debian GNU/Linux sid + docomo Wi-Fi

コクヨホールで docomo Wi-Fi アクセスポイント 0001docomo が結構な電波強度で掴めたので、Debian GNU/Linux sidノート PC で接続してみた。

  • WPA & WPA2 Enterprise
  • 保護つき EAP (PEAP)

にして ID とパスワードを設定するこことで接続。当初 PEAP を選択していなくてつながらなくてちょっとはまった。

あと docomo Wi-Fi が1度に1台しか接続できないのだけれど、バッグの中の設定済み iPod touch 5th の方が一足先に接続していてノート PC 側は「二重ログインできません。」エラーになってこれもちょっとはまった(iPod touch 5th の方は Wi-Fi を切るだけじゃ駄目で、明示的にログアウトさせる必要がある)。

つながってしまえば、この会場でいえばテザリングより安定していたので快適。通信量も気にする必要がないので便利。去年の9月の時よりだいぶ良くなってきている感じ。

[ 8月26日全て ]

2015年1月5日 (月)

今日のさえずり: 激しくスヌーズし続け中

2015年01月05日

[ 1月5日全て ]

2015年1月6日 (火)

sidノート PCWi-Fi がまたつながるようになった

昨日 Wi-Fi でつながらなくなった Debian GNU/Linux sidThinkPad X200 であるがいろいろ試行錯誤しても駄目で、しょうがないので network-manager パッケージ(NetworkManager)を以前のものにダウングレードすることにした。snapshot.debian.org から古い Debian パッケージをダウンロードしてきて、dpkg でインストール。同時にアップデートしていたいくつかのパッケージの依存関係の問題でダウングレードできないと出るので、それらも1つずつ古いのを取ってくる。

最終的にダウングレードできたものの、結局やはり Wi-Fi がつながらないのでこれも駄目かとまた最新のバージョンに上げたらあっさり接続できるようになった。あれ? もしかしたら普通にreconfigure とかで直ったのかな?

「ディスプレイを閉じたらサスペンド」の方はまだ直らず。とりあえず s2ram -f でのサスペンドは効いたのでこれでしのぐことにする。

あとアップデートするパッケージを精査するの大変なので不要なパッケージを適宜 purge したり。数年使っていない TeX もさよならした。ちょっとキュンとなった。

今日のさえずり: 「東京は怖いところらしいのでモヒカンにしてきました。」何それ怖い。

2015年01月06日

  • 09:26 朝に順次 sid のパッケージのアップデートをしているけれど Wi-Fi つながらないし、加えて閉じてもサスペンドしなくなった。 unstable なのに更新をためているツケがまわってきている。
  • 09:29 Wi-Fi の方は NetworkManager と PolicyKit のあたりだと思うのだけど。
  • 13:42 渋谷、雨降ってきてる。
  • 14:08 「東京は怖いところらしいのでモヒカンにしてきました。」何それ怖い。
  • 21:00 いやぁ、いい月だ。
  • 25:08 ようやく sidWi-Fi 接続復活した! (network-manager 関連をダウングレードして再度アップデートしてみた)。
  • 25:18 閉じたらサスペンドはまだ治らず。とりあえず s2ram -f でサスペンド
[ 1月6日全て ]

2015年1月31日 (土)

今日のさえずり: 「笑っていいとも!」最終回を観ようと思ったら消去されていた

2015年01月31日

[ 1月31日全て ]

2015年2月14日 (土)

sidノート PCWi-Fi 復活

年明けに Debian GNU/Linux sidノート PCWi-Fi で通信できなくなって、翌日直ったかに見えたけれどその後また駄目になって、結局ずっと有線 LAN で使っていた。しかし来週のイベントに持ち出したいのでそろそろ Wi-Fi 直さないと。いろいろやってようやく今日復活させた。

一般ユーザーで NetworkManager の設定を保存できるようにする

/etc/polkit-1/localauthority/50-local.d/org.freedesktop.NetworkManager.pkla というファイルを作り、

 [nm-applet]
 Identity=unix-group:netdev
 Action=org.freedesktop.NetworkManager.*
 ResultAny=yes
 ResultInactive=no
 ResultActive=yes

と書いて保存。自分を netdev グループに追加してあればこれで kde-nm-connection-editor などで新しい Wi-Fi 設定を保存できるようになる。

/sbin/ifdown eth0 する

そもそも Wi-Fi のコネクション自体はできているのだけれどうまく通信できないと思っていたところ、どうも有線 LAN の方の設定でルーティングしようとしていたようなので /sbin/ifdown eth0 して落とした。そしたらあっさり通信できるようになった。

チャンチャン。

今日のさえずり: 「これ(このアスキーアート)なんだろうね」って言ったら隣の席のエンジニアがおもむろに範囲選択コピーして Google 検索

2015年02月14日

  • 10:01 花粉症もらいに病院に来た。土曜日だし混んでる。
  • 12:30 そういえばこの間「これ(このアスキーアート)なんだろうね」って言ったら隣の席のエンジニアがおもむろに範囲選択コピーして Google 検索に放り込んだので「まさか?」と思ったのけれど、やはり検索できてなかった。
  • 15:49 家でチョコレートフォンデュ。 https://flic.kr/p/rb9X4o
  • 15:57 大本命チョコ。 https://flic.kr/p/qTMK5i
  • 20:25 ノート PC (Debian GNU/Linux sid) が Wi-Fi で通信できなくなっていた理由がようやくわかったので満足している。これでようやくケーブルから解放される。
  • 22:24 「どれくらい私のこと好き?」と緑が訊いた。 「世界中のがみんな溶けて、バターになってしまうくらい好きだ」と僕は答えた。 [Naney] 村上春樹風tweet Maker
[ 2月14日全て ]

About Me

Naney Naney (なにい)です。株式会社ミクシィの SNS の企画開発を行うグループでマネージャー・プロダクトオーナーをしています。CS 向上・ユーザーサポート・健全化などにも取り組んでいます。

nDiki1999年1月に始めたコンピュータ日誌を前身とする NaneyWeb 日記(兼パーソナルナレッジベース)です。ちょっとしたノートは nNote にあります。

※内容は個人的見解であり所属組織とは関係ありません。

月別インデックス
Process Time: 0.064595s / load averages: 0.93, 0.67, 0.52
nDiki by WATANABE Yoshimasa (Naney, Google profile)
Powered by DiKicker