0

私はSVNからgitに移行中ですが、git svnラッパーsvn2git(https://github.com/nirvdrum/svn2git)を使用して既存のSVNリポジトリを移行しようとしています。ブランチをそのまま保持するため、svn2gitを使用しています。私の最終目標は、プロジェクトをgithubに配置することです。

svn2gitを介してクローンを実行する場合、フォルダーにアクセスしようとすると実行が停止します。

svn/https%3A

これはおそらくブランチですが、リポジトリには表示されません。ある段階で誤ってhttpsで始まるブランチに名前を付けたと思います(完全なSVNパスが必要だと思います)が、見つからないため、再度削除する方法がわかりません。

svnadminを使用してこれを見つけて削除する方法はありますか?

4

2 に答える 2

2

これに何時間も費やし、変換を実行するためのさまざまな方法を試した後(答えを見つける前に見たことがなかったため、kbbの提案されたソリューションは試しませんでした)、最終的にgit-svnを捨てて、変換されたsubgitを使用しました手間をかけずに、リポジトリ全体を初めて。

ここで一方を他方に売り込むことで熱湯に乗り込みたくはありませんが、subgit での私の経験は、git-svn またはラッパーである svn2git での経験よりもはるかに優れていると言えます。

git-svn は、subversion リポジトリで不規則性に遭遇するとエラーをスローするようですが、subgit はそれ自体を整理しているようです。この場合、私は SVN から Git に移行しているため、これを好みます。 SVN リポジトリへのパッチ適用は、喜んで節約できる時間です。

subgit インストール ガイドに記載されていない唯一のこと (見落としている可能性があります) は、インストールを実行するときに svn サーバーをオフラインにする必要があることでした。リポジトリ) インストールを停止します。

于 2013-02-06T06:35:13.753 に答える
0

久しぶりです。これをテストしなかったことをお詫びします...しかし、理論的には、違反者を削除することができます。

git branch -D https%3A

次に、次のコマンドで再起動します。

svn2git --rebase

それでも問題が解決しない場合は、svndumpfilterを使用してそのブランチを削除してみます。svnadmin dumpを使用してリポジトリをダンプしてから、フィルタリングする必要があります。

svndumpfilter exclude branches/https%3A < dumpfile > filtered-dumpfile

次に、filtered-dumpfileを新しいsvnリポジトリにロードし、その上でsvn2gitを実行できます。

于 2013-02-05T23:55:39.440 に答える