有了svn:ignore属性,我是否可以根据我不想忽略的模式来指定要忽略的内容?换句话说,除了以.xyz结尾的文件之外,我想忽略所有东西。我该怎么做(如果可能的话)?
我探索过的一个选项是提交我想要进行版本化的所有内容,然后将目录上的svn: no属性设置为“*”,这意味着没有其他文件,但我已经提交的文件将被版本化。这是我能想到的最好的,但感觉很脏,因为如果我真的需要添加另一个文件才能成为版本,我就必须多次提交.一个移除svn:忽略属性,另一个移除/提交新文件,然后第三个移除svn:忽略回'*‘。
你的想法?
发布于 2009-07-16 06:16:40
发布于 2010-10-20 05:37:39
看看对Subversion的svn使用否定模式:忽略属性。显然你可以用"!“在字符组中否定其意义。因此,如果您想忽略除以.java结尾的文件之外的所有内容,请将以下模式设置为svn:
*[!j][!a][!v][!a]
*.java?*
发布于 2009-07-16 06:06:38
这是我唯一知道的解决办法。即使文件被忽略,也可以显式地添加文件。
不过,您需要在所有子目录上添加该设置。
# Create a repository with property ignore *
[wlynch@orange ~] cd /tmp
[wlynch@orange /tmp] svnadmin create foo
[wlynch@orange /tmp] svn co file:///tmp/foo co
Checked out revision 0.
[wlynch@orange /tmp] cd co
[wlynch@orange co] svn propset svn:ignore \* .
property 'svn:ignore' set on '.'
# Create 3 files
[wlynch@orange co] touch a
[wlynch@orange co] touch b
[wlynch@orange co] touch c
# We can add all 3 of these files in one transaction
[wlynch@orange co] svn status
M .
[wlynch@orange co] svn add a
A a
[wlynch@orange co] svn add b
A b
[wlynch@orange co] svn status
M .
A a
A b
[wlynch@orange co] svn add c
A c
[wlynch@orange co] svn ci
Sending .
Adding a
Adding b
Adding c
Transmitting file data ...
Committed revision 1.
https://stackoverflow.com/questions/1137761
复制相似问题