Just a quick reply here:
The first idea is to stop trying to control the state of the git-svn clone
with git-svn rebase. Instead: Just let git-svn fetch to the latest HEAD in
SVN, and then afterwards *reset* the git-svn repo to the revision you want.
Something like this (given an argument SVN revision as REV):
git svn fetch
git reset --hard `git log --grep $REV --pretty=format:%H`
git tag successful-build-of-revision-$REV
The second idea, or rather: question, is what are you trying to achieve
here? For what to do you need this repo which is in the state of the last
successful build? Could you maybe have your build server automatically
create a tag whenever there is a successful build, and then use that tag to
achieve what you need (like I do in the example command above)?