hack のためのネタ帳, etc,,,

状況

Google Code がサービス終了して SVN の repository が引けない。
Source からは(多分最終版の) checkout が https://storage.googleapis.com/google-code-archive-source/v2/code.google.com/${PROJECT_NAME}/source-archive.zip より得られるが、これを展開しても svn log は過去 Google Code にあった SVN repository を見に行くため、履歴が得られない。
履歴とコメント一覧は Source から commits で見ることが出来るが、各リビジョンの内容(ファイル)を得ることができない。

限定的な解法

Google Code svn dump」でググると以下のページを見つけた。

前述の source から得られる source-archive.zip の代わりに repo.svndump.gz で svnadmin dump の結果が得られるとのこと。
  • https://storage.googleapis.com/google-code-archive-source/v2/code.google.com/${PROJECT_NAME}/repo.svndump.gz

ただしこれは、得られるプロジェクトと得られないプロジェクトがあって、例えば、 は得られず は得られる。
おそらく archive になる前に project の側で行われた何らかの操作が関係しているのではないかと思われるが、この違いが生じている具体的な原因については不明。

ということで、repo.svndump.gz が得られないプロジェクトに関しては諦めるしかなさそうだが、
repo.svndump.gz が得らる場合は、例えば
PROJECT_NAME=apt-cyg-multi
wget https://storage.googleapis.com/google-code-archive-source/v2/code.google.com/${PROJECT_NAME}/repo.svndump.gz
svnadmin create ${PROJECT_NAME}.svn
gzip -dc repo.svndump.gz | svnadmin load ${PROJECT_NAME}.svn
のようにすれば SVN repository の複製が得られ
svn checkout file://$PWD/${PROJECT_NAME}.svn ${PROJECT_NAME}.svn_wc
で、svn の working copy が
git svn clone file://$PWD/${PROJECT_NAME}.svn ${PROJECT_NAME}.git
で、git に変換した repository が得られる。

コメントをかく


「http://」を含む投稿は禁止されています。

利用規約をご確認のうえご記入下さい

Wiki内検索

フリーエリア

編集にはIDが必要です