OSDN では、コード管理システム間でのデータ移行も受け付けています。
移行は Web 上から自動的に行うことは出来ません。 プロジェクト管理者がログインした状態でサポートリクエストに移行したいプロジェクト名と必要事項を記入してください。OSDNスタッフが対応いたします。
移行したいプロジェクト名をサポートリクエストに記入してください。 スタッフがサーバ上で変換をいたします。 プロジェクトのCVSの使い方によっては変換できない場合があります。
変換された Subversion レポジトリのレイアウトは以下の形式になります。
/svnroot/yourproject /svnroot/yourproject/yourmodule1 /svnroot/yourproject/yourmodule1/branches /svnroot/yourproject/yourmodule1/tags /svnroot/yourproject/yourmodule1/trunk /svnroot/yourproject/yourmodule2 /svnroot/yourproject/yourmodule2/branches /svnroot/yourproject/yourmodule2/tags /svnroot/yourproject/yourmodule2/trunk
もし、この形式以外の変換をかけたい場合は、CVSに関するFAQ#Q: CVSレポジトリを手元にまるごとバックアップできますか? に従って rsync でレポジトリ全体を取得し、ご自分で Subversion のダンプファイルを作成してください。
※ Subversionの使い方ページも参照してください。
まず、OSDN側にgitリポジトリを作成しましょう。プロジェクト管理メニューの「機能選択/設定」を開き「Git」にチェックをつけて「更新」を押して、Git機能を有効にします。有効にしたら、Git項目の「管理」のリンクをクリックしてGitの管理ページを開きましょう。
Gitの管理ページにある「新規リポジトリの作成」をクリックして、リポジトリ名などを決めリポジトリを作成します。 (以下の説明では test1 という名前のリポジトリを作成したものとします)
リポジトリが実際に利用できるようになるまでは数分かかりますので、次の工程に進んでおきましょう。
Subversionレポジトリの内容を取り込み、作業用のGitレポジトリを作成しましょう。 作業用のディレクトリを作成して、カレントディレクトリを変更しておきます。
mkdir -p ~/work/GIT cd ~/work/GIT
git svn コマンドを利用して以下のように実行します。 (username/projectnameはご自分のユーザ名/目的のプロジェクト名で置き換えてください)
git svn clone -s svn+ssh://username@svn.osdn.net/svnroot/projectname/
projectname にGitレポジトリが作成されます。 もし対象の Subversion レポジトリのURL直下が trunk, branches, tags という標準の構成でない場合は、-s を外して (必要であれば tag などの場所をオプションで指定して)ください。
次に、いま clone したレポジトリ内に cd し、 OSDNに作成したGitリポジトリをoriginとして登録しておきましょう(必須ではないですが、以下登録したものとして作業を説明します)
cd projectname git remote add origin username@git.osdn.net:/gitroot/projectname/test1.git
作業用ディレクトリに取り込んだ内容を OSDN のリポジトリに反映させるために push を行ないます。tagやbranchの内容も含めて反映するために--mirrorオプションを使いましょう。
git push --mirror origin master
お手元のレポジトリに svnadmin dump コマンドを使って、ダンプファイルを作成してください。 ダンプをチケットに添付するか、その URL をお知らせください。
git push で対応出来ない移行が必要な場合は、チケットにてご相談ください。