我正在尝试使用以下命令创建在SVN修订版之间添加或修改的所有文件的tar.gz:
svn diff -r1:HEAD --summarize|grep -ve '^D'|awk '{print $2}'|xargs tar -vzcf file.tar.gz --exclude .svn
我想我正在寻找收紧这个命令的任何提示,但是我的主要问题是带有修改的文件夹被添加到存档中,而这又是添加整个文件夹的内容,这是不可取的。< / p>
我希望有一些|xargs test -f
的内容,但如果为true,它将返回文件名,如果为false则返回任何内容,因此从混合中排除目录。
谢谢!
答案 0 :(得分:0)
我决定使用快速perl脚本来解决这个问题:
exclude_dir.pl:
#!/usr/bin/perl -w
use diagnostics;
use strict;
my $arg = '';
while ($arg = shift) {
print "$arg\n" if -f $arg;
}
然后将命令修改为:
svn diff -r1:HEAD --summarize|grep -ve '^D'|awk '{print $2}'|xargs exclude_dir.pl|xargs tar -vzcf file.tar.gz --exclude .svn