5

次のような単純なレポ構造があります。

trunk
    code
    othercode
    doc
    misc
branches
    b1
        code
        othercode
        doc
        misc
    b2
tags
    t1
    t2

私はそれを複製するために使用しようとしていますが、トランク + すべてのタグとブランチでgit svn省略したいと考えていdocます。miscただし、ignore-pathsオプションは期待どおりに機能しません。

ignore-paths = (doc|misc)

うまくいくようtrunk/code/proj1/doc/ですが、保持したい のようなパスも除外されるのではないかと心配しています。

ignore-paths = ^(doc|misc)

doc機能しません --初期コマンドmiscによって引き込まれます。git svn fetchこのようにルートのディレクトリに対してのみ一致する正規表現を取得するにはどうすればよいですか? man ページにはignore-paths、git clone のルートに到達する「相対」パス (docなど) と一致するか、SVN リモートで見られる「完全な」パス (branches/b1/docなど) と一致するか、または何かそうしないと。

4

1 に答える 1

9

SVNリポジトリのフルパスと一致しているようです。SVNパスの//部分を含むこの正規表現は、次のトリックを実行しtrunkましたtagsbranches

ignore-paths = ^(trunk|tags/[^/]*|branches/[^/]*)/(doc|misc)/

つまり、パスは次のいずれかで始まる必要があります。

  • trunk
  • tags/、おそらく1つのパスセグメントが続きます(を含まない/
  • branches/、おそらく1つのパスセグメントが続きます(を含まない/

doc...次に、またはという名前のパスセグメントmisc

于 2012-05-06T02:46:15.210 に答える