我们的构建系统生成许多散布在源树周围的文件.
这些文件在运行时显示 svn status
在下面的示例中,所有文件都带有'?' 在thirdparty目录中已经由构建系统生成.
例如
svn status
M common/db/unit_test/src/db_payload_builder_test_suite.cpp
? common/db/unit_test/Makefile
M common/lib/osal/variant/linux/public_inc/osal_specific_msgq.hpp
M common/lib/enb/public_inc/enb_service.h
? thirdparty/lib/curl/public_inc_arm
? thirdparty/lib/curl/public_inc_x86
? thirdparty/lib/curl/originals/config.log
? thirdparty/lib/curl/originals/libcurl.pc
? thirdparty/lib/curl/originals/config.status
? thirdparty/lib/curl/originals/libtool
? thirdparty/lib/curl/originals/curl-config
? thirdparty/lib/curl/originals/src/curl
Run Code Online (Sandbox Code Playgroud)
我想告诉svn忽略这些文件.我不能简单地指定应该被忽略的目录,因为许多这些目录包含签入存储库的源.
上面的示例是生成的文件的子集,我们不能使用忽略模式,因为一些生成的文件与我们不希望忽略的文件匹配(例如xxx_.h")
我尝试过使用svn propset svn:ignore 'somefile' dir但我只能告诉svn忽略每个目录的一个特定文件.
如何为svn指定多个特定文件以忽略?
一线解决方案:
svn propset svn:ignore "file1"$'\n'"file2"$'\n'"file3" .
Run Code Online (Sandbox Code Playgroud)
您可以向其传递要忽略的文件列表,每行一个
vnix$ svn propset svn:ignore 'config.log
> libcurl.pc
> config.status
> libtool
> curl-config' thirdparty/lib/curl/originals
Run Code Online (Sandbox Code Playgroud)
... vnix$shell的主要提示符在哪里,>是辅助提示符.
不要害怕,这就是你在shell中编写多行字符串的方式.
或者,在stdin上提供一个文件:
vnix$ svn propset svn:ignore -F - thirdparty/lib/curl/originals <<HERE
> config.log
> libcurl.pc
> config.status
> libtool
> curl-config
> HERE
Run Code Online (Sandbox Code Playgroud)
另请参阅红皮书,尽管该示例对您的特定方案并不十分明确.
| 归档时间: |
|
| 查看次数: |
5588 次 |
| 最近记录: |