propset svn的问题:忽略 - 可能与Vista有关

Cha*_*per 4 svn windows version-control

据我了解,使用SVN 忽略目录内容的命令是:

svn propset svn:ignore "*" tmp/
Run Code Online (Sandbox Code Playgroud)

这应该在tmp目录的内容上设置ignore属性,对吧?换句话说,通配符设置为tmp目录中的ignore值.麻烦的是,这是我的Windows盒子上发生的事情:

> svn propset svn:ignore "*" ./tmp
property 'svn:ignore' set on 'app'
property 'svn:ignore' set on 'config'
property 'svn:ignore' set on 'db'
property 'svn:ignore' set on 'doc'
property 'svn:ignore' set on 'lib'
property 'svn:ignore' set on 'log'
property 'svn:ignore' set on 'nbproject'
property 'svn:ignore' set on 'public'
[etc...]
Run Code Online (Sandbox Code Playgroud)

那是不对的.我做错了什么(或者可能是疯了),还是我的Windows上的svn坏了?

一些说明:

> svn --version
svn, version 1.5.2 (r32768)
compiled Aug 28 2008, 19:05:34


更新:我刚刚在Windows XP机器上试过这个,它按预期工作.因此,这是Vista特定问题,或者我的Vista配置存在问题.还有其他人能够在Vista上重现这个问题吗?我刚刚发现Vista未被列为 CollabNet下载页面上受支持的平台之一.

Cha*_*per 8

看起来微软以其无限的智慧改变了Windows Vista中通配符扩展的行为:

因此,不是传入的转义通配符,而是扩展它:

在Win 95,98,2000,XP下,应用程序按预期运行:当参数类似于«*.txt»时,它会进行通配符扩展,当参数类似于«"*.txt"»时,它不会.在Windows Vista下,通配符扩展始终发生,或者说,否则,双引号不会抑制它.

Collabnet论坛上有关于这个问题的进一步讨论.


Jon*_*ski 5

该命令应该按预期工作.

*是越来越晶片被保护,它不应该做的事情.所以,你正在运行:(
svn propset svn:ignore [value] app config db doc lib log nbproject public ... tmp
因为app是受影响的第一个文件夹,我猜它之前还有另一个文件夹).

你可以试试2件事:

  1. 指定列表文件: svn propset svn:ignore tmp -F .svnignore
  2. 只需指定路径:svn propset svn:ignore tmp.这应该打开您的默认文本编辑器(如果已配置),以允许您编写和保存列表.

回复评论

由于您现在正在尝试更正设置,propedit并且propdel可以正常工作 - 尤其是如果您在目录中进行了其他更改.

但是,如果你没有任何其他的改变担心(检查svn st),它会更快使用svn revert -Rsvn propset.