We have the following development model for a web site:
- Developers work new stuff on their workstations, and commit to a central repository
- A post-commit hook automatically updates a checkout of this repo on the test web server so they can see the effect of the changes
- When a feature is considered stable enough, individual files are
svn up
-ed on the production web server - Files in the checked out copies on the test and production servers are never modified and as such never used to make commits back to the repo
Granted, this could be done much better, but the process started small and evolved to this point gradually. However we now want to introduce the "standard" trunk/branches/tags repo organization.
This question solved our initial concerns, and we now have the new directory structure in the repo and the test web server was switched to using the trunk. The problem is that we can't do the same for the production server, because svn switch
would get us the HEAD revision of all files and we want current revisions.
I saw you can use -r BASE
with svn switch
, but when I do that, I get:
$ svn switch -r BASE https://old_URL/trunk
svn: 'https://old_URL' is not a working copy
svn: 'https://old_URL' does not exist
Any suggestions?