Early tonight, I upgraded my Cygwin install, which gave me access to SVN 1.7. No biggie, right? I went to run my usually set of SVN commands, and got a warning about how I needed to run svn upgrade before I could continue.
Nervous, but yet determined to move forward with the latest set of tools, I ran svn upgrade on one of my source trees. Nothing particularly exotic happened. As I had hoped, svn continued to function as normally.
That is, until I typed svn-status in emacs. At which point, emacs loudly complained: foo is not Subversion controlled (missing .svn directory). Run dired instead?. D'oh!
Apparently, Subversion 1.7 does away with the convention of storing metadata in individual .svn directories. This is probably a good thing, though by now I'm so used to this, I can't really say I'm glad they made this call. All I know is that psvn.el, one of the standard svn modes is now broken. Life without functioning Subversion inside of emacs is miserable indeed.
At first I tried to remove the various checks for .svn directories in the psvn.el source code. But I quickly got over my head. For plan B, I decided I would try an alternate emacs mode: dsvn. Fortunately, dsvn.el doesn't depend on .svn directories, and so it handled the new layout just fine.
For the most part, dsvn appears to be a drop in replacement for psvn -- though the *-* (select all modified) command I was used to running doesn't appear to exist. Still, I should be able to add that in if I really need to.
Bottom line: I've got emacs and Subversion 1.7 back to playing nice. Crisis averted. Whew.