Search code examples
svnsvnignore

After svn propset svn:ignore, files of svn repository are in M (edited) status


I wanted to ignore some files on my SVN.

I created a file: .svnignore in my root directory which contains:

*.sql
*.pyc

After doing:

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

And doing:

svn st -u .

All my repository is in mode M (Edited). Why is that???

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

Is it something to be worried about? Did I do this wrong?


Solution

  • The command you've used seems OK. The svn documentation includes this statement for the svn propset command (see svn help propset):

    propset (pset, ps): Set the value of a property on files, dirs, or revisions.

    You should verify that you've not used other commands prior to the one you posted where you actually modified the files.

    EDIT:

    I ran a quick test on repo I have access to now to reproduce the same output you displayed, using svn version 1.9.1 (r1698128), as follows:

    $ 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'
    

    But the output did not list files (which is expected, but not what you got).

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

    Using the svn st -u -v suggested by the badger still shows the files unmodified, as the svn:ignore property is set on the directories. Quoting from the docs:

    Subversion recognizes the following special versioned properties on a directory:

    svn:ignore - A list of file glob patterns to ignore, one per line.

    Again, check that you've not used other commands or made other modifications that affect files.

    If you feel you need to 'start over' to try again, you can revert the current changes in your working copy using the svn revert -R . command. Just make sure you're working with the properties only; you don't want to lose actual file content updates that have not yet been checked-in.