Sometimes you're developing and you decide to commit, forgetting you created a few files on your project. Then a few days down the line your buddy gets your build out of Subversion and complains that some files appear to be missing. You realize, ah crap, I forgot to add those files!
How can I get a list of the files that are not under version control from Subversion so I'm sure I've added everything to the repository?
You can use this command to list all paths for not-versioned files:
The first part will do an
svn status
, and then it will redirect the output to AWK which will do simple filter "first character should be '?'" then it will print the second parameter "which is the file path".svn status
will always not print ignored files. You can add a file or path by adding that path usingOr from the Windows command line:
If you're running on Windows, you could do something similar to Greg Hewgill's answer using PowerShell.
This could be extended pretty easily to find all unversioned and ignored files and delete them.
Hope that's helpful to someone!
If some files have had
ignore
added to their status, they won't show up insvn status
. You'll need:Use the
svn status
command:Files that are not versioned are indicated with a ? at the start of the line.
If you find that you always have some specific files that should not be added to the repository (for example, generated binaries), you should set up the
svn:ignore
property on the containing directory so these files won't keep showing up when usingsvn status
.