svnversion-controlcommand-linecommitsvn-propset

Subversion not ignoring my directory after setting property of ignore


I have a directory in my application called /admin/debug/output that contains a directory and a bunch of JavaScript files. I want to ignore them completely from appearing when doing an svn st before commiting code.

I used the propset commant like this to ignore it, however it seems to have had no effect:

svn propset svn:ignore admin/debug/output/ . ( I ran this from the root )

property 'svn:ignore' set on '.'

Why does SVN still recognise this when doing an svn st?


Solution

  • SVN handles ignored directories only for immediate subdirectories and files. Thus, you should set this property for the parent directory, i.e.

    $ cd admin/debug
    $ svn propset svn:ignore output . 
    $ svn ci -m "Adding SVN property to ignore output directory." 
    

    Make sure that output is without trailing slash.

    NOTE

    If the folder is already under version control, then the following sequence of operation should be applied:

    $ svn delete --keep-local output 
    $ svn propset svn:ignore output . 
    $ svn ci -m "Adding SVN property to ignore output directory." 
    

    if you have old SVN (<1.5) do workaround:

    $ cp -rp output output_ 
    $ svn rm output 
    $ svn propset svn:ignore output . 
    $ svn ci -m "Adding SVN property to ignore output directory." 
    $ mv output_ output 
    

    OR

    You can leave the folder and mark as ignored all files in it:

    $ svn propset svn:ignore "*" .
    $ svn ci -m "Adding SVN property to ignore all files in output directory."