web-dev-qa-db-ja.com

簡単なコマンドでSVNリポジトリをGitベアリポジトリとして複製できますか?

SVNリポジトリ を裸のGitリポジトリとして複製する必要があります。

現時点では、私はこれを次の方法で達成しました。

  1. git-svn でSVNリポジトリのクローンを作成する:

    $ git svn clone http://svn.code.sf.net/p/syntaxhighlight/code/
    
  2. .gitディレクトリを目的の場所に移動します。

    $ mv code/.git /srv/git/syntaxhighlight
    

しかし、これは本当に便利だとは思いません。man git svnを実行すると、bareへの参照が表示されません。また、SVNリポジトリが更新されている場合は、git svn fetchを実行できますが、リベースしようとするとエラーが発生します。

どんなオプションでもトリックを行うことができますか?

理想的には、 git clone --mirror のようなオプションが必要です。

Git2.1.4の実行

3
Morgan Courbet

.gitディレクトリを目的の場所に移動した後、次の操作を実行できませんでした。

$ rm -rf code    # you might want to get rid of the check-out
$ cd /srv/git/syntaxhighlight
$ git config --bool core.bare true

私は次のStackoverflowの質問を見つけました 通常のGitリポジトリを裸のリポジトリに変換する方法は? あなたの問題に 答え を提供します。

git svn rebaseについてのあなたの質問へ:私は裸のリポジトリでgit rebaseを使用することを考えることができません。私は通常のgitリポジトリでのみ使用しています。したがって、同じことがgit svn rebaseにも当てはまると思います。

git svn fetchは、チェックアウトディレクトリなしで機能するため、通常のリポジトリまたはベアリポジトリで機能します。

2
Phil