Thursday, December 27, 2007

code.google.com/hosting においてみた

twitter用につくってみた例のコードcode.google.com/hostingにおいてみることにした。 名前は monogiki。物聞(ものぎき)とは「情報収集者。表面に表れている事を見聞して味方に報告する者」です。 code.google.com/hostingでProjectを作るのは簡単でした。
  1. まずCreate a Projectへ。ここで必要な情報をいれる。重要なのはProject name。
  2. そうするとhttp://code.google.com/p/projectnameができる。Summary が上でProject nameのうしろに表示されるテキスト、Descriptionが Project Home の最初のコンテンツとなる。project name以外は後で Admin画面 (http://code.google.com/p/projectname/adminで変更可能)
  3. Analyticsも仕込める。まずcode.google.comでprofileを作ってから、profile情報の編集でURLをhttp://code.google.com/p/projectname/に設定して、profile numberを adminページのほうで登録するようにすればよい。
  4. Subversion repositoryはhttp://projectname.googlecode.com/svn/にできている。commitするには httpsを使い、かつgooglecode.comのパスワード(!= Google Accountのパスワード)を使う必要がある。http://code.google.com/p/projectname/sourceをみること。
  5. 普通にsvnでいいのだが、ここではgit-svnを使ってみることにした
    % git-svn clone https://monogiki.googlecode.com/svn/trunk/ --username fumitoshi.ukai
    Initialized empty Git repository in .git/
    Authentication realm:  Google Code Subversion Repository
    Password for 'fumitoshi.ukai': 
    r1 = df41d45fb737f7005f69fce5f7f4a5add6d59b0f (git-svn)
    Checked out HEAD:
      https://monogiki.googlecode.com/svn/trunk r1
    % ls
    trunk/
    % cd trunk
    % ls -a
    ./  ../   .git
    % git branch
    * master
    % cp ~/src/tmp/keitaixmpp.rb monogiki.rb
    % git add monogiki.rb
    % git status
    # On branch master
    # Changes to be committed:
    #   (use "git reset HEAD ..." to unstage)
    #
    #       new file:   monogiki.rb
    #
    % git commit
    Created commit e7b432c: Initial version of monogiki
     1 files changed, 158 insertions(+), 0 deletions(-)
     create mode 100755 monogiki.rb
    % git-svn rebase
    Current branch master is up to date.
    % git-svn dcommit
    Committing to https://monogiki.googlecode.com/svn/trunk ...
            A       monogiki.rb
    Committed r2
            A       monogiki.rb
    r2 = f62de3dc10e0d8ad5d932b8642b69251a7dd9121 (git-svn)
    No changes between current HEAD and refs/remotes/git-svn
    Resetting to the latest refs/remotes/git-svn
    % 
    
    最初にgit-svn cloneでとってきて、ローカルで適当にgit commitし、svnのほうに反映させる時にgit-svn dcommitするようにすればいい。とりあえず問題なく使えるみたい。ただしsidのgit-svnじゃないとだめっぽい。