zt日記

書いているのは Kazuhiro NISHIYAMA a.k.a. ZnZです。
2001|09|10|11|12|
2002|01|02|03|04|05|06|07|08|09|10|11|12|
2003|01|02|03|04|05|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|
2012|04|05|06|09|

この日記にはツッコミを入れられます。 ツッコミを入れたい日付をクリックすると、フォームが現れます。

xreaでtDiaryを使う方法はxrea.com で tDiary を使う方法インストールメモXREA + tDiary + Namazuをどうぞ。


2011年10月22日(Sat)

nadoka を github に移行

nadoka の開発用レポジトリを rubyforge の svn から github の organization に移行しました。

まず organization account 用のメールアドレスを用意してから、 https://github.com/blog/674-introducing-organizations の下の方の「Create a new organization now!」から作成しました。

https://github.com/organizations/new で Organization Name は nadoka で Organization Email に先程作成しておいたメールアドレスを入れて Choose the organization’s plan は Open Source ($0/month) にしました。

次に svn から git への変換をしました。 http://progit.org/book/ja/ch8-2.html を参考にしました。

すでに git-svn を使っていたので、コミットしたメンバーを調べてみると 3 名でした。

% git shortlog -sn
   163  ko1
    76  znz
     3  naruse
     1  (no author)

次に試行錯誤しやすいようにローカルに svnsync でミラーしました。 以下のシェルスクリプトを2回実行してミラーしました。

% cat svnsync-nadoka-repos-mirror.sh
#!/bin/sh
set -ex
cd $(dirname $0)
DIR=$(pwd)
REPODIR=$DIR/nadoka-repos-mirror
if [ -d "$REPODIR" ]; then
    svnsync synchronize "file://$REPODIR"
else
    svnadmin create "$REPODIR"
    echo '#!/bin/sh' >"$REPODIR/hooks/pre-revprop-change"
    echo 'exit 0' >>"$REPODIR/hooks/pre-revprop-change"
    chmod +x "$REPODIR/hooks/pre-revprop-change"
    svnsync init "file://$REPODIR" svn+ssh://rubyforge.org/var/svn/nadoka
fi

最初に no author は放置して変換できないか試してみました。

% cat nadoka.svn.authors
ko1 = ko1 <ko1@atdot.net>
znz = Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
naruse = NARUSE, Yui <naruse@airemix.jp>
% git svn --authors-file=nadoka.svn.authors clone file://$REPODIR nadoka-git-svn

「Author: (no author) not defined in nadoka.svn.authors file」で止まってしまいました。 no author はコミットされた時期から考えて ko1 に割り当てれば良いとわかったので、そうしました。 「-s」も忘れていたので付け足しました。 Pro Git を参考にして「--no-metadata」も付け足して、変換後のタグやブランチの移動などもしました。

% cat nadoka.svn.authors
ko1 = ko1 <ko1@atdot.net>
znz = Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
naruse = NARUSE, Yui <naruse@airemix.jp>
(no author) = ko1 <ko1@atdot.net>
% git svn clone --authors-file=nadoka.svn.authors --no-metadata -s file://$REPODIR nadoka-git-svn
% cd nadoka-git-svn
% cp -vRf .git/refs/remotes/tags/* .git/refs/tags/
%  rm -Rf .git/refs/remotes/tags
%  cp -vRf .git/refs/remotes/* .git/refs/heads/
%  rm -Rf .git/refs/remotes

この状態で git log や git tag などを見て問題がなさそうなのを確認しました。

次に github のレポジトリを作成しました。 https://github.com/organizations/nadoka/repositories/new で Project Name は nadoka にして Description と Homepage URL は rubyforge を参考にして設定しました。

リモートレポジトリができたところで最初の push をしました。

  • git remote add origin git@github.com:nadoka/nadoka.git
  • git push origin --all

master ブランチと同じ内容の trunk ブランチが出来てしまっていましたが、 git では不要と考えて master と同じなのを確認して削除しました。

  • git diff master trunk
  • git push origin :trunk

push が出来るメンバーを設定するために Developers team を作成して member と repo を追加しました。

2011-10-29 追記: タグが push できていなかったので「git push --tags」もしました。


copyright © 2001-2013 ZnZ
Key fingerprint = 6E14 2C9C DBD7 874D 8B3C CAA8 9B58 5538 ED7E 1B73