メモ代わり。てきとーに。 いや、ですからてきとーですって。 2年前ぐらいにPythonあたりでメールくれた方、ごめんなさい。メール紛失してしまい無視した形になってしまいました。。。

2008年3月24日月曜日

[git] subversionのブランチへコミット

メモ。


$ git branch -r
MOD_CHXJ
RELEASE_0_1_0
RELEASE_0_1_1
RELEASE_0_1_2
RELEASE_0_2_0
RELEASE_0_2_1
RELEASE_0_5_0
RELEASE_0_6_2
RELEASE_0_7_0
RELEASE_0_8_0
RELEASE_0_9_0
UNSTABLE_0_4_0
tags/MOD_CHXJ_0_1_0
tags/RELEASE_0_6_0
tags/RELEASE_0_6_1
tags/RELEASE_0_8_1
tags/RELEASE_0_8_3
tags/RELEASE_0_8_5
tags/RELEASE_0_8_6
tags/RELEASE_0_8_7
tags/SNAP-20060712
tags/root-of-RELEASE_0_1_0
tags/root-of-RELEASE_0_1_1
tags/root-of-RELEASE_0_1_2
tags/root-of-RELEASE_0_2_1
tags/root-of-RELEASE_0_5_0
tags/root-of-RELEASE_0_6_0
tags/root-of-RELEASE_0_6_1
tags/root-of-RELEASE_0_6_2
tags/root-of-RELEASE_0_7_0
tags/root-of-RELEASE_0_8_0
tags/root-of-UNSTABLE_0_4_0
trunk
 

といった感じにsubversionがcloneされているとして、
ローカルは今、

$ git branch
RELEASE_0_8_0
* branch_0.9.0
master
trunk
 

な感じ。
そこで、RELEASE_0_7_0を編集したいとする。
そしたら、

$ git checkout -b branch_0.7.0 RELEASE_0_7_0
Switched to a new branch "branch_0.7.0"
$ git branch
RELEASE_0_8_0
* branch_0.7.0
branch_0.9.0
master
trunk
 

とやったら、あとは編集。
branch_0.7.0はgitでのブランチ名。
RELEASE_0_7_0はgit branch -rで出てきたブランチ名で、ここではsubversionのブランチ。

作業が終わったら、

$ git commit -a
$ git svn dcommit
 

な感じでOK。

メモでした。
.

[mod_chxj] memcacheを使ってみた。

ご要望があって、
クッキーシミュレート機能で、今までdbmに保存していたデータを、
memcachedに渡してあげるようにしてみた。

apr_memcacheを使っているせいか、とっても簡単。
apr_memcacheは0.7.0を使用してテストした。
configureが通らなかったんで、configure.acの33行目を


LIBTOOL="`${apr_config} --apr-libtoool`"
 



LIBTOOL="`${apr_config} --apr-libtool` --tag=CC"
 

として、

$ autogen.sh
$ ./configure --prefix=/usr 
$ make
 

でコンパイルした。


で、memcachedを使用するようにmod_chxjをコンパイルするには、
上記apr_memcacheをインストールしたとして、

$ ./configure --enable-memcache-cookie \
--with-apr-memcache-header=/usr/include/apr_memcache-0 \
--with-apr-memcache-lib-dir=/usr/lib
 

でconfigureしてmakeすればOK。
で、設定は、

ChxjCookieTimeout 30

ChxjCookieMemcacheHost "localhost"
ChxjCookieMemcachePort 11211
 

という感じ。

ついでにMySQL版もやってしまった。
で、こちらのconfigureは、

$ ./configure --enable-mysql-cookie \
--with-mysql-header=/usr/include/mysql \
--with-mysql-lib-dir=/usr/lib
 

として、make。
設定は、

ChxjCookieMysqlHost "localhost"
ChxjCookieMysqlPort 3306
ChxjCookieMysqlDatabase "test"
ChxjCookieMysqlUsername "roottest"
ChxjCookieMysqlPassword "pwtest"
ChxjCookieMysqlSocketPath "/tmp/mysql.sock"
ChxjCookieMysqlCharset "utf8"
ChxjCookieMysqlTablename "chxj_cookie"
ChxjCookieTimeout 30
 

な感じ。

いやいや、勉強になった。
.
--
残作業:
  • Fedora-8で確認【済】
  • CentOS 5.1で確認【済】
  • CentOS 4.6 x86_64で確認【済】
  • Debian sargeで確認(memcachedはデフォルトでは使用できない。)【済】
  • Debian etchで確認【済】
  • 今回はdebなし【済】
  • リリース(0.9.0)【済】
といったところ。
--
追記
apr_memcache0.7.0を使用する場合apr_memcacheにバグがあるため、
パッチを当てる必要がある。