查找除版本控制系统(git或SVN)下的文件以外的所有文件

时间:2012-09-21 20:39:08

标签: git bash svn shell unix

我必须在我的计算机上找到所有文件,但版本控制系统(git或SVN)下的文件除外。我不仅要找到VCS的元文件,还要查找工作副本中的所有文件,所以我不能使用像

这样的东西

find . -type f \! -path \*/\.svn/\*;

请帮帮我,因为我对此一无所知 谢谢!

1 个答案:

答案 0 :(得分:1)

如果当前工作目录(CWD)不是存储库,我猜git statussvn status返回非零退出代码。由于我认为find不能抑制其-exec调用的输出,我会创建

〜/ gitstatus.sh:

git status > /dev/null 2>&1
exit $?

〜/ svnstatus.sh:

svn status > /dev/null 2>&1
exit $?

然后通过发出:

来搜索文件
find . -type f '!' '(' -execdir bash ~/gitstatus.sh ';' -or -execdir bash ~/gitstatus.sh ';' ')'