{"thread":{"id":"28523","subject":"SVN -> Git *but* with special changes","startedAt":"2011-09-28T16:37:29Z","lastAt":"2012-01-14T03:43:13Z","messageCount":21,"participants":["Abscissa","Stephen Bash","Matthieu Moy","Jeff King","Carlos Martín Nieto","Andreas Schwab","Adam Borowski","Thomas Hochstein","Michael Haggerty"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"176431","messageId":"1317227849979-6840904.post@n2.nabble.com","threadId":"28523","inReplyTo":null,"subject":"SVN -> Git *but* with special changes","fromName":"Abscissa","fromEmail":"bus_nabble_git@semitwist.com","sentAt":"2011-09-28T16:37:29Z","receivedAt":"2011-09-28T16:37:29Z","isPatch":false,"sender":{"key":"bus_nabble_git@semitwist.com","avatar":null},"body":"I have a couple big projects in SVN that I'd like to convert to Git. Being in\nSVN, they've operated under a couple assumptions that are not true under\nGit. These assumptions are:\n\n1. Directories can exist even if there's nothing in them (just like any\nfilesystem).\n\n2. Keeping binary files in version control isn't a big deal because the\nwhole repo doesn't get copied to everyone's system or use up people's GitHub\nstorage space.\n\nThe SVN repos have been relying on those, but both are false under Git, so I\nneed to do a \"modified\" conversion, rather than just a straight one.\n\nSo, how can I convert an SVN repo to Git, and have the conversion add dummy\nfiles to empty directories and exclude specific files? (Also, there are tags\nand branches to be converted too, in the SVN-standard \"tags\" and \"branches\"\ndirectories.)\n\n--\nView this message in context: http://git.661346.n2.nabble.com/SVN-Git-but-with-special-changes-tp6840904p6840904.html\nSent from the git mailing list archive at Nabble.com.\n"},{"id":"176437","messageId":"16808473.33899.1317229852319.JavaMail.root@mail.hq.genarts.com","threadId":"28523","inReplyTo":"1317227849979-6840904.post@n2.nabble.com","subject":"Re: SVN -> Git *but* with special changes","fromName":"Stephen Bash","fromEmail":"bash@genarts.com","sentAt":"2011-09-28T17:10:52Z","receivedAt":"2011-09-28T17:10:52Z","isPatch":false,"sender":{"key":"bash@genarts.com","avatar":null},"body":"----- Original Message -----\n> From: \"Abscissa\" <bus_nabble_git@semitwist.com>\n> To: git@vger.kernel.org\n> Sent: Wednesday, September 28, 2011 12:37:29 PM\n> Subject: SVN -> Git *but* with special changes\n>\n> I have a couple big projects in SVN that I'd like to convert to Git.\n> Being in SVN, they've operated under a couple assumptions that are \n> not true under Git. These assumptions are:\n> \n> 1. Directories can exist even if there's nothing in them (just like\n> any filesystem).\n\nWhat requires the empty directories to exist?  The build system?  Can you just let them go away in Git and fix it downstream in the user's working copy?\n \n> 2. Keeping binary files in version control isn't a big deal because\n> the whole repo doesn't get copied to everyone's system or use up \n> people's GitHub storage space.\n\nI'd eliminate these on the SVN side before converting to Git.  If you have svnadmin access to the SVN repo svnadmin dump, svndumpfilter, svnadmin load is a pretty easy process.\n\n> The SVN repos have been relying on those, but both are false under\n> Git, so I need to do a \"modified\" conversion, rather than just a \n> straight one.\n> \n> So, how can I convert an SVN repo to Git, and have the conversion add\n> dummy files to empty directories and exclude specific files? (Also, \n> there are tags and branches to be converted too, in the SVN-standard \n> \"tags\" and \"branches\" directories.)\n\nTo do the actual conversion, svn-fe and git fast-import are by far the quickest way to get the data into Git.  Filtering into tags and branches is a bit of a trick though [1].  git-svn has (IMO) a good branching UI, but can be very slow for large repositories.\n\n[1] http://thread.gmane.org/gmane.comp.version-control.git/158940/focus=159151 : note this thread is almost a year out of date now, and even I know much better ways to go about this now -- but the scripts are not written.\n\nHTH,\nStephen\n"},{"id":"176439","messageId":"vpq62kc36kn.fsf@bauges.imag.fr","threadId":"28523","inReplyTo":"16808473.33899.1317229852319.JavaMail.root@mail.hq.genarts.com","subject":"Re: SVN -> Git *but* with special changes","fromName":"Matthieu Moy","fromEmail":"matthieu.moy@grenoble-inp.fr","sentAt":"2011-09-28T17:44:24Z","receivedAt":"2011-09-28T17:44:24Z","isPatch":false,"sender":{"key":"matthieu.moy@grenoble-inp.fr","avatar":"https://gravatar.com/avatar/72c8a2705971a25dfaff23cece15130d405685845d911aedd5667ace277f3fc5?d=mp&s=160"},"body":"Stephen Bash <bash@genarts.com> writes:\n\n>> 2. Keeping binary files in version control isn't a big deal because\n>> the whole repo doesn't get copied to everyone's system or use up \n>> people's GitHub storage space.\n>\n> I'd eliminate these on the SVN side before converting to Git. If you\n> have svnadmin access to the SVN repo svnadmin dump, svndumpfilter,\n> svnadmin load is a pretty easy process.\n\nOtherwise, you can do it on the Git side with:\n\n  git filter-branch --tree-filter 'rm -f some-large-blob'\n\n-- \nMatthieu Moy\nhttp://www-verimag.imag.fr/~moy/\n"},{"id":"176443","messageId":"1317233025014-6841234.post@n2.nabble.com","threadId":"28523","inReplyTo":"16808473.33899.1317229852319.JavaMail.root@mail.hq.genarts.com","subject":"Re: SVN -> Git *but* with special changes","fromName":"Abscissa","fromEmail":"bus_nabble_git@semitwist.com","sentAt":"2011-09-28T18:03:45Z","receivedAt":"2011-09-28T18:03:45Z","isPatch":false,"sender":{"key":"bus_nabble_git@semitwist.com","avatar":null},"body":">> 1. Directories can exist even if there's nothing in them (just like\n>> any filesystem).\n>\n>What requires the empty directories to exist?  The build system?\n\nYes.\n\n>Can you just let them go away in Git and fix it downstream in the user's\nworking copy?\n\nThat won't work retroactively for already-existing revisions. I'd rather not\nbreak the build system for older revisions just for such a goofy reason as\nempty dirs being deemed unnecessary.\n\n\n--\nView this message in context: http://git.661346.n2.nabble.com/SVN-Git-but-with-special-changes-tp6840904p6841234.html\nSent from the git mailing list archive at Nabble.com.\n"},{"id":"176447","messageId":"20110928190445.GC1482@sigill.intra.peff.net","threadId":"28523","inReplyTo":"1317227849979-6840904.post@n2.nabble.com","subject":"Re: SVN -> Git *but* with special changes","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2011-09-28T19:04:45Z","receivedAt":"2011-09-28T19:04:45Z","isPatch":false,"sender":{"key":"peff@peff.net","avatar":"https://avatars.githubusercontent.com/u/45925?v=4"},"body":"On Wed, Sep 28, 2011 at 09:37:29AM -0700, Abscissa wrote:\n\n> I have a couple big projects in SVN that I'd like to convert to Git. Being in\n> SVN, they've operated under a couple assumptions that are not true under\n> Git. These assumptions are:\n> \n> 1. Directories can exist even if there's nothing in them (just like any\n> filesystem).\n\nThe usual technique is to put an empty .gitignore file into the empty\ndirectory, which will make sure it always exists.  If you import with\ngit-svn, it supports \"--preserve-empty-dirs\", which will do this for you\nautomatically.\n\n> 2. Keeping binary files in version control isn't a big deal because the\n> whole repo doesn't get copied to everyone's system or use up people's GitHub\n> storage space.\n\ngit-svn --ignore-paths will handle this for you.\n\nSide note on the GitHub thing: all of the forks will share objects, so\nit's not much as space as you might think. And all of the paid plans\ncount repos, not bytes. Of course, the painful part is probably cloning\nthe big objects to everybody's workstation. :)\n\n> (Also, there are tags and branches to be converted too, in the\n> SVN-standard \"tags\" and \"branches\" directories.)\n\ngit svn --stdlayout ?\n\n-Peff\n"},{"id":"176448","messageId":"20110928190716.GD1482@sigill.intra.peff.net","threadId":"28523","inReplyTo":"vpq62kc36kn.fsf@bauges.imag.fr","subject":"Re: SVN -> Git *but* with special changes","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2011-09-28T19:07:16Z","receivedAt":"2011-09-28T19:07:16Z","isPatch":false,"sender":{"key":"peff@peff.net","avatar":"https://avatars.githubusercontent.com/u/45925?v=4"},"body":"On Wed, Sep 28, 2011 at 07:44:24PM +0200, Matthieu Moy wrote:\n\n> > I'd eliminate these on the SVN side before converting to Git. If you\n> > have svnadmin access to the SVN repo svnadmin dump, svndumpfilter,\n> > svnadmin load is a pretty easy process.\n> \n> Otherwise, you can do it on the Git side with:\n> \n>   git filter-branch --tree-filter 'rm -f some-large-blob'\n\nIt's much more efficient to do:\n\n    git filter-branch --index-filter \\\n      'git rm --cached --ignore-unmatch some-large-blob'\n\nwhich avoids checking out the large files over and over[1], just to\ndelete them. Of course, it's even more efficient not to import them from\nsvn in the first place. :)\n\n-Peff\n\n[1] This is straight from the filter-branch manpage, btw.\n"},{"id":"182079","messageId":"1325975403753-7162793.post@n2.nabble.com","threadId":"28523","inReplyTo":"16808473.33899.1317229852319.JavaMail.root@mail.hq.genarts.com","subject":"Re: SVN -> Git *but* with special changes","fromName":"Abscissa","fromEmail":"bus_nabble_git@semitwist.com","sentAt":"2012-01-07T22:30:03Z","receivedAt":"2012-01-07T22:30:03Z","isPatch":false,"sender":{"key":"bus_nabble_git@semitwist.com","avatar":null},"body":"I got busy with other things and haven't had a chance to get back to this\nuntil now. I very much appreciate the help but I'm still unclear on this\npart:\n\n>git-svn has (IMO) a good branching UI, but can be very slow for large\nrepositories.\n>\n>[1]\nhttp://thread.gmane.org/gmane.comp.version-control.git/158940/focus=159151 :\nnote this thread is almost a year out of date now, and even I know much\nbetter ways to go about this now -- but the scripts are not written. \n\nI don't really understand that. So...how do I convert from svn to git while\nkeeping branches and tags intact? If it's automated, I don't care about\nspeed: I can just start it and move on to other things while it's working.\n\n\n--\nView this message in context: http://git.661346.n2.nabble.com/SVN-Git-but-with-special-changes-tp6840904p7162793.html\nSent from the git mailing list archive at Nabble.com.\n"},{"id":"182083","messageId":"1325999031923-7163706.post@n2.nabble.com","threadId":"28523","inReplyTo":"20110928190445.GC1482@sigill.intra.peff.net","subject":"Re: SVN -> Git *but* with special changes","fromName":"Abscissa","fromEmail":"bus_nabble_git@semitwist.com","sentAt":"2012-01-08T05:03:51Z","receivedAt":"2012-01-08T05:03:51Z","isPatch":false,"sender":{"key":"bus_nabble_git@semitwist.com","avatar":null},"body":">If you import with\n>git-svn, it supports \"--preserve-empty-dirs\", which will do this for you\n>automatically. \n\nI came across this, and it seems to mostly work:\nhttp://john.albin.net/git/git-svn-migrate\n\nExcept it fails to do the \"--preserve-empty-dirs\". It does say that it\npasses any options it doesn't recognize directly to git-svn, so I gave it\nthat, but just got:\n\n- Cloning repository...\nUnknown option: preserve-empty-dirs\n\nNow, I realize this isn't a forum for that particular \"git-svn-migrate\"\ntool, and I don't expect anyone to go digging though it on my account, so\nI'm willing to try to add it into the script if I can just find out the\nproper way to use \"--preserve-empty-dirs\".\n\nHowever, I suspect that script may not be my problem at all: If I do this:\n\ngit svn help | grep preserve\n\nI get absolutely nothing. There doesn't seem to be a\n\"--preserve-empty-dirs\".\n\n\n--\nView this message in context: http://git.661346.n2.nabble.com/SVN-Git-but-with-special-changes-tp6840904p7163706.html\nSent from the git mailing list archive at Nabble.com.\n"},{"id":"182084","messageId":"20120108051051.GA10129@sigill.intra.peff.net","threadId":"28523","inReplyTo":"1325999031923-7163706.post@n2.nabble.com","subject":"Re: SVN -> Git *but* with special changes","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2012-01-08T05:10:51Z","receivedAt":"2012-01-08T05:10:51Z","isPatch":false,"sender":{"key":"peff@peff.net","avatar":"https://avatars.githubusercontent.com/u/45925?v=4"},"body":"On Sat, Jan 07, 2012 at 09:03:51PM -0800, Abscissa wrote:\n\n> However, I suspect that script may not be my problem at all: If I do this:\n> \n> git svn help | grep preserve\n> \n> I get absolutely nothing. There doesn't seem to be a\n> \"--preserve-empty-dirs\".\n\nWhat version of git are you using? That option was added in git 1.7.7.\n\n-Peff\n"},{"id":"182085","messageId":"1325999865995-7163737.post@n2.nabble.com","threadId":"28523","inReplyTo":"20120108051051.GA10129@sigill.intra.peff.net","subject":"Re: SVN -> Git *but* with special changes","fromName":"Abscissa","fromEmail":"bus_nabble_git@semitwist.com","sentAt":"2012-01-08T05:17:45Z","receivedAt":"2012-01-08T05:17:45Z","isPatch":false,"sender":{"key":"bus_nabble_git@semitwist.com","avatar":null},"body":"Ok, I see. It's reporting 1.7.0, so that would explain it. One \"sudo apt-get\nupgrade git\" and...erm...well, it seems to be upgrading my whole damn\ncomputer, but I'll see how it all works out. Thanks!\n\n\n--\nView this message in context: http://git.661346.n2.nabble.com/SVN-Git-but-with-special-changes-tp6840904p7163737.html\nSent from the git mailing list archive at Nabble.com.\n"},{"id":"182086","messageId":"1326000327637-7163752.post@n2.nabble.com","threadId":"28523","inReplyTo":"1325999865995-7163737.post@n2.nabble.com","subject":"Re: SVN -> Git *but* with special changes","fromName":"Abscissa","fromEmail":"bus_nabble_git@semitwist.com","sentAt":"2012-01-08T05:25:27Z","receivedAt":"2012-01-08T05:25:27Z","isPatch":false,"sender":{"key":"bus_nabble_git@semitwist.com","avatar":null},"body":"Well that's strange, it finished \"upgrading\", but now git is still just\nreporting 1.7.0.4, which is *exactly* the same version it said before. The\ngit-svn package should already be up-to-date because I just installed it \ntoday. So I don't know what's up with that.\n\n\n--\nView this message in context: http://git.661346.n2.nabble.com/SVN-Git-but-with-special-changes-tp6840904p7163752.html\nSent from the git mailing list archive at Nabble.com.\n"},{"id":"182089","messageId":"20120108103303.GC2714@centaur.lab.cmartin.tk","threadId":"28523","inReplyTo":"1326000327637-7163752.post@n2.nabble.com","subject":"Re: SVN -> Git *but* with special changes","fromName":"Carlos Martín Nieto","fromEmail":"cmn@elego.de","sentAt":"2012-01-08T10:33:03Z","receivedAt":"2012-01-08T10:33:03Z","isPatch":false,"sender":{"key":"cmn@elego.de","avatar":"https://avatars.githubusercontent.com/u/335443?v=4"},"body":"On Sat, Jan 07, 2012 at 09:25:27PM -0800, Abscissa wrote:\n> Well that's strange, it finished \"upgrading\", but now git is still just\n> reporting 1.7.0.4, which is *exactly* the same version it said before. The\n> git-svn package should already be up-to-date because I just installed it \n> today. So I don't know what's up with that.\n\nNothing odd about that. apt-get upgrade means \"upgrade my system\". If\nyou want to get a newer version of package X, you do apt-get install X\nand it will install the latest version of that package.\n\nYour OS seems ancient, you might be better off installing from source.\n\n   cmn\n"},{"id":"182090","messageId":"m2hb06mpwn.fsf@linux-m68k.org","threadId":"28523","inReplyTo":"20120108103303.GC2714@centaur.lab.cmartin.tk","subject":"Re: SVN -> Git *but* with special changes","fromName":"Andreas Schwab","fromEmail":"schwab@linux-m68k.org","sentAt":"2012-01-08T10:47:52Z","receivedAt":"2012-01-08T10:47:52Z","isPatch":false,"sender":{"key":"schwab@linux-m68k.org","avatar":"https://avatars.githubusercontent.com/u/2175493?v=4"},"body":"Carlos Martín Nieto <cmn@elego.de> writes:\n\n> On Sat, Jan 07, 2012 at 09:25:27PM -0800, Abscissa wrote:\n>> Well that's strange, it finished \"upgrading\", but now git is still just\n>> reporting 1.7.0.4, which is *exactly* the same version it said before. The\n>> git-svn package should already be up-to-date because I just installed it \n>> today. So I don't know what's up with that.\n>\n> Nothing odd about that. apt-get upgrade means \"upgrade my system\". If\n> you want to get a newer version of package X, you do apt-get install X\n> and it will install the latest version of that package.\n\nIf apt-get upgrade doesn't get you a newer version then apt-get install\nwon't help you either.  Both use the same installation source.\n\nAndreas.\n\n-- \nAndreas Schwab, schwab@linux-m68k.org\nGPG Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5\n\"And now for something completely different.\"\n"},{"id":"182105","messageId":"gcvg.1201081220.64@landroval.ancalagon.de","threadId":"28523","inReplyTo":"1325999865995-7163737.post@n2.nabble.com","subject":"Re: SVN -> Git *but* with special changes","fromName":"Thomas Hochstein","fromEmail":"thh@inter.net","sentAt":"2012-01-08T11:20:08Z","receivedAt":"2012-01-08T11:20:08Z","isPatch":false,"sender":{"key":"thh@inter.net","avatar":"https://avatars.githubusercontent.com/u/365129?v=4"},"body":"Abscissa schrieb:\n\n> Ok, I see. It's reporting 1.7.0, so that would explain it. One \"sudo apt-get\n> upgrade git\" and...erm...well, it seems to be upgrading my whole damn\n> computer, but I'll see how it all works out. Thanks!\n\n\"apt-get upgrade\" will upgrade _all_ packages and doesn't take a\nparameter:\n| upgrade\n|    upgrade is used to install the newest versions of all packages\n|    currently installed on the system from the sources enumerated in\n|    /etc/apt/sources.list. \n\n-thh\n"},{"id":"182106","messageId":"gcvg.1201081224.65@landroval.ancalagon.de","threadId":"28523","inReplyTo":"1326000327637-7163752.post@n2.nabble.com","subject":"Re: SVN -> Git *but* with special changes","fromName":"Thomas Hochstein","fromEmail":"thh@inter.net","sentAt":"2012-01-08T11:24:16Z","receivedAt":"2012-01-08T11:24:16Z","isPatch":false,"sender":{"key":"thh@inter.net","avatar":"https://avatars.githubusercontent.com/u/365129?v=4"},"body":"Abscissa wrote:\n\n> Well that's strange, it finished \"upgrading\", but now git is still just\n> reporting 1.7.0.4, which is *exactly* the same version it said before. \n\nWhat kind of distribution do you use?\n\n\"apt-get\" sounds like Debian or Ubuntu, but those all have at least\ngit 1.7.1:\n\n| Debian versions:\n| stable      1:1.7.2.5-3 \n| stable-bpo  1:1.7.7.3-1~bpo60+2 \n| testing     1:1.7.7.3-1 \n| unstable    1:1.7.8.2-1 \n| exp         1:1.7.8~rc3-1 \n\n| Ubuntu versions:\n| Precise Pangolin  1:1.7.7.3-1\n| Oneiric Ocelot    1:1.7.5.4-1\n| Natty Narwhal     1:1.7.4.1-3\n| Maverick Meerkat  1:1.7.1-1.1ubuntu0.1\n\n-thh\n"},{"id":"182097","messageId":"20120108120807.GA7360@angband.pl","threadId":"28523","inReplyTo":"m2hb06mpwn.fsf@linux-m68k.org","subject":"Re: SVN -> Git *but* with special changes","fromName":"Adam Borowski","fromEmail":"kilobyte@angband.pl","sentAt":"2012-01-08T12:08:07Z","receivedAt":"2012-01-08T12:08:07Z","isPatch":false,"sender":{"key":"kilobyte@angband.pl","avatar":"https://avatars.githubusercontent.com/u/48801?v=4"},"body":"On Sun, Jan 08, 2012 at 11:47:52AM +0100, Andreas Schwab wrote:\n> Carlos Martín Nieto <cmn@elego.de> writes:\n> > On Sat, Jan 07, 2012 at 09:25:27PM -0800, Abscissa wrote:\n> >> Well that's strange, it finished \"upgrading\", but now git is still just\n> >> reporting 1.7.0.4, which is *exactly* the same version it said before. The\n> >> git-svn package should already be up-to-date because I just installed it \n> >> today. So I don't know what's up with that.\n> >\n> > Nothing odd about that. apt-get upgrade means \"upgrade my system\". If\n> > you want to get a newer version of package X, you do apt-get install X\n> > and it will install the latest version of that package.\n> \n> If apt-get upgrade doesn't get you a newer version then apt-get install\n> won't help you either.\n\nNo, this is true only if none of packages involved uses a new library\n(including new sonames).  \"apt-get upgrade\" is forbidden to add or remove\npackages, and thus will skip upgrades that need a new dependency.\nThe message at the end will mention \"## not upgraded\" though.\n\n\"apt-get install X\" or \"apt-get dist-upgrade\" have no such restrictions.\n\n-- \n1KB\t\t// Yo momma uses IPv4!\n"},{"id":"182140","messageId":"1326061722334-7165979.post@n2.nabble.com","threadId":"28523","inReplyTo":"20120108120807.GA7360@angband.pl","subject":"Re: SVN -> Git *but* with special changes","fromName":"Abscissa","fromEmail":"bus_nabble_git@semitwist.com","sentAt":"2012-01-08T22:28:42Z","receivedAt":"2012-01-08T22:28:42Z","isPatch":false,"sender":{"key":"bus_nabble_git@semitwist.com","avatar":null},"body":"I see. That's strange, I've been using \"apt-get upgrade xxx\" for at least a\ncouple years, I can't believe I never knew that! Thanks for the detailed\ninfo, everyone (and for the patience!)\n\nIn answer to someone's question, yea, it's Ubuntu (Kubuntu 10.04, and yea, I\nknow that's old, but it's not my primary system and I haven't had a chance\nyet to upgrade it and get everything set back up again). I also tried it on\na Debian 6 Live/Persistent system and got the same results...apparently for\nthe same reason.\n\nI did manage to get 1.7.8 installed (on both systems) by downloading and\ninstalling the source (it was kind of a pain figuring out the names of some\nof the dependent packages, but I managed to get it.)\n\nSo hopefully this should all work now...\n\n\n--\nView this message in context: http://git.661346.n2.nabble.com/SVN-Git-but-with-special-changes-tp6840904p7165979.html\nSent from the git mailing list archive at Nabble.com.\n"},{"id":"182143","messageId":"1326065910362-7166084.post@n2.nabble.com","threadId":"28523","inReplyTo":"1326061722334-7165979.post@n2.nabble.com","subject":"Re: SVN -> Git *but* with special changes","fromName":"Abscissa","fromEmail":"bus_nabble_git@semitwist.com","sentAt":"2012-01-08T23:38:30Z","receivedAt":"2012-01-08T23:38:30Z","isPatch":false,"sender":{"key":"bus_nabble_git@semitwist.com","avatar":null},"body":"Damn. That 'git-svn-migrate' tool is just giving me errors now. It just gets\nthrough little over 10% of the revisions, and gives:\n\n-----------------------------\nFailed to strip path 'bin/lang/.gitignore' ((?-xism:^trunk(/|$)))\n\n- Converting svn:ignore properties into a .gitignore file...\nfatal: ambiguous argument 'HEAD': unknown revision or path not in the\nworking tree.\nUse '--' to separate paths from revisions\nlog --no-color --no-decorate --first-parent --pretty=medium HEAD: command\nreturned error: 128\n-----------------------------\n\nAnd then it keeps going and gives:\n\n-----------------------------\nTo /var/git/Goldie.git\n ! [rejected]        master -> trunk (non-fast-forward)\nerror: failed to push some refs to '/var/git/Goldie.git'\nTo prevent you from losing history, non-fast-forward updates were rejected\n-----------------------------\n\nI guess I'll have to try some other approach. :/\n\n\n--\nView this message in context: http://git.661346.n2.nabble.com/SVN-Git-but-with-special-changes-tp6840904p7166084.html\nSent from the git mailing list archive at Nabble.com.\n"},{"id":"182151","messageId":"4F0AA4CD.2080102@alum.mit.edu","threadId":"28523","inReplyTo":"1326061722334-7165979.post@n2.nabble.com","subject":"Re: SVN -> Git *but* with special changes","fromName":"Michael Haggerty","fromEmail":"mhagger@alum.mit.edu","sentAt":"2012-01-09T08:26:53Z","receivedAt":"2012-01-09T08:26:53Z","isPatch":false,"sender":{"key":"mhagger@alum.mit.edu","avatar":"https://avatars.githubusercontent.com/u/119718?v=4"},"body":"On 01/08/2012 11:28 PM, Abscissa wrote:\n> In answer to someone's question, yea, it's Ubuntu (Kubuntu 10.04, and yea, I\n> know that's old, but it's not my primary system and I haven't had a chance\n> yet to upgrade it and get everything set back up again). I also tried it on\n> a Debian 6 Live/Persistent system and got the same results...apparently for\n> the same reason.\n\nFor Ubuntu users: there is a git PPA [1] which usually has quite\nup-to-date git packages for recent Ubuntu releases.  If you configure\nyour system to use this PPA (instructions are on the page) then you can\nstay up-to-date with minimal effort.  Currently they have version\n1.7.8.2 available for hardy, lucid, maverick, natty, and oneiric and\nolder versions for some other Ubuntu releases.\n\nCaveat: I am not affiliated with the PPA and cannot vouch for its integrity.\n\nMichael\n\n[1] https://launchpad.net/~git-core/+archive/ppa\n\n-- \nMichael Haggerty\nmhagger@alum.mit.edu\nhttp://softwareswirl.blogspot.com/\n"},{"id":"182469","messageId":"1326405138283-7181897.post@n2.nabble.com","threadId":"28523","inReplyTo":"1326065910362-7166084.post@n2.nabble.com","subject":"Re: SVN -> Git *but* with special changes","fromName":"Abscissa","fromEmail":"bus_nabble_git@semitwist.com","sentAt":"2012-01-12T21:52:18Z","receivedAt":"2012-01-12T21:52:18Z","isPatch":false,"sender":{"key":"bus_nabble_git@semitwist.com","avatar":null},"body":"I'm trying to do it manually with git-svn, but I'm getting the same problem.\nI have two different SVN repos I want to do (turns out neither have\nbranches, I had thought they did, but one of them does have tags). Doing\nthis:\n\ngit svn clone {the url to the SVN repo} --prefix=svn/ --preserve-empty-dirs\n--authors-file={already prepared authors file} --trunk=trunk --tags=tags\n\nIt gets partway through, and then gives me:\n\nFailed to strip path '{some path}/.gitignore' ((?-xism:^trunk(/|$)))\n\nWhere {some path} is an empty dir in the trunk of one repo, and a completely\nnon-existent path in the other. (In both cases I'm looking at the revision\ngit-svn had gotten to when bailing, plus the revision before and the\nrevision after).\n\nI don't have a clue what that error message is trying to tell me or what is\ngoing wrong. :(\n\nIf it helps, these are the repos I'm trying to convert:\n\nhttp://svn.dsource.org/projects/semitwist   (git svn clone fails at r46 (out\nof 242) on 'src/nonFatalAssertTest/.gitignore')\nhttp://svn.dsource.org/projects/goldie   (git svn clone fails at r85 (out of\n557) on 'bin/lang/.gitignore')\n\n(Yes, they do have a non-standard top-level \"downloads\" directory, but\nthat's just how that host does file downloads, and I *don't* need to\npreserve it)\n\n\n--\nView this message in context: http://git.661346.n2.nabble.com/SVN-Git-but-with-special-changes-tp6840904p7181897.html\nSent from the git mailing list archive at Nabble.com.\n"},{"id":"182529","messageId":"1326512593140-7186699.post@n2.nabble.com","threadId":"28523","inReplyTo":"1326405138283-7181897.post@n2.nabble.com","subject":"Re: SVN -> Git *but* with special changes","fromName":"Abscissa","fromEmail":"bus_nabble_git@semitwist.com","sentAt":"2012-01-14T03:43:13Z","receivedAt":"2012-01-14T03:43:13Z","isPatch":false,"sender":{"key":"bus_nabble_git@semitwist.com","avatar":null},"body":"Someone on a different message board noticed that it seemed like it was\ntrying to strip and already-stripped path in git-svn.perl, so I went in\nthere, changed the \"die\" to \"print\", and after a \"make && sudo make install\"\nit seems to work fine now. Probably not the proper way to fix it, but it\nseems to work for me.\n\nIt does now fail to delete directories once they actually *are* deleted in\nthe SVN repo, which is kinda sloppy, but it doesn't hurt anything, so I can\nlive with that.\n\n\n--\nView this message in context: http://git.661346.n2.nabble.com/SVN-Git-but-with-special-changes-tp6840904p7186699.html\nSent from the git mailing list archive at Nabble.com.\n"}]}