我想忽略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
有什么值得担心的吗?我做错了吗?
答案 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 .
命令恢复工作副本中的当前更改。只需确保您只使用这些属性;您不希望丢失尚未签入的实际文件内容更新。