I use ‘grep’ alot, but it false positives when searching in a Subversion working copy. So I’m using the ‘-r’ flag to recursive search for the phrase ‘quick brown fox’:
$ grep -r 'quick brown fox' *
app/controllers/users_controller.php: quick brown fox
app/controllers/.svn/text-base/users_controller.php.svn-base: quick brown fox
This is only a minor annoyance if there are just two entries, but often that’s not the case. The solution is to add the ‘–exclude-dir=.svn’ flag. But the extra characters causes unnecessary fatigue on my fingers, so I’ve added an alias to my .bashrc file:
alias grep='grep --exclude-dir=.svn'
For maximum mileage, combine this with ‘-ir’:
alias grep='grep -ir --exclude-dir=.svn'
Beginning at the root of your repository:
svn mkdir branches/wayne
svn merge http://your.subversion.server/projectName/trunk
svn ci -m 'Issuing "svn merge http://your.subversion.server/projectName/trunk".'
In case you’re migrating repository data anywhere:
svnadmin dump old_svn_repos --deltas > svnrepos.dmp
svnadmin create new_svn_repos
svnadmin load new_svn_repos < svnrepos.dmp
Let’s suppose I’ve designated my Subversion repository to be /home/svn/.
Now I want to create a project “wordpress”:
# svnadmin create /home/svn/wordpress
Assuming you use Apache, make sure that “wordpress” is owned by the Apache user; e.g. nobody.
# chown -R nobody:nobody /home/svn/wordpress
Now go to the “wordpress” directory that you wish to Subversion.
# cd /home/kzhiwei/wordpress/
Note that this is distinct from the Subversion project folder that was created previously. Then import:
# svn import . file:///home/svn/wordpress
You should get a whole bunch of messages listing the files that have been imported from /home/kzhiwei/wordpress/ into /home/svn/wordpress/.