4

私は svn リポジトリを git リポジトリに変換していますが、何年にもわたってチェックインされてきた多数のバイナリ ファイルがあり、画像やその他のファイルと共に、これらのファイルをgit リポジトリがスペースを占有します。

リポジトリを変換するために git-svn をいじり、その -ignorepaths プロパティを使用しましたが、パターン/ディレクトリごとに ignorepaths を指定するのではなく、リストを無視パスにフィードできるようにしたいと考えています。除外します。変換中に svnignore/gitignore ファイルを使用できれば、このジャンクを取り除くことができればさらに良いでしょう。

これを行う方法はありますか、それとも弾丸を噛んで各パターン/パスを個別に指定する必要がありますか?

編集:私が求めていたものをより明確にするために質問を更新しました

4

3 に答える 3

2

git に慣れている場合、Subversion は少し複雑です。svn:ignoreフォルダ単位で機能するプロパティです。特定のフォルダーでは、特定のファイルまたは直接のサブフォルダーのみを無視できます。DIRECTORY の無視プロパティを設定するコマンドにファイルを渡すことができます。また、次のように .gitignore ファイルを渡すこともできます。

svn propset svn:ignore -F .gitignore DIRECTORY

しかし、上記の理由により、.gitignore ライクの本当に実用的な部分は、*/buildSubversion では効果がありません。

できる唯一のことは、--depth引数を使用することsvn propsetです。たとえば、 を渡す--depth immediatesと、DIRECTORY とすべての直下のサブフォルダーのプロパティが設定されます。深さを指定する方法や、単に inifite にする方法もあります - TAB 補完がそこで機能するか、ヘルプを調べると思います。

ただし、まだ大きな欠点があります。無視したいファイルを含むフォルダーを追加するたびに、svn propsetコマンドを再度実行する必要があります。

于 2012-08-24T07:38:47.270 に答える
0

svn:ignore を .gitignore に、またはその逆に変換する場合は、この変換を自動的に実行する git-svn の代わりにSubGitを使用できます。最も単純な構成での変換コマンドは次のようになります。

$ subgit install path/to/svn/repository
于 2012-08-24T11:06:29.483 に答える