5

svn リポジトリを git にクローンしようとしましたが、一部のブランチは次のように svn ルート ディレクトリにあります。

私はもう試した

$ git clone svn://url/svn-root -T trunk -b branches -b branch1 -b branch2

$ git clone svn://url/svn-root -T trunk -b branches -b .

どちらもbranch1と をbranch2正しく複製できませんでした。助けてください。

svn-root
├── branch1
├── branch2
├── branches
│   ├── branch3
│   └── branch4
└── trunk
4

2 に答える 2

6

GitMinutes Episode 20で言及されている興味深いツールの 1 つはSubGit です。これはAtalssian Stashのプラグインです(無料ではありませんが、無料で試すことができます)。SubGit については、「 GitMinutes #22: Alexander Kitaev about SubGit
」 で詳しく知ることができます。

型破りな svn リポジトリ レイアウトを管理するように設計されています。

http://subgit.com/img/stash/105_repository_layout.png

ドミトリー・パブレンコ コメント:

「ブランチ」フィールドに次のように入力する必要があります。

*:refs/heads/*;branches/*:refs/heads/branches/* 
# instead of 
branches/* 

この場合は、--- にbranch1変換されます。refs/heads/branch1
branch3refs/heads/branches/branch3

または、最上位ブランチの数が限られている場合は、それらを明示的に列挙できます。

branch1:refs/heads/branch1;
branch2:refs/heads/branch2;
branches/*:refs/heads/bra‌​nches/*
于 2013-09-09T07:57:26.170 に答える
0

次の 2 つのオプションが思い浮かびます。

  • 最初に SVN リポジトリをクリーンアップします (ブランチを /branches の下に移動します。標準のレイアウトに従って配置する必要があります)。
  • 標準レイアウトを使用してチェックアウトし、後でリモート ブランチ参照を追加します。
于 2013-09-09T07:39:23.327 に答える