Drowsy Dog's Diary

any note, any thought

2014年2月18日
by kazoo
2 Comments

[git] masterブランチの入れ替え、的な

といっても実際に乗り変わるわけではなく。

たとえば

みたいなブランチが(名前いまいちだけど)あって、
次バージョンの仕様をいろいろ盛り込んでいる間に feature-v2.0 の歴史が master よりもずっと先に進んでしまって、
「もうこれが master でいいよ」みたいな状態のとき。

git branch -m でブランチのリネーム、git push -f で強制 push してしまえば文字通りブランチの入れ替えはできそう。しかし、おそらく複数人で作業しているとしばき倒されますねこれは。

たぶんいろいろ方法はあると思うのですが、ここでは

と、
git merge の ours ストラテジを使ってコンフリクトをすべて自分のブランチ優先で解決した後に、master 側から merge すれば綺麗に上書きしてくれました。

単純に、master 側から

だけすればいけそうな気もしたけど、

そういうもんではないらしい。。

参考:
https://www.kernel.org/pub/software/scm/git/docs/git-merge.html
http://stackoverflow.com/questions/2862590/how-to-replace-master-branch-in-git-entirely-from-another-branch
http://stackoverflow.com/questions/2303124/git-merge-s-theirs-simply

2013年7月4日
by kazoo
0 comments

rake xxx と bundle exec rake xxx の違い

いまさらだけど整理。

Rails3 で使用するライブラリは、Gemfile に必要な gems の情報を書いて、

すれば良いが、これだとシステム共通の場所にインストールされてしまう。

ので、他のプロジェクトへの影響やバージョン依存問題を回避するために、Bundler を使ってプロジェクトごとに独立に gem をインストールできる。

と、してやれば、Rails のプロジェクトディレクトリ以下の gems に、必要な gem がインストールされる。

一度実行すれば bundler はこのプロジェクトの gem 保存場所を覚えるので、以降は bundle install でよい。
この情報は、各 Rails ディレクトリの
.bundle/config
に記述される。

は、Rails3 の共通のライブラリ保存場所から読み出せという意味であり、

は、プロジェクトのライブラリ保存場所から読み出せという意味になる。

個別のプロジェクトに保存されている gem のリストを見るには、

とすればよい。

参考:
http://q.hatena.ne.jp/1353552605

2013年6月24日
by kazoo
0 comments

Eclipse Memory Analyzer Tool と Android 環境での Out of memory デバッグ

先日来、Android アプリのデバッグ作業の必要に駆られ、あまり好きではない Eclipse さんと向き合っております。

くそう、Android なんて興味無いのに(暴言)。
…嘘です。ちょっと嫌いなだけです。ドロイド君のことは愛していますが、本名は “Bugdroid” ということを最近知ってショックを受けました。好きな食べ物は林檎とペンギンです。

で、ある Out of memory Error を調べるために、Eclipse に Memory Analyzer Tool(MAT) を導入した際の、メモ。
>>>続きを読む

2013年6月19日
by kazoo
0 comments

Eclipse から ndk-build の設定とか ADT22 でのエラーとか

珍しく Android の話。
僕の知識は 2.3 くらいで止まっているのですが、超久しぶりに Android 開発環境が必要になり、
それじゃあせっかくと Eclipse をアップデートして、ADT を rev.22.0.1 にしました。
環境は Mac OSX Lion + Eclipse Juno です。

“Missing styles. Is the correct theme chosen for this layout”

そしたら、ビルドできなくなった。ぎゃー。
 
>>>続きを読む

2013年6月12日
by kazoo
0 comments

Redmineサーバの移行

ローカルの Ubuntu 12.04 + nginx + unicorn + mysql で運用していた Redmine を、
クラウドの Ubuntu 12.04 + apache2 + mysql 環境に移してくれというご依頼。

結論から言うと「Redmine の rails フォルダをまるっとコピー」で済ませたのですが。

その前にいろいろやってみたことメモ。
自分用。

Passenger

移行先はほぼクリーンだけど、すでに Apache + MySQL で社内ドキュメント Wiki みたいなのが動いていた。
ので、nginx 共存よりは Apache + Passenger がいいのかな、ということで。導入お勉強。

rbenv

いらんかもしれんけど、システムワイドな .rbenv を入れてみる。
参考:http://qiita.com/items/8e973a544b592376a07e

ここで dev は全員が所属しているグループ名。

各員、.bashrc などに以下を記述しておく。

ruby-build をインストール。

ruby1.93 をインストール。

OK.

apache2 + passenger

Apache2関連モジュールと Passenger のインストール。

このとき足りないパッケージがあれば passenger が教えてくれる。
apache2 の conf に書く内容も教えてくれる。

ということで、この3行を、
/etc/apache2/sites-available/redmine
としてコピー。

Redmine(略)

http://madroom-project.blogspot.jp/2012/12/ubuntu-1204redmine-220apache.html
Ubuntu + Apache + Passenger + Redmine は、ほぼこちらの内容で OK でした。感謝。

あとは database.yml と configuration.yml を現状に合わせて、とりあえず新環境での Redmine 稼働は OK。バージョンは 2.2.0。

データ移行

さて、MySQL データ移行。
DBよく知らないけどたぶん export して import すればいいんだろー、と思ってぐぐってやってみた。
http://fmkt.blog65.fc2.com/blog-entry-7.html
http://napzak.com/tips/?MySQL%E3%81%AE%E3%83%80%E3%83%B3%E3%83%97%EF%BC%88%E3%82%A8%E3%82%AF%E3%82%B9%E3%83%9D%E3%83%BC%E3%83%88%EF%BC%89%E3%80%81%E3%82%A4%E3%83%B3%E3%83%9D%E3%83%BC%E3%83%88%E3%80%81%E3%83%90%E3%83%83%E3%82%AF%E3%82%A2%E3%83%83%E3%83%97
mysqldumpを使う。ふむふむ。

旧サーバで、

引越し先で

結局

おお。あっさりコピーできた。。と、ぱっと見は思ったのだけど、いざ既存のチケットを操作しようとするとエラーが出たりして、不整合があるらしい。何度かやってみるも結局そこで時間切れ。

最終的には旧 Redmine の rails 環境をそのまま /usr/local/redmine-old に持って来て、

してしまいました。やや不完全燃焼。。。