{"thread":{"id":"9819","subject":"git-svn 1.5.3 does not understand grafts?","startedAt":"2007-09-07T16:41:17Z","lastAt":"2007-09-08T23:33:08Z","messageCount":8,"participants":["Joakim Tjernlund","Eric Wong","Junio C Hamano"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"52920","messageId":"1189183276.14841.10.camel@gentoo-jocke.transmode.se","threadId":"9819","inReplyTo":null,"subject":"git-svn 1.5.3 does not understand grafts?","fromName":"Joakim Tjernlund","fromEmail":"joakim.tjernlund@transmode.se","sentAt":"2007-09-07T16:41:17Z","receivedAt":"2007-09-07T16:41:17Z","isPatch":false,"sender":{"key":"joakim.tjernlund@transmode.se","avatar":null},"body":"svnadmin create /usr/local/src/TM/svn-tst/7720-svn/\nsvn mkdir  file:///usr/local/src/TM/svn-tst/7720-svn/trunk -m \"Add trunk dir\"\nsvn mkdir  file:///usr/local/src/TM/svn-tst/7720-svn/trunk/swp -m \"Add swp dir\"\n\nIn my git repo I do\ngit-svn init  file:///usr/local/src/TM/svn-tst/7720-svn/trunk/swp \ngit-svn fetch\ngit branch svn remotes/git-svn\n#make remotes/git-svn parent to the initial commit in my git tree\ngraftid=`git-show-ref -s svn`\necho da783cce390ce013b19f1d308ea6813269c6a6b5 $graftid > .git/info/grafts\n#da783... is the initial commit in my git tree.\ngit-svn dcommit\n\nfails with:\nCommitting to file:///usr/local/src/TM/svn-tst/7720-svn/trunk/swp ...\nCommit da783cce390ce013b19f1d308ea6813269c6a6b5\nhas no parent commit, and therefore nothing to diff against.\nYou should be working from a repository originally created by git-svn\n\n\n Jocke\n"},{"id":"52922","messageId":"1189183934.14841.18.camel@gentoo-jocke.transmode.se","threadId":"9819","inReplyTo":"1189183276.14841.10.camel@gentoo-jocke.transmode.se","subject":"Re: git-svn 1.5.3 does not understand grafts?","fromName":"Joakim Tjernlund","fromEmail":"joakim.tjernlund@transmode.se","sentAt":"2007-09-07T16:52:14Z","receivedAt":"2007-09-07T16:52:14Z","isPatch":false,"sender":{"key":"joakim.tjernlund@transmode.se","avatar":null},"body":"On Fri, 2007-09-07 at 18:41 +0200, Joakim Tjernlund wrote:\n> svnadmin create /usr/local/src/TM/svn-tst/7720-svn/\n> svn mkdir  file:///usr/local/src/TM/svn-tst/7720-svn/trunk -m \"Add trunk dir\"\n> svn mkdir  file:///usr/local/src/TM/svn-tst/7720-svn/trunk/swp -m \"Add swp dir\"\n> \n> In my git repo I do\n> git-svn init  file:///usr/local/src/TM/svn-tst/7720-svn/trunk/swp \n> git-svn fetch\n> git branch svn remotes/git-svn\n> #make remotes/git-svn parent to the initial commit in my git tree\n> graftid=`git-show-ref -s svn`\n> echo da783cce390ce013b19f1d308ea6813269c6a6b5 $graftid > .git/info/grafts\n> #da783... is the initial commit in my git tree.\n> git-svn dcommit\n> \n> fails with:\n> Committing to file:///usr/local/src/TM/svn-tst/7720-svn/trunk/swp ...\n> Commit da783cce390ce013b19f1d308ea6813269c6a6b5\n> has no parent commit, and therefore nothing to diff against.\n> You should be working from a repository originally created by git-svn\n> \n> \n>  Jocke\n\nUsing filter-branch helps, but git-svn isn't too happy:\n\ngit-svn init  file:///usr/local/src/TM/svn-tst/7720-svn/trunk/swp \ngit-svn fetch\ngit branch svn remotes/git-svn\n#make remotes/git-svn parent to the initial commit in my git tree\ngraftid=`git-show-ref -s svn`\necho da783cce390ce013b19f1d308ea6813269c6a6b5 $graftid > .git/info/grafts\n#da783... is the initial commit in my git tree.\ngit filter-branch $graftid..HEAD\ngit-svn dcommit\n\nNow I get alot of complaints, but it commits to svn.\nIt takes forever though:\nr3 = 55a489bd4f66dd1f641a4676359d7b8911dc7d83 (git-svn)\nW: HEAD and refs/remotes/git-svn differ, using rebase:\n:100644 100644 f85ae11af7715a224015582724cb2bab87ec914a\n7dc27f2dc58f6dd46cff79d5d762e630febfd419 M    Makefile :100644 100644\n4fa08aee7d4cd193cb161115cc079e7c50326e23\n0246a89da64f08b0b48f7aa16886bbb2b12df237 M   adc.c :100644 100644\n84eba702cce3a9e4f125162f77f3ea52ae45aebc\n78347f1f40f7526142bcc5db0708f50dd6150c0a M      adc.h :100644 100644\n890dfe7abdac0aa03eeca24572d98e3953db69d7\nc2367a52e99af1f036dfc1de442f08cb187a58ab M   bmi.c :100644 100644\n92ae3ce7c8c0b3a664dc4ace8ce29b9ac7fd2d9b\n40fb9b886e3a51189e662d54cbdbb968e244aa53 M       bmi.h :100644 100644\na21005f15af34cd17e6acd8f1de974e3d82af0f4\nba2c2c4b19bbbfdabae6d3a9980132c4e1e1c07c M      cdrbug.c :100644 100644\n5a299761b62ca83fc22d30086b9a082c4de23ee4\n3f885b0d8b7c29e7970997ed608df12e23d78644 M   config.c :100644 100644\n8a0a8ed90e50d18a9865fa2f5e644ca083a8b783\na2153ef48a59ffdf5a84ca6b93106c98dcb27a9c M control.c :100644 100644\n760b828d8e55f6314d313e176578546e3d76b22b\n143b44923e1f40d89fa9e87a30dd63abc48cea57 M  database.c :100644 100644\ne7cab9865317c1ab4cbe8ecb47b5fda7c0eddcd8\nff519b51ae5428b93504f124ea1f24452b69fa94 M database.h :100644 100644\na28219bc7b5bc692242639fae0e5b54cfaec7bc3\n78c8df626c1cf9c989f127f96161850f92cd4588 M defines.h :100644 100644\n21e68f9a09a2618493eed4f4c1796293db78c828\n68659b3a1bc25a90b103824e089c7c6126f5367b M        eeprom.c :100644\n100644 3095638b3f28d5b8e04be1c660fc37bf82e034c2\n7ea0835e82aa230f1834b9977ec6a634c400e244 M   eeprom.h :100644 000000\n8f7368e29d7ba3dbe34c8e6ad7a3738b68dd1d78\n0000000000000000000000000000000000000000 D   fpga.c :100644 000000\n2dded257891ada8228f684e9be213b86b6c1fda5\n0000000000000000000000000000000000000000 D   fpga.h :100644 100644\n97ccea82dd35a7d5973199511d7a9127981f74d3\n3758a9334cf04bb670ae2563ad5f2b95af257f3b M     fwrev.h :100644 100644\ncd80946581062ead075ba6047d51ae2605e4cc14\n2ef670ea229b62bc1b10d087ab2bd3850f08e91a M    glitch.c :100644 100644\nd14716ec4351b610dbac81637623a9ca3a8e8902\n9e1789933635a5b9e2c562a3c69a973e07b31b7b M   i2cmux.c :100644 100644\n6551153cf879ba87d73aa53aa6b768867b026842\n4a2813b41231461ab4b316829f9e59ac36498813 M i2cmux.h :100644 100644\n2967bc6e21ab9581a47266966867ded04d8076f1\n5294b80cbad8d7501fa8c415a0b7b0e1a3343262 M   led.c :100644 100644\n9b8016b9c3f13a5fb4446a1f31d1d2311ece32df\n2014113eaff9c22f4efd347031d3b7651aa78648 M      led.h :100644 100644\ne4d50a5a735105187304f0458cde9102c64aa163\nfaba2f86b6f86f944ce4995ec5cab2edea0d3bb6 M   lvd.c :100644 100644\naa86ba2a2c313ca688700e75a4353a4d66846b54\nbbc2a887b404a06d28ee77c5343278f3a309371f M       main.c :100644 100644\nd0f5f5f6538924cfe757e8cdb328f4d7bf9858bd\n25e10d528df873425cf32b366c42c01a84367459 M     memmap.c :100644 100644\n9bdc8d928ce77ed2f529a0709a3f54a882c37b8b\n086b7fc9dd915e43f21e94e963a18184669d361d M   optosfp.c :000000 100644\n0000000000000000000000000000000000000000\nbb8184467f03194f7aa8cc964a5dfe37603539e3 A        pld.c :000000 100644\n0000000000000000000000000000000000000000\n405486a29ca8be8212bc307017404ebbed904fe0 A      pld.h :100644 100644\nb361784c0b617bdceac5e297e0c3dbb96b2a3dae\n869bf82b2e8b710150abf88ca34a9e12378f1415 M      protocol.c :100644\n100644 988233f538e9df6c681b2f60a19279567ca2536d\n55d9627846575f5f63d907a6dd07979040c64552 M       protocol.h :100644\n100644 b43a0c32977e11ad6ccbe9704ce8fdace8914e4d\n7872778d025990cdc014d6ca907a3cf9e75050b1 M shell.c :100644 100644\n0134ff4ca1a1f8b8d760eb4e367057dbb88b68ed\ncda0e129d5fc1390dd7d1e1dd5b9695651c5dcdd M    spi.c :100644 100644\n3ea874f32fa1eab87f4d2261a922dc293f379947\n24e1be7f8bfe9570464260b6d210cbf7771edaab M      task.c :100644 100644\nca1f966200e5f7126fe0b61a768a5e4b1d49bc94\n87a516572095292add8b1b19687a624c38ad205f M   trans.c :100644 100644\nb298cc58873100e5e74f53d2a3f62028caba8951\n853c18b6c42f9d463f14eede3b84ed700b00dcd5 M    transceiver.cFirst,\nrewinding head to replay your work on top of it...\nHEAD is now at 55a489b... Initial import of 7700, sws100034.\n\nI get alot similar messages until it is finished.\n\n    Jocke \n"},{"id":"52937","messageId":"1189196635.14841.24.camel@gentoo-jocke.transmode.se","threadId":"9819","inReplyTo":"1189183934.14841.18.camel@gentoo-jocke.transmode.se","subject":"Re: git-svn 1.5.3 does not understand grafts?","fromName":"Joakim Tjernlund","fromEmail":"joakim.tjernlund@transmode.se","sentAt":"2007-09-07T20:23:54Z","receivedAt":"2007-09-07T20:23:54Z","isPatch":false,"sender":{"key":"joakim.tjernlund@transmode.se","avatar":null},"body":"On Fri, 2007-09-07 at 18:52 +0200, Joakim Tjernlund wrote:\n> On Fri, 2007-09-07 at 18:41 +0200, Joakim Tjernlund wrote:\n> > svnadmin create /usr/local/src/TM/svn-tst/7720-svn/\n> > svn mkdir  file:///usr/local/src/TM/svn-tst/7720-svn/trunk -m \"Add trunk dir\"\n> > svn mkdir  file:///usr/local/src/TM/svn-tst/7720-svn/trunk/swp -m \"Add swp dir\"\n> > \n> > In my git repo I do\n> > git-svn init  file:///usr/local/src/TM/svn-tst/7720-svn/trunk/swp \n> > git-svn fetch\n> > git branch svn remotes/git-svn\n> > #make remotes/git-svn parent to the initial commit in my git tree\n> > graftid=`git-show-ref -s svn`\n> > echo da783cce390ce013b19f1d308ea6813269c6a6b5 $graftid > .git/info/grafts\n> > #da783... is the initial commit in my git tree.\n> > git-svn dcommit\n> > \n> > fails with:\n> > Committing to file:///usr/local/src/TM/svn-tst/7720-svn/trunk/swp ...\n> > Commit da783cce390ce013b19f1d308ea6813269c6a6b5\n> > has no parent commit, and therefore nothing to diff against.\n> > You should be working from a repository originally created by git-svn\n> > \n> > \n> >  Jocke\n> \n> Using filter-branch helps, but git-svn isn't too happy:\n> \n> git-svn init  file:///usr/local/src/TM/svn-tst/7720-svn/trunk/swp \n> git-svn fetch\n> git branch svn remotes/git-svn\n> #make remotes/git-svn parent to the initial commit in my git tree\n> graftid=`git-show-ref -s svn`\n> echo da783cce390ce013b19f1d308ea6813269c6a6b5 $graftid > .git/info/grafts\n> #da783... is the initial commit in my git tree.\n> git filter-branch $graftid..HEAD\n> git-svn dcommit\n> \n> Now I get alot of complaints, but it commits to svn.\n> It takes forever though:\n> r3 = 55a489bd4f66dd1f641a4676359d7b8911dc7d83 (git-svn)\n> W: HEAD and refs/remotes/git-svn differ, using rebase:\n> :100644 100644 f85ae11af7715a224015582724cb2bab87ec914a\n[SNIP]\n\nJust wanted to add that 1.5.2.2 works with grafts and \nthat I suspect sub read_commit_parents in git-svn, but as I don't\ndo perl I am stuck.\n\n     Jocke\nOh, Eric W. CC:ed as well this time\n"},{"id":"52971","messageId":"20070908050146.GA28855@soma","threadId":"9819","inReplyTo":"1189196635.14841.24.camel@gentoo-jocke.transmode.se","subject":"Re: git-svn 1.5.3 does not understand grafts?","fromName":"Eric Wong","fromEmail":"normalperson@yhbt.net","sentAt":"2007-09-08T05:01:46Z","receivedAt":"2007-09-08T05:01:46Z","isPatch":false,"sender":{"key":"e@80x24.org","avatar":null},"body":"Joakim Tjernlund <joakim.tjernlund@transmode.se> wrote:\n> On Fri, 2007-09-07 at 18:52 +0200, Joakim Tjernlund wrote:\n> > On Fri, 2007-09-07 at 18:41 +0200, Joakim Tjernlund wrote:\n> > > svnadmin create /usr/local/src/TM/svn-tst/7720-svn/\n> > > svn mkdir  file:///usr/local/src/TM/svn-tst/7720-svn/trunk -m \"Add trunk dir\"\n> > > svn mkdir  file:///usr/local/src/TM/svn-tst/7720-svn/trunk/swp -m \"Add swp dir\"\n> > > \n> > > In my git repo I do\n> > > git-svn init  file:///usr/local/src/TM/svn-tst/7720-svn/trunk/swp \n> > > git-svn fetch\n> > > git branch svn remotes/git-svn\n> > > #make remotes/git-svn parent to the initial commit in my git tree\n> > > graftid=`git-show-ref -s svn`\n> > > echo da783cce390ce013b19f1d308ea6813269c6a6b5 $graftid > .git/info/grafts\n> > > #da783... is the initial commit in my git tree.\n> > > git-svn dcommit\n> > > \n> > > fails with:\n> > > Committing to file:///usr/local/src/TM/svn-tst/7720-svn/trunk/swp ...\n> > > Commit da783cce390ce013b19f1d308ea6813269c6a6b5\n> > > has no parent commit, and therefore nothing to diff against.\n> > > You should be working from a repository originally created by git-svn\n> > \n> > Using filter-branch helps, but git-svn isn't too happy:\n> > \n> > git-svn init  file:///usr/local/src/TM/svn-tst/7720-svn/trunk/swp \n> > git-svn fetch\n> > git branch svn remotes/git-svn\n> > #make remotes/git-svn parent to the initial commit in my git tree\n> > graftid=`git-show-ref -s svn`\n> > echo da783cce390ce013b19f1d308ea6813269c6a6b5 $graftid > .git/info/grafts\n> > #da783... is the initial commit in my git tree.\n> > git filter-branch $graftid..HEAD\n> > git-svn dcommit\n> > \n> > Now I get alot of complaints, but it commits to svn.\n> > It takes forever though:\n> > r3 = 55a489bd4f66dd1f641a4676359d7b8911dc7d83 (git-svn)\n> > W: HEAD and refs/remotes/git-svn differ, using rebase:\n> > :100644 100644 f85ae11af7715a224015582724cb2bab87ec914a\n\nI haven't used filter-branch myself, but you probably need to remove all\n.rev_db* files in $GIT_DIR after running it (git-svn can recreate them\nunless you use the svmRevProps or noMetadata options.\n\n> [SNIP]\n> \n> Just wanted to add that 1.5.2.2 works with grafts and \n> that I suspect sub read_commit_parents in git-svn, but as I don't\n> do perl I am stuck.\n\nCrap, it looks like I completely forgot about the existence\nof grafts while doing this function.\n\n>      Jocke\n> Oh, Eric W. CC:ed as well this time\n\nThanks.\n\n-- \nEric Wong\n"},{"id":"52989","messageId":"000001c7f207$fd7562d0$5267a8c0@Jocke","threadId":"9819","inReplyTo":"20070908050146.GA28855@soma","subject":"RE: git-svn 1.5.3 does not understand grafts?","fromName":"Joakim Tjernlund","fromEmail":"joakim.tjernlund@transmode.se","sentAt":"2007-09-08T11:04:12Z","receivedAt":"2007-09-08T11:04:12Z","isPatch":false,"sender":{"key":"joakim.tjernlund@transmode.se","avatar":null},"body":"> -----Original Message-----\n> From: Eric Wong [mailto:normalperson@yhbt.net] \n> Sent: den 8 september 2007 07:02\n> To: Joakim Tjernlund\n> Cc: git\n> Subject: Re: git-svn 1.5.3 does not understand grafts?\n> \n> Joakim Tjernlund <joakim.tjernlund@transmode.se> wrote:\n> > On Fri, 2007-09-07 at 18:52 +0200, Joakim Tjernlund wrote:\n> > > On Fri, 2007-09-07 at 18:41 +0200, Joakim Tjernlund wrote:\n> > > > svnadmin create /usr/local/src/TM/svn-tst/7720-svn/\n> > > > svn mkdir  \n> file:///usr/local/src/TM/svn-tst/7720-svn/trunk -m \"Add trunk dir\"\n> > > > svn mkdir  \n> file:///usr/local/src/TM/svn-tst/7720-svn/trunk/swp -m \"Add swp dir\"\n> > > > \n> > > > In my git repo I do\n> > > > git-svn init  \n> file:///usr/local/src/TM/svn-tst/7720-svn/trunk/swp \n> > > > git-svn fetch\n> > > > git branch svn remotes/git-svn\n> > > > #make remotes/git-svn parent to the initial commit in \n> my git tree\n> > > > graftid=`git-show-ref -s svn`\n> > > > echo da783cce390ce013b19f1d308ea6813269c6a6b5 $graftid \n> > .git/info/grafts\n> > > > #da783... is the initial commit in my git tree.\n> > > > git-svn dcommit\n> > > > \n> > > > fails with:\n> > > > Committing to \n> file:///usr/local/src/TM/svn-tst/7720-svn/trunk/swp ...\n> > > > Commit da783cce390ce013b19f1d308ea6813269c6a6b5\n> > > > has no parent commit, and therefore nothing to diff against.\n> > > > You should be working from a repository originally \n> created by git-svn\n> > > \n> > > Using filter-branch helps, but git-svn isn't too happy:\n> > > \n> > > git-svn init  file:///usr/local/src/TM/svn-tst/7720-svn/trunk/swp \n> > > git-svn fetch\n> > > git branch svn remotes/git-svn\n> > > #make remotes/git-svn parent to the initial commit in my git tree\n> > > graftid=`git-show-ref -s svn`\n> > > echo da783cce390ce013b19f1d308ea6813269c6a6b5 $graftid > \n> .git/info/grafts\n> > > #da783... is the initial commit in my git tree.\n> > > git filter-branch $graftid..HEAD\n> > > git-svn dcommit\n> > > \n> > > Now I get alot of complaints, but it commits to svn.\n> > > It takes forever though:\n> > > r3 = 55a489bd4f66dd1f641a4676359d7b8911dc7d83 (git-svn)\n> > > W: HEAD and refs/remotes/git-svn differ, using rebase:\n> > > :100644 100644 f85ae11af7715a224015582724cb2bab87ec914a\n> \n> I haven't used filter-branch myself, but you probably need to \n> remove all\n> .rev_db* files in $GIT_DIR after running it (git-svn can recreate them\n> unless you use the svmRevProps or noMetadata options.\n\nhavn't used it either, but I wanted to see if it makes a difference.\nI will remember to remove the .rev_db* files next time I try.\n\nfilter branch is overkill if the grafts file works as git-svn will rewrite\nthe commits so once the first dcommit has been made, I can remove the\ngrafts file.\n\nI do have another project though were I want to fix som odd parenting caused\nby set-tree, there I will have to used filter-branch to make it permanet.\n\n> \n> > [SNIP]\n> > \n> > Just wanted to add that 1.5.2.2 works with grafts and \n> > that I suspect sub read_commit_parents in git-svn, but as I don't\n> > do perl I am stuck.\n> \n> Crap, it looks like I completely forgot about the existence\n> of grafts while doing this function.\n\n:)\nDo you have to worry about grafts in git-svn? \nCan't git plumbing do this for you?\n\n> \n> >      Jocke\n> > Oh, Eric W. CC:ed as well this time\n> \n> Thanks.\n> \n> -- \n> Eric Wong\n> \n> \n"},{"id":"53001","messageId":"045501c7f23f$c359c450$5267a8c0@Jocke","threadId":"9819","inReplyTo":"20070908050146.GA28855@soma","subject":"RE: git-svn 1.5.3 does not understand grafts?","fromName":"Joakim Tjernlund","fromEmail":"joakim.tjernlund@transmode.se","sentAt":"2007-09-08T17:43:27Z","receivedAt":"2007-09-08T17:43:27Z","isPatch":false,"sender":{"key":"joakim.tjernlund@transmode.se","avatar":null},"body":" \n\n> -----Original Message-----\n> From: Eric Wong [mailto:normalperson@yhbt.net] \n> Sent: den 8 september 2007 07:02\n> To: Joakim Tjernlund\n> Cc: git\n> Subject: Re: git-svn 1.5.3 does not understand grafts?\n> \n> Joakim Tjernlund <joakim.tjernlund@transmode.se> wrote:\n> > On Fri, 2007-09-07 at 18:52 +0200, Joakim Tjernlund wrote:\n> > > On Fri, 2007-09-07 at 18:41 +0200, Joakim Tjernlund wrote:\n> > > > svnadmin create /usr/local/src/TM/svn-tst/7720-svn/\n> > > > svn mkdir  \n> file:///usr/local/src/TM/svn-tst/7720-svn/trunk -m \"Add trunk dir\"\n> > > > svn mkdir  \n> file:///usr/local/src/TM/svn-tst/7720-svn/trunk/swp -m \"Add swp dir\"\n> > > > \n> > > > In my git repo I do\n> > > > git-svn init  \n> file:///usr/local/src/TM/svn-tst/7720-svn/trunk/swp \n> > > > git-svn fetch\n> > > > git branch svn remotes/git-svn\n> > > > #make remotes/git-svn parent to the initial commit in \n> my git tree\n> > > > graftid=`git-show-ref -s svn`\n> > > > echo da783cce390ce013b19f1d308ea6813269c6a6b5 $graftid \n> > .git/info/grafts\n> > > > #da783... is the initial commit in my git tree.\n> > > > git-svn dcommit\n> > > > \n> > > > fails with:\n> > > > Committing to \n> file:///usr/local/src/TM/svn-tst/7720-svn/trunk/swp ...\n> > > > Commit da783cce390ce013b19f1d308ea6813269c6a6b5\n> > > > has no parent commit, and therefore nothing to diff against.\n> > > > You should be working from a repository originally \n> created by git-svn\n> > > \n> > > Using filter-branch helps, but git-svn isn't too happy:\n> > > \n> > > git-svn init  file:///usr/local/src/TM/svn-tst/7720-svn/trunk/swp \n> > > git-svn fetch\n> > > git branch svn remotes/git-svn\n> > > #make remotes/git-svn parent to the initial commit in my git tree\n> > > graftid=`git-show-ref -s svn`\n> > > echo da783cce390ce013b19f1d308ea6813269c6a6b5 $graftid > \n> .git/info/grafts\n> > > #da783... is the initial commit in my git tree.\n> > > git filter-branch $graftid..HEAD\n> > > git-svn dcommit\n> > > \n> > > Now I get alot of complaints, but it commits to svn.\n> > > It takes forever though:\n> > > r3 = 55a489bd4f66dd1f641a4676359d7b8911dc7d83 (git-svn)\n> > > W: HEAD and refs/remotes/git-svn differ, using rebase:\n> > > :100644 100644 f85ae11af7715a224015582724cb2bab87ec914a\n> \n> I haven't used filter-branch myself, but you probably need to \n> remove all\n> .rev_db* files in $GIT_DIR after running it (git-svn can recreate them\n> unless you use the svmRevProps or noMetadata options.\n> \n> > [SNIP]\n> > \n> > Just wanted to add that 1.5.2.2 works with grafts and \n> > that I suspect sub read_commit_parents in git-svn, but as I don't\n> > do perl I am stuck.\n> \n> Crap, it looks like I completely forgot about the existence\n> of grafts while doing this function.\n\nhmm, I think git-cat-file is to blame.\ngit-cat-file commit da783cce390ce013b19f1d308ea6813269c6a6b5 does\nnot list list any parent even though I did\ngraftid=`git-show-ref -s remotes/git-svn`\necho da783cce390ce013b19f1d308ea6813269c6a6b5 $graftid > .git/info/grafts\n\n Jocke\n"},{"id":"53005","messageId":"7vfy1pyluy.fsf@gitster.siamese.dyndns.org","threadId":"9819","inReplyTo":"045501c7f23f$c359c450$5267a8c0@Jocke","subject":"Re: git-svn 1.5.3 does not understand grafts?","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2007-09-08T19:53:57Z","receivedAt":"2007-09-08T19:53:57Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"\"Joakim Tjernlund\" <joakim.tjernlund@transmode.se> writes:\n\n> hmm, I think git-cat-file is to blame.\n> git-cat-file commit da783cce390ce013b19f1d308ea6813269c6a6b5 does\n> not list list any parent...\n\nThe plumbing cat-file does not deal with grafts and this is\ndeliberate.  Otherwise you would not be able to find the true\nset of parents when you'd want to.\n\nSo do not blame cat-file, but blame the Porcelain that uses\ncat-file to read a commit object, without annotating what it\nread with what is in grafts, in this case your command line\nexperiment ;-).\n\nThe log family of commands and rev-list plumbing while\ntraversing commit ancestry chain do take grafts into account.\n\nOne caveat is pretty=raw output format shows true parents\nwithout grafts on \"parent \" header line, while the \"commit \"\nfake header prepended in the output for each commit shows the\nparents that takes into account.\n\nTo illustrate, if you forge the history and say the parent of\n1ddea77 is 5da1606 (when the true parent is 820eca68) with\ngrafts mechanism, here is what happens:\n\n    $ echo '1ddea77e449ef28d8a7c74521af21121ab01abc0 5da1606d0bf5b970fadfa0ca91618a1e871f6755' >.git/info/grafts\n    $ git show -s --pretty=raw --parents 1ddea77\n    commit 1ddea77e449ef28d8a7c74521af21121ab01abc0 5da1606d0bf5b970fadfa0ca91618a1e871f6755\n    tree e9e61bc801438062978ff47b0963c536ed1e51a9\n    parent 820eca68c2577d7499d203d7f4f7ae479b577683\n    author Nick Hengeveld <nickh@reactrix.com> 1127757131 -0700\n    committer Junio C Hamano <junkio@cox.net> 1127805558 -0700\n\n        [PATCH] Return CURL error message when object transfer fails\n\n        Return CURL error message when object transfer fails\n        ...\n    $ git-cat-file commit 1ddea77\n    tree e9e61bc801438062978ff47b0963c536ed1e51a9\n    parent 820eca68c2577d7499d203d7f4f7ae479b577683\n    author Nick Hengeveld <nickh@reactrix.com> 1127757131 -0700\n    committer Junio C Hamano <junkio@cox.net> 1127805558 -0700\n\n    [PATCH] Return CURL error message when object transfer fails\n\n    Return CURL error message when object transfer fails\n    ...\n"},{"id":"53021","messageId":"20070908233308.GA14915@mayonaise","threadId":"9819","inReplyTo":"7vfy1pyluy.fsf@gitster.siamese.dyndns.org","subject":"[PATCH] git-svn: understand grafts when doing dcommit","fromName":"Eric Wong","fromEmail":"normalperson@yhbt.net","sentAt":"2007-09-08T23:33:08Z","receivedAt":"2007-09-08T23:33:08Z","isPatch":true,"sender":{"key":"e@80x24.org","avatar":null},"body":"Use the rev-list --parents functionality to read the parents\nof the commit.  cat-file only shows the raw object with the\noriginal parents and doesn't take into account grafts; so\nwe'll rely on rev-list machinery for the smarts here.\n\nSigned-off-by: Eric Wong <normalperson@yhbt.net>\n---\n  Junio C Hamano <gitster@pobox.com> wrote:\n  > \"Joakim Tjernlund\" <joakim.tjernlund@transmode.se> writes:\n  > \n  > > hmm, I think git-cat-file is to blame.\n  > > git-cat-file commit da783cce390ce013b19f1d308ea6813269c6a6b5 does\n  > > not list list any parent...\n  > \n  > The plumbing cat-file does not deal with grafts and this is\n  > deliberate.  Otherwise you would not be able to find the true\n  > set of parents when you'd want to.\n  > \n  > So do not blame cat-file, but blame the Porcelain that uses\n  > cat-file to read a commit object, without annotating what it\n  > read with what is in grafts, in this case your command line\n  > experiment ;-).\n  > \n  > The log family of commands and rev-list plumbing while\n  > traversing commit ancestry chain do take grafts into account.\n  > \n  > One caveat is pretty=raw output format shows true parents\n  > without grafts on \"parent \" header line, while the \"commit \"\n  > fake header prepended in the output for each commit shows the\n  > parents that takes into account.\n  > \n  > To illustrate, if you forge the history and say the parent of\n  > 1ddea77 is 5da1606 (when the true parent is 820eca68) with\n  > grafts mechanism, here is what happens:\n  > \n  >     $ echo '1ddea77e449ef28d8a7c74521af21121ab01abc0 5da1606d0bf5b970fadfa0ca91618a1e871f6755' >.git/info/grafts\n  >     $ git show -s --pretty=raw --parents 1ddea77\n  >     commit 1ddea77e449ef28d8a7c74521af21121ab01abc0 5da1606d0bf5b970fadfa0ca91618a1e871f6755\n  >     tree e9e61bc801438062978ff47b0963c536ed1e51a9\n  >     parent 820eca68c2577d7499d203d7f4f7ae479b577683\n  >     author Nick Hengeveld <nickh@reactrix.com> 1127757131 -0700\n  >     committer Junio C Hamano <junkio@cox.net> 1127805558 -0700\n  > \n  >         [PATCH] Return CURL error message when object transfer fails\n  > \n  >         Return CURL error message when object transfer fails\n  >         ...\n\n  Interesting.  I didn't know about the --parents option before.\n\n git-svn.perl |   11 +++--------\n 1 files changed, 3 insertions(+), 8 deletions(-)\n\ndiff --git a/git-svn.perl b/git-svn.perl\nindex fbd4691..f818160 100755\n--- a/git-svn.perl\n+++ b/git-svn.perl\n@@ -841,14 +841,9 @@ sub working_head_info {\n \n sub read_commit_parents {\n \tmy ($parents, $c) = @_;\n-\tmy ($fh, $ctx) = command_output_pipe(qw/cat-file commit/, $c);\n-\twhile (<$fh>) {\n-\t\tchomp;\n-\t\tlast if '';\n-\t\t/^parent ($sha1)/ or next;\n-\t\tpush @{$parents->{$c}}, $1;\n-\t}\n-\tclose $fh; # break the pipe\n+\tchomp(my $p = command_oneline(qw/rev-list --parents -1/, $c));\n+\t$p =~ s/^($c)\\s*// or die \"rev-list --parents -1 $c failed!\\n\";\n+\t@{$parents->{$c}} = split(/ /, $p);\n }\n \n sub linearize_history {\n-- \nEric Wong\n"}]}