One of our developers fell into the following trap, it's the second time I've seen it happen, albeit in the 5-6 years we've been using Subversion, but I'd thought it worth mentioning.

Summary: Checkout and Update will work fine if the repository name in the URL is incorrect due to case-sensitivity, but Commit will fail if repository name is specified in authz-db.

Steps to reproduce:

svnserve is running on localhost

cd \temp
svnadmin create testrepo
edit svnserve.conf - enable password-db and authz-db
edit password-db - enable user harry
edit authz-db so that testrepo is a named repository
harry = rw
* =

svn co svn://localhost/TESTREPO wc --username harry --password harryssecret
Checkout out revision 0.
svn up wc
At revision 0.
echo > wc\test.txt
svn add wc\test.txt
A      wc\test.txt

svn ci wc --username harry --password harryssecret -m "add test"
svn: Commit failed (details follow):
svn: Authorization failed

Problem can be easily fixed by relocating working copy:

svn switch --relocate svn://localhost/TESTREPO svn://localhost/testrepo wc
svn ci wc --username harry --password harryssecret -m "add test"
Adding         wc\test.txt
Transmitting file data .
Committed revision 1.

Hope that saves someone else some frustration.

Personally I would have expected the checkout or update to fail, so that the read operation is working the same as the write operation...

It's a wild world that we live in, you step to the vibe like a new
found religion, take your position, compile your vision, futurism,
algorithm has risen up!                                pfm - the western