git interactive rebase for svn without remotes
I’ve recently switched from using Subversion directly to using git svn to allow me to use a git workflow, but interact with a subversion repository. It works great, except when I needed to interactive rebase… When moving this workflow into my customer’s environment, they require I specify a JIRA ticket on each commit to the repo. I had forgot to do that for the first few commits, which looked like this:
So, when I tried to commit, I got an error indicating that the commit failed. In looking at the error, I saw the pre-commit hook error requiring that I associate the commit with a JIRA ticket. So, my first comment was easy to fix:
Now I just had to figure out how to modify commits 21ad0cf
and 6430b3b
. I tried to use git interactive rebase as per the git svn tutorial and per the git-scm book. However, in both cases, I got the following error message:
The solution was to specify the SHA for the commit:
This started the rebase process and allowed me to amend the commits for every faulted commit. Now, everything looks correct:
When I finally committed using git svn dcommit
, everything went perfectly!