Project Home


Table of Contents


This script allows you to quickly add or delete files that are foreign to a Subversion checkout, and to easily resolve conflicts. It deals with the common case where you have developed something using Subversion and you have forgotten some unregistered files before committing.

svn-foreign runs 'svn status' on the given Subversion-managed directories, to find out which files are unaccounted for and for each of these files, it asks you what to do with it:

- add it
- delete it
- ignore/mask it (sets an svn:ignore property on its parent directory)
- skip it for now (leave it where it is)

Other actions:

- quit / [x] exit, this interrupts the process
- delete with no backups (for large files)
- view the file with a pager (more)
- resolve conflict (only valid on a file with an unresolved conflict)
- revert conflict (only valid on a file with an unresolved conflict)

The script works interactively and is meant to allow you to quickly deal with the forgotten files in a subversion checkout. It works with directories as well.

Also, files in conflicts are properly ignored and not counted as foreign files. When unresolved conflicts are found, you are queried about them, answer with 'r' to resolve it and delete the temporary files.


svn-foreign [<options>] [<dir> ...]

Please Donate!


This computer program or library is provided for free. I am aware that some of the programs that I provide for free allow people to get their work done faster or better, save them time and money. If you are using this program for benefit, especially if you are using it within a commercial environment and it saves you time or work, please consider making a donation by sending me a book from my Amazon Wishlist or by a direct donation to my company's PayPal account by clicking on the link below.


Download program here.