在svn propset svn:ignore之后,svn repository的文件处于M(已编辑)状态

时间:2015-10-29 10:54:12

标签: svn svnignore

我想忽略SVN上的一些文件。

我在我的根目录中创建了一个文件:.svnignore,其中包含:

*.sql
*.pyc

完成后:

svn propset svn:ignore -R -F .svnignore .

并且正在做:

svn st -u .

我的所有存储库都处于模式M(已编辑)。为什么??? ???

M            23630   core/templates/customers/index.html
 M           22740   core/templates/customers
 M           22740   core/templates/core/serial_number
 M           22740   core/templates/core
 M           22740   core/templates/orders
M            22742   core/templates/employees/index.html
M            22742   core/templates/employees/detail.html
 M           22740   core/templates/employees
 M           22740   core/templates/hours
 M           24365   core/templates/settings
 M           22740   core/templates/products
 M           22740   core/templates/projects
 M           22740   core/templates/tracker

有什么值得担心的吗?我做错了吗?

1 个答案:

答案 0 :(得分:2)

您使用的命令似乎没问题。 svn文档包含svn propset命令的此语句(请参阅svn help propset):

  

propset(pset,ps):设置文件,目录或文件属性的值   修改

您应该验证您在发布实际修改文件的位置之前没有使用过其他命令。

编辑:

我对我现在可以访问的repo进行了快速测试,使用svn version 1.9.1 (r1698128)重现您显示的相同输出,如下所示:

$ svn propset svn:ignore "*.pyc" . -R
property 'svn:ignore' set on '.'
property 'svn:ignore' set on 'Backup'
property 'svn:ignore' set on 'Erp'
property 'svn:ignore' set on 'Import'
property 'svn:ignore' set on 'Launcher'
property 'svn:ignore' set on 'Overnight'

但输出没有列出文件(这是预期的,但不是你得到的)。

$ svn st -u
M          103990   Erp
M          103990   Launcher
M          103990   Overnight
M          103990   Backup
M          103990   Import
M          103990   .

使用badger建议的svn st -u -v仍会显示未修改的文件,因为在目录上设置了svn:ignore属性。引用文档:

  

Subversion识别a上的以下特殊版本属性   目录:

     

svn:ignore - 要忽略的文件glob模式列表,每行一个。

再次,检查您是否未使用其他命令或进行其他影响文件的修改。

如果您觉得需要“重新开始”再试一次,可以使用svn revert -R .命令恢复工作副本中的当前更改。只需确保您只使用这些属性;您不希望丢失尚未签入的实际文件内容更新。