2011-12-10 10 views
2

私は次のようになりますSVNリポジトリがあります。"git svn clone"のみクローントランクですか? (リポジトリ全体のクローンを作成するために期待される)

    • ...様々な枝(まだありません)
  • タグ
    • ...各種タグ(なし)
  • トランク
    • 共通
    • ドキュメント
    • EXTLIB
    • projの

私が実行します。

git svn clone --stdlayout https://[SVN URL]/svn/MyProject "C:\_build\WorkingFolders\Myproject_gitcopy" 

コマンドが正常に実行され表示されます。

私はリポジトリ全体をクローンして以来、クローンディレクトリに "branches"、 "tags"、 "trunk"フォルダがあることが予想されます。代わりに、 "common"、 "doc"、 "extlib"、 "proj"が表示されます。

gitは自分のリポジトリのトランクだけをクローンしているようです。誰がなぜこのようなことがあり、それを修正する方法を知っていますか?それとも私はそれを間違って見ていますか?

ありがとうございました!

+0

git checkout <abranchname> 

とバックを経由して、ワークスペースを切り替えることができますあなたがタグをgitのしようとしたことがあり-l?ブランチやタグがない場合は、もっと表示できません。 – khmarbaise

答えて

4

実際、git svnはスマートであなたを助けようとしています:-)。

gitは、Subversionとは異なるタグとブランチを扱います。 Subversionでは、タグとブランチは別々の技術的概念として存在しません。それらは特別なディレクトリの下にあるツリーの単なるコピーです。

gitは実際には実際のオブジェクトとして分岐します。 git svnは自動的にSubversionブランチとタグをgitブランチ(*)に変換します。

git branch -a 

を行い、gitの中で枝を表示するには(-aは、リモート追跡の枝を含めます)。 SVNリポジトリのブランチとタグが表示されます。

(*)注意:git svnはSubversionタグからgitタグを作成しません。なぜなら、Subversionでは、タグとブランチの区別が技術的にはないからです。Subversionのタグ&ブランチを区別する方法は完全にはっきりしていないので、git svnはそれらをすべてブランチとしてインポートします。例えば、 Debian bug #501761: git-svn --tags should at least /try/ to handle tags as tags

+0

これを別の質問で展開しようとしましたが、あなたの答えが私の理解を助けました。 – SeanKilleen

+0

私はSubversionリポジトリのタグに何が起こるかを説明するために少し答えを広げました。 – sleske

2

Gitには、トランク、タグ、ブランチなどのディレクトリ構造はありません。通常、gitのマスターブランチのすべてがSVNトランクに入っていますが、あなたのSubversionでタグやブランチを持たないと言ったところで、タグやブランチは表示されません。

さらに、--stdlayoutオプションに基づいて、git-svn bridgeにデフォルトのレイアウトを異なるトランク、タグ、およびブランチにするように指示しました。

0

あなたには、いくつかのsvn枝が(gitのブランチ-aで見られるように)始めたら、あなたは

git checkout master 
関連する問題