你如何Tar svn目录并过滤掉所有的.svn文件?

时间:2011-01-18 17:50:44

标签: svn filter tar

我正在尝试创建一个tar文件来部署一些代码,但我不希望部署所有的.svn文件。

如何过滤掉这些?他们在多个目录中......

5 个答案:

答案 0 :(得分:68)

tar --exclude=.svn -z -c -v -f mytarball.tar.gz mydir/

答案 1 :(得分:28)

您可以使用 tar --exclude-vcs

我用于备份文件夹:

  • with svn repo
  • 没有svn repo
  • with differents svn repo

来自手册:

  

“ - 排除-VCS”   排除以下版本控制系统使用的文件和目录:'CVS','RCS','SCCS','SVN','Arch','Bazaar','Mercurial'和'Darcs'。

更多信息http://www.gnu.org/software/tar/manual/html_section/exclude.html

答案 2 :(得分:4)

使用svn export命令制作本地沙箱的干净副本。

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

svn export [-r REV] URL [PATH]

svn export PATH1 PATH2

答案 3 :(得分:3)

您可以使用svn导出功能获取没有.svn文件夹的文件的干净版本。

在与工作副本不同的位置执行此操作。

答案 4 :(得分:2)

方法(1)

在这个引用SVN Book的解决方案(以SVN为中心)的线程中扩展答案,我给出了这个例子:

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

C:\ TMP \ arepo - 在进行一个项目 - rrev> tar zcvf arepo - aproject - rrev.tar.gz *

方法(2)

还有另一个冗长且信息丰富的主题:

How can I get `find` to ignore .svn directories?

这种不同的讨论使我看起来主要以发现为中心,以焦油为中心。 (两个有趣的话题本身都是正确的)

我发现最好使用上面的解决方案(1)。对我来说。

我主要得到另一个“find - from - filtered-STDIN-way”工作,但并不总是给出了使用所有DOS,Linux,find-variants,xargs等的复杂性和变幻莫测。