I've been thinking about this, and have a potential solution to my own problem.
I can create a local branch for each discrete task I'm working on. If I finish one piece of work and am waiting for a code review, I can create a new branch and start working on an independent task.
When a given task is complete, I run git svn rebase
. I then rebase my local branch on top of master, fast forward master to the head of that branch, then dcommit.
My problem was that commits A and B were part of one task, and C and D were another independent task. C and D belong in a different branch, and never should have been committed on top of A and B.
The answers to this question...
http://stackoverflow.com/questions/1256189/git-svn-dcommiting-a-single-git-commit
Seem to indicate that only committing A and B isn't really possible.