web-dev-qa-db-ja.com

どのようにしてsvnディレクトリをtarし、すべての.svnファイルを除外しますか?

一部のコードをデプロイするためにtarファイルを作成しようとしていますが、すべての.svnファイルをデプロイしたくありません。

どうすればこれらを除外できますか?それらは複数のディレクトリにあります...

34
qodeninja
tar --exclude=.svn -z -c -v -f mytarball.tar.gz mydir/
68
jakehurst

Tarバージョン1.28以降をお持ちの場合は、

tar --exclude-vcs

以下を含むディレクトリのバックアップに使用できます。

  • 単一のsvnレポ
  • 複数のSVNリポジトリ
  • sVNリポジトリなし

manual から:

'--exclude-vcs'次のバージョン管理システムで使用されるファイルとディレクトリを除外します:「CVS」、「RCS」、「SCCS」、「SVN」、「Arch」、「Bazaar」、「Mercurial」、および「Darcs」 。

注意:

Tarの一部のバージョンでは、--exclude-vcsは最初の引数でなければなりません。

30
polras

使用する svn exportコマンドを使用して、ローカルサンドボックスのクリーンコピーを作成します。

http://svnbook.red-bean.com/en/1.0/re10.html

svn export [-r REV] URL [PATH]

svn export PATH1 PATH2
4
sukru

svn Export関数を使用して、.svnフォルダーのないファイルのクリーンバージョンを取得できます。

これは、作業コピーとは別の場所で行います。

3
NerdFury

アプローチ(1)

SVN Bookのソリューション(SVN中心)を引用するこのスレッドの答えを拡張して、この例を示します。

c:> svn export -r rrev https:/ A_SERVER/svn/A_REPO/A_PROJECT/c:\ tmp\arepo--aproject--rrev \

c:\ tmp\arepo--aproject--rrev> tar zcvf arepo--aproject--rrev.tar.gz *

アプローチ(2)

また、別の長くて有益なスレッドがあります:

「検索」で.svnディレクトリを無視するにはどうすればよいですか?

この別の議論は、主に検索中心でタール中心であることに私を襲います。 (両方の興味深いトピック自体)

上記の解決策(1)を使用するのが最善であると思いました。私のために。

私はほとんど他の「find--from--filtered-STDIN-way」を機能させることができましたが、DOS、Linux、find-variants、xargsなどのすべてを使用することの複雑さや気まぐれさが常に与えられていません。