{"thread":{"id":"24584","subject":"[GSoC update extra!] git-remote-svn: Week 13","startedAt":"2010-07-30T19:01:27Z","lastAt":"2010-08-05T22:23:29Z","messageCount":5,"participants":["Ramkumar Ramachandra","David Michael Barr","Sverre Rabbelier"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"146796","messageId":"20100730190124.GA2995@kytes","threadId":"24584","inReplyTo":null,"subject":"[GSoC update extra!] git-remote-svn: Week 13","fromName":"Ramkumar Ramachandra","fromEmail":"artagnon@gmail.com","sentAt":"2010-07-30T19:01:27Z","receivedAt":"2010-07-30T19:01:27Z","isPatch":false,"sender":{"key":"r@artagnon.com","avatar":"https://avatars.githubusercontent.com/u/37226?v=4"},"body":"Hi,\n\nI just got a proof-of-concept loader for Subversion working. It just\nabout works for a very small reduced case. I'll still have to hammer\nit into shape for to handle various cases [1]. In the meantime, we\nalso have to start working on doing the inverse of what\nsvn-dump-fast-export does: convert a Git fast-export stream to a\nSubversion dumpfile.\n\nDavid: Can you estimate how challenging the task is going to be?\n\n[1]: I'm working on it directly in trunk. You can find the latest code\nin subversion/svnrdump in the Subversion trunk.\n\n-- Ram\n"},{"id":"147193","messageId":"0C6B8C5E-15BA-43AD-B2F2-914F39EA6046@cordelta.com","threadId":"24584","inReplyTo":"20100730190124.GA2995@kytes","subject":"Re: [GSoC update extra!] git-remote-svn: Week 13","fromName":"David Michael Barr","fromEmail":"david.barr@cordelta.com","sentAt":"2010-08-05T14:43:28Z","receivedAt":"2010-08-05T14:43:28Z","isPatch":false,"sender":{"key":"david.barr@cordelta.com","avatar":"https://avatars.githubusercontent.com/u/220594?v=4"},"body":"Hi,\n\n> I just got a proof-of-concept loader for Subversion working. It just\n> about works for a very small reduced case. I'll still have to hammer\n> it into shape for to handle various cases [1]. In the meantime, we\n> also have to start working on doing the inverse of what\n> svn-dump-fast-export does: convert a Git fast-export stream to a\n> Subversion dumpfile.\n> \n> David: Can you estimate how challenging the task is going to be?\n\nRam, sorry for the late reply, I've been rather sick this week.\n\nAssuming that the fast-export stream will be already linearised...\nI think it will be more complex than svn-fe even with that constraint.\nThe reason being that going from git to subversion there is a\ngeneral increase in redundant data.\nWhile svn-fe preserves much of the redundancy of the original svn\ndump stream, git is able to eliminate much of it.\nOn the other hand, to produce an svn dump stream we may need\nto repeat elements encountered earlier in the fast-export stream.\nWe may be able to achieve a simple implementation by placing\nfurther restrictions on the form of the fast-export stream.\n\n> [1]: I'm working on it directly in trunk. You can find the latest code\n> in subversion/svnrdump in the Subversion trunk.\n> \n> -- Ram\n\nOn a related note, I've found a defect in the svn dump stream design.\nTruncation of an svn dump may result in a valid stream with an\nincomplete trailing commit. Even more fun is that when svnrdump\nencounters an error in the middle of handling a commit, it will likely\nproduce such a stream. I broked my ASF mirror by loading an\nincomplete incremental dump. :(\n\nTODO: cross-post the last paragraph to svn-dev.\n\n-- David Barr.\n"},{"id":"147219","messageId":"AANLkTi==fm8kxoB9aPYJNqBO=O9ALq-1qTzQj9RSXYBN@mail.gmail.com","threadId":"24584","inReplyTo":"0C6B8C5E-15BA-43AD-B2F2-914F39EA6046@cordelta.com","subject":"Re: [GSoC update extra!] git-remote-svn: Week 13","fromName":"Sverre Rabbelier","fromEmail":"srabbelier@gmail.com","sentAt":"2010-08-05T16:42:34Z","receivedAt":"2010-08-05T16:42:34Z","isPatch":false,"sender":{"key":"srabbelier@gmail.com","avatar":"https://avatars.githubusercontent.com/u/3098?v=4"},"body":"Heya,\n\nOn Thu, Aug 5, 2010 at 09:43, David Michael Barr\n<david.barr@cordelta.com> wrote:\n> The reason being that going from git to subversion there is a\n> general increase in redundant data.\n\nI don't understand?\n\n> On the other hand, to produce an svn dump stream we may need\n> to repeat elements encountered earlier in the fast-export stream.\n\nWhat do you mean with this?\n\n-- \nCheers,\n\nSverre Rabbelier\n"},{"id":"147260","messageId":"70D9930D-DDB6-493D-9936-21E9CD4426A2@cordelta.com","threadId":"24584","inReplyTo":"AANLkTi==fm8kxoB9aPYJNqBO=O9ALq-1qTzQj9RSXYBN@mail.gmail.com","subject":"Re: [GSoC update extra!] git-remote-svn: Week 13","fromName":"David Michael Barr","fromEmail":"david.barr@cordelta.com","sentAt":"2010-08-05T22:15:26Z","receivedAt":"2010-08-05T22:15:26Z","isPatch":false,"sender":{"key":"david.barr@cordelta.com","avatar":"https://avatars.githubusercontent.com/u/220594?v=4"},"body":"Hi,\n\n>> The reason being that going from git to subversion there is a\n>> general increase in redundant data.\n> \n> I don't understand?\n\nThe primary issue is a blob may be repeated in a non-copy operation,\nrequiring its content to be described again. This sort of operation only\nhappens 20% of the time with the ASF repository. We would have to\neither write out the content again or compute a new delta depending\non the target version of the svn dump stream.\n\n>> On the other hand, to produce an svn dump stream we may need\n>> to repeat elements encountered earlier in the fast-export stream.\n> \n> What do you mean with this?\n\nSee above, there was some redundancy in my post.\n\n--\nDavid Barr.\n"},{"id":"147268","messageId":"AANLkTikaVq8kmOtxcMmfkmmNAMtWJ5h2OuMNb+jR589-@mail.gmail.com","threadId":"24584","inReplyTo":"70D9930D-DDB6-493D-9936-21E9CD4426A2@cordelta.com","subject":"Re: [GSoC update extra!] git-remote-svn: Week 13","fromName":"Sverre Rabbelier","fromEmail":"srabbelier@gmail.com","sentAt":"2010-08-05T22:23:29Z","receivedAt":"2010-08-05T22:23:29Z","isPatch":false,"sender":{"key":"srabbelier@gmail.com","avatar":"https://avatars.githubusercontent.com/u/3098?v=4"},"body":"Heya,\n\nOn Thu, Aug 5, 2010 at 17:15, David Michael Barr\n<david.barr@cordelta.com> wrote:\n> The primary issue is a blob may be repeated in a non-copy operation,\n> requiring its content to be described again. This sort of operation only\n> happens 20% of the time with the ASF repository. We would have to\n> either write out the content again or compute a new delta depending\n> on the target version of the svn dump stream.\n\nAh, you mean that there might be a \"'M' SP <mode> SP <dataref> SP\n<path> LF\" line in a non-copy operation. It should probably be not\nthat hard to teach git fast-export to not do that.\n\n-- \nCheers,\n\nSverre Rabbelier\n"}]}