SVNのリポジトリをGitリポジトリとして登録する

下記の記事では、TortoiseGitを使ってSVNのリポジトリをGitリポジトリとする方法を紹介しました。本記事ではGit Bashを使ってSVNのリポジトリをGitリポジトリにする方法を紹介します。

TortoiseSVNからTortoiseGitへの移行メモ

なお、Git for Windowsはインストール済みの前提になります。

まずgit svn --versionを実行し、git-svnがインストールされていることを確認します。

git svn --version
git-svn version 2.32.0.windows.2 (svn 1.14.0)
  1. 次のコマンドを実行し、svnのリポジトリをgitリポジトリとして取得する
    git svn clone file:///<SVNリポジトリパス> <取得先パス>
    
    ここで<SVNリポジトリパス>がネットワーク上にある場合は次のようなエラーが出て失敗しました。その場合はネットワーク上のリポジトリをディレクトリごとローカルにコピーして使うか、ネットワークパスをネットワークドライブに割り当てることでクローンできました。
    Can't create session: Unable to connect to a repository at URL 'file:///<SVNリポジトリパス>': Unable to open repository 'file:///<SVNリポジトリパス>' at C:/Git/mingw64/share/perl5/Git/SVN.pm line 148.
  2. 次のようなコマンドでgitのリモートリポジトリを作成する
    $ mkdir new-repository.git
    $ cd new-repository.git
    $ git init --bare --shared
    
    Local プロトコルの場合のコマンド例
    $ mkdir //repos/new-repository.git
    $ cd //repos/new-repository.git
    $ git init --bare --shared
    
  3. SVNから取得したディレクトリ内で次のコマンドを実行し、ローカルのリポジトリをリモートリポジトリにプッシュする
    git push --mirror //repos/new-repository.git
    
  4. SVNからクローンしたディレクトリを削除する
このエントリーをはてなブックマークに追加
にほんブログ村 IT技術ブログへ

スポンサードリンク

関連コンテンツ

コメント

メールアドレスが公開されることはありません。 が付いている欄は必須項目です