{"thread":{"id":"23663","subject":"migrating Mifos from svn to git","startedAt":"2010-05-01T22:08:45Z","lastAt":"2010-05-05T04:58:45Z","messageCount":3,"participants":["Adam Monsen","Ulrich Spörlein"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"140715","messageId":"1272751725.21622.57.camel@scraps","threadId":"23663","inReplyTo":null,"subject":"migrating Mifos from svn to git","fromName":"Adam Monsen","fromEmail":"haircut@gmail.com","sentAt":"2010-05-01T22:08:45Z","receivedAt":"2010-05-01T22:08:45Z","isPatch":false,"sender":{"key":"haircut@gmail.com","avatar":"https://avatars.githubusercontent.com/u/50639?v=4"},"body":"(If you'd like to skip the fluff and get to the point, skip down to the\nnumbered questions.)\n\nI'm a developer on a project called \"Mifos\". Mifos is FLOSS used by\nbanks who manage loans and savings accounts for the poor.\n\nWe're currently using an svn repo hosted at sf.net, and are experiencing\npain with Subversion that we feel a great dVCS could alleviate. For\ninstance, our devs (especially those far from sf.net's servers) hate\ngoing to the server just to examine logs, branch, and commit. I'm\ngetting us on a dVCS.\n\nI've spent some time with svk and hg, and neither really felt right to\nme.\n\ngit's features are very compelling, and the speed appears unmatched. I\nlike that \"git svn\" actually reads svn 1.5+ mergeinfo, which we've been\nrelying on heavily in Mifos. I am having some difficulties learning the\ndetails of examining history, merging, and rebasing, but I'll figure\nthat stuff out eventually.\n\nThe strongest indicator I've had to try git was that everyone I asked\nfor help with dVCS said \"what's svk?\" and \"don't use hg, use git\". Git\nseems to have a huge, successful community.\n\nQuestions:\n\n1. Is anyone willing to help me migrate Mifos from svn to git? If so,\nplease contact me on or off list, or in #mifos or #git on FreeNode IRC\n(my nickname is \"meonkeys\"). It's for a good cause: our vision is to end\nworld poverty!\n\n2. I'm trying out git-svn (a) to get used to git and (b) to actually try\nmigrating our svn repo to a git repo. Is there a better way? (cbreak in\n#git seemed to think so)\n\n3. When using git-svn, can I first \"init\"/\"git svn fetch\" from a local\nmirror ( file:///opt/mifos_mirror ), then switch to our real repository\n( https://mifos.svn.sourceforge.net/svnroot/mifos ) once I'm mostly up\nto date?\n\n4. When using git-svn, \"git svn init\" works against my local mirror, but\n\"git svn fetch\" dies on svn revision 16072\n( http://article.gmane.org/gmane.comp.finance.mifos.scm/6053 ). Can I\nmaybe just skip that changeset ....nevermind, \"git svn fetch\n--ignore-paths=branches/removeFinancialActionCache\" seemed to do the\ntrick. Hrm, now I'm stuck at some other commit. Anyway, thanks for\nenduring this ramble. Here's the latest problem I'm running into, in\ncase anyone has ideas on what Fu I might use to get out of this hole:\n\n\n$ git config svn-remote.svn.url\nfile:///opt/mifos_mirror\n\n$ git svn fetch --ignore-paths=branches/sungard\nFound merge parent (svn:mergeinfo prop):\n6e749fea53b200b609ac12239b6d824a78090f7d\nFound merge parent (svn:mergeinfo prop):\na2fdb47825503de62db74cd349e3feec4c899a88\nFound merge parent (svn:mergeinfo prop):\n827c31be708522130258cdfd2339cd3d7c94c8df\nW:svn cherry-pick ignored (/branches/sungard:15786-16227,16237) -\nmissing 3 commit(s) (eg 887a7b93bdec64393230bda45e20e41affde7a4e)\nfatal: ambiguous argument\n'6f43cde2a0e277bb7730dfaff3c5c11b67a54009^..ae3b7383b4dc6a15172346623dee3e9c887c8afc': unknown revision or path not in the working tree.\nUse '--' to separate paths from revisions\nrev-list\n6f43cde2a0e277bb7730dfaff3c5c11b67a54009^..ae3b7383b4dc6a15172346623dee3e9c887c8afc: command returned error: 128\n\n"},{"id":"140736","messageId":"20100502082503.GG92627@acme.spoerlein.net","threadId":"23663","inReplyTo":"1272751725.21622.57.camel@scraps","subject":"Re: migrating Mifos from svn to git","fromName":"Ulrich Spörlein","fromEmail":"uqs@spoerlein.net","sentAt":"2010-05-02T08:25:03Z","receivedAt":"2010-05-02T08:25:03Z","isPatch":false,"sender":{"key":"uqs@spoerlein.net","avatar":null},"body":"On Sat, 01.05.2010 at 15:08:45 -0700, Adam Monsen wrote:\n> 1. Is anyone willing to help me migrate Mifos from svn to git? If so,\n> please contact me on or off list, or in #mifos or #git on FreeNode IRC\n> (my nickname is \"meonkeys\"). It's for a good cause: our vision is to end\n> world poverty!\n> \n> 2. I'm trying out git-svn (a) to get used to git and (b) to actually try\n> migrating our svn repo to a git repo. Is there a better way? (cbreak in\n> #git seemed to think so)\n\nsvn2git is faster and can cope with multiple branches better, but it has\nbugs of its own. Try both of them ...\n\n> 3. When using git-svn, can I first \"init\"/\"git svn fetch\" from a local\n> mirror ( file:///opt/mifos_mirror ), then switch to our real repository\n> ( https://mifos.svn.sourceforge.net/svnroot/mifos ) once I'm mostly up\n> to date?\n\nYes, if both repos have the same UUID this should be possible. You need\nto fudge this in rev 0 and uuid in your svn mirror.\n\n> 4. When using git-svn, \"git svn init\" works against my local mirror, but\n> \"git svn fetch\" dies on svn revision 16072\n> ( http://article.gmane.org/gmane.comp.finance.mifos.scm/6053 ). Can I\n> maybe just skip that changeset ....nevermind, \"git svn fetch\n> --ignore-paths=branches/removeFinancialActionCache\" seemed to do the\n> trick. Hrm, now I'm stuck at some other commit. Anyway, thanks for\n> enduring this ramble. Here's the latest problem I'm running into, in\n> case anyone has ideas on what Fu I might use to get out of this hole:\n\nIf stuff has been merged from/to those ignored branches, you'll get\ninto trouble later on. So ignoring them altogether doesn't seem like a\ngood plan.\n\nI was only lucky in using git-svn when converting trunk only, or some\nselected branches where merging is/was done *always* from trunk ->\nbranchXY\n\nhth\nUli\n"},{"id":"140961","messageId":"loom.20100505T065133-348@post.gmane.org","threadId":"23663","inReplyTo":"20100502082503.GG92627@acme.spoerlein.net","subject":"Re: migrating Mifos from svn to git","fromName":"Adam Monsen","fromEmail":"haircut@gmail.com","sentAt":"2010-05-05T04:58:45Z","receivedAt":"2010-05-05T04:58:45Z","isPatch":false,"sender":{"key":"haircut@gmail.com","avatar":"https://avatars.githubusercontent.com/u/50639?v=4"},"body":"Ulrich Spörlein writes:\n> svn2git is faster and can cope with multiple branches better, but it has\n> bugs of its own. Try both of them ...\n\nI did, and--maybe since svn2git appears to be built atop git-svn--they both\nbreak at the same point, spouting an error like:\n\nfatal: ambiguous argument\n'2f53ad77827c0f1d492c031be4fff20b0d60fffc\n^..1a6f5af6bd84cb71f25fb1df1c67de1a9b91ba87':\nunknown revision or path not in the working tree.\nUse '--' to separate paths from revisions\nrev-list\n2f53ad77827c0f1d492c031be4fff20b0d60fffc\n^..1a6f5af6bd84cb71f25fb1df1c67de1a9b91ba87:\ncommand returned error: 128\n\nAnyway, I gave up trying to import all svn 1.5+ mergeinfo.\nInstead, I'm just pulling in our trunk into one repository,\nand two release branches into separate repositories. Here's\nmy in-progress experiment so far:\nhttp://mifos.git.sourceforge.net/git/gitweb-index.cgi .\n\"head\" is what used to be \"trunk\" in svn.\n\nI started writing up a procedure for our developers here:\nhttp://www.mifos.org/developers/wiki/MifosVersionControlGuide\n\nIf anyone wants to perfect that wiki page, I would love the help.\n\n> Yes, if both repos have the same UUID this should be possible. You need\n> to fudge this in rev 0 and uuid in your svn mirror.\n\nThis is helpful. Thank you!\n"}]}