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

svn propset svn:ignore之后,svn存储库的文件处于M(已编辑)状态,svn,svnignore,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/custom

我想忽略我的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

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

您使用的命令似乎没有问题。svn文档包括
svn propset
命令的以下语句(请参见
svn help propset
):

propset(pset,ps):设置文件、目录或 修订

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

编辑: 我使用svn 1.9.1版(r1698128),对我现在有权访问的repo进行了快速测试,以再现您显示的相同输出,如下所示:

$ 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-v
仍然显示未修改的文件,因为在目录上设置了
svn:ignore
属性。从文件中引用:

Subversion可以识别服务器上的以下特殊版本属性 目录:

忽略-要忽略的文件全局模式列表,每行一个

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


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

重复使用
svn st-u-v
-您将得到答案(对于文件,对于dirs,它是正确的)@lazybacker:再次引用svn文档作为propset:“更改工作副本中的版本化文件或目录属性。”(重点添加)。文档很清楚,可以修改文件,而不是“仅修改目录”。您没有理由投反对票。
svn:ignore
是且始终是目录的属性“当在版本化目录上找到时,
svn:ignore
属性应包含一个换行分隔的文件模式列表,Subversion应使用该列表来确定同一目录中的可忽略对象。”@懒獾:你说得对,
svn:ignore
专门针对目录,而不是
propset
作为一个整体,这是你之前指出的。我已经更新了我的帖子。顺便说一句,我没有发现你引用的具体句子不在svn帮助文档中。你的消息来源是什么?第五段你的考试没满。Ruben修改了文件,因为
-u
还可以检查服务器端更新(从另一个客户端提交,而不是通过
svn up
本地接收),并且
-u-v
可以清楚地显示它。对于纯本地修改,必须省略
-u
$ svn st -u
M          103990   Erp
M          103990   Launcher
M          103990   Overnight
M          103990   Backup
M          103990   Import
M          103990   .