Reputation: 1702
I have some software under svn version control. It consists of sources that I want under version control and some build and output files which I have not added to svn.
When I submit a new revision I want to make sure that it is working for anyone who checks it out. For example I could have forgot to svn-add some important file that I newly created and other files use now. Since I have the file in my working directory everything works fine for me but not for someone checking out the new revision.
I am not sure if there is a svn command to delete all my local files that are not under version control but in case there is, deleting these files is not an option.
If anyone understands my problem is there an easy way to overcome it?
(The best I could come up with is to check out the last revision in a temporary directory create a patch with svn diff apply it to the temporary directory and see if it works)
Conclusion:
Following hmjd's suggestion to check for the list all files not under version control combined with setting consistent svn:ignore as suggested by Dialecticus, I should be save not to be missing any important file in my commit I guess.
Upvotes: 1
Views: 264
Reputation: 146370
I might be missing something but... Why don't you just check out a fresh working copy anywhere else in your hard disc? That way you can also test for hard-coded paths.
Upvotes: 0
Reputation: 16761
I use TortoiseSVN and update svn:ignore property in all (sub)folders so that all files that should be ignored are in fact ignored. It is easy then to spot new unversioned files prior to commit.
For files that are included in some project files like Visual Studio .sln/.csproj it is theoretically possible to create a script that would parse those files and verify that some unversioned file exist in project file, and abort commit in that case.
Upvotes: 0
Reputation: 35708
You can review output of svn status
command after you have commited revision to repository (or before commit). All possibly uncommitted files will be marked with question mark (?
). You will see files that you forgot to commit along with build and output files.
Upvotes: 0
Reputation: 20237
Use a continuous integration tool like Jenkins, Hudson or CruiseControl, which can automatically check out and build after every commit that is done. It can be set up to send you a mail if something in the build is broken.
Upvotes: 4