I have an old SVN repository that I checked out using git-svn
in order to work on it and push to Heroku. I was doing a pretty standard git push heroku master
, git svn rebase
, git svn dcommit
dance and things were fine.
However, recently I've been doing a fair bit of git work and hadn't done a git svn rebase
in a while. Now when I try to do a rebase it fails because of merge conflicts, despite me being the only person committing to the repo and only working on master.
Figuring that it might be the working copy that's the problem I did a new git svn clone
and then a git remote add heroku
and git pull heroku master
. The pull does a fast-forward merge with no problems, but git svn rebase
still fails.
I did a simple git log
and I see that I have some old commits missing git-svn-id
s:
commit def8bab861314c67d4e8227e03775d19045d21d1
Author: peterr
Date: Fri Sep 21 16:17:33 2012 +0000
PHP Cedar support.
git-svn-id: http://vcp.unfuddle.com/svn/vcp_bbsit@24 b6b24ac3-8b7a-4c11-a811-49c5d0334e85
commit f51bd78fb07dde6ec1dc4e0ba51a48f2b6bd1bd6
Author: pr1001
Date: Mon Aug 20 19:39:42 2012 +0200
Specify port correctly
commit 153bb2929080898dcab46142120def0f4964dfab
...
commit 5a416fa3af9f64aa353d5171bedfaa563115ff62
Author: pr1001
Date: Mon Aug 20 17:22:58 2012 +0200
PHP Cedar support.
commit e0b35588d03082a3a4ab49a7b590f206346046c0
Author: j
Date: Fri Aug 3 08:13:33 2012 +0000
change email
git-svn-id: http://vcp.unfuddle.com/svn/vcp_bbsit@23 b6b24ac3-8b7a-4c11-a811-49c5d0334e85
From an SO answer I gather that I might be able to rewrite the commit messages to add the missing information, but I wonder whether that wouldn't be even worse.
Looking at the messages, it looks like I have some duplicate commits, such as the 'PHP Cedar support' one. I'm really perplexed why I have these duplicates, though I suspect that they may be relayed to the failed git push heroku master
I had the other day in which I was told the repositories were out of sync. git pull heroku master
seemed to bring in absolutely no changes and fixed the issue, but perhaps it brought in the duplicate commits.
So, given all this my question is simply, how might I proceed? I have a working app on Heroku and an older working code base in the SVN repo, but I don't see any easy way how to cleanly get the newer commits into SVN. Should I cherry-pick them? Would I then need to nuke the Heroku app in order to not have the duplicates come back?