{"thread":{"id":"32150","subject":"git-svn: What is --follow-parent / --no-follow-parent for?","startedAt":"2012-11-20T07:31:53Z","lastAt":"2012-11-28T23:59:43Z","messageCount":4,"participants":["Sebastian Leske","Steven Michalske","Eric Wong"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"203543","messageId":"20121120073153.GA340@localhost","threadId":"32150","inReplyTo":null,"subject":"git-svn: What is --follow-parent / --no-follow-parent for?","fromName":"Sebastian Leske","fromEmail":"sebastian.leske@sleske.name","sentAt":"2012-11-20T07:31:53Z","receivedAt":"2012-11-20T07:31:53Z","isPatch":false,"sender":{"key":"sebastian.leske@sleske.name","avatar":"https://avatars.githubusercontent.com/u/1101993?v=4"},"body":"Hi,\n\non reading the docs of \"git-svn\", I stumbled across this paragraph:\n\n> --follow-parent\n> This is especially helpful when we’re tracking a directory that has been\n> moved around within the repository, or if we started tracking a branch\n> and never tracked the trunk it was descended from.  This feature is\n> enabled by default, use --no-follow-parent to disable it.\n\nHowever, this does not make sense to me: This sounds like there is no\ngood reason *not* to enable this option.  So why is it there? And in\nwhat situation might I want to use \"--no-follow-parent\"?\n\nAs a matter of fact, I'm not even sure what \"--no-follow-parent\" does\n(and the docs don't really say). \n\nI tried it out with a small test repo with a single branch (produced by\ncopying the trunk, then later deleted). With --follow-parent git-svn\ncorrectly detected the branch point, and modeled the branch deletion as\na merge. With --no-follow-parent it just acted as if branch and trunk\nwere completely unrelated.\n\nCommit graph of git-svn result:\n\n--follow-parent:               --no-follow-parent:\n\n\n       |                               |\n      /|                             | |\n     / |                             | |\n     | |                             | |\n     | |                             | |\n     | |                             | |\n     \\ |                             | |\n      \\|                             | |\n       |                               | \n\n\n(please excuse cheap ASCII art)\n\nIs that the only effect of --no-follow-parent? And again, why would I\nwant that?\n\nI'd be grateful for any clarifications. If I manage to understand the\nexplanation, I'll volunteer to summarize it into doc patch (if there are\nno objections).\n"},{"id":"204153","messageId":"E58261F3-F7E6-4F5B-A2D7-71E808EC6071@gmail.com","threadId":"32150","inReplyTo":"20121120073153.GA340@localhost","subject":"Re: git-svn: What is --follow-parent / --no-follow-parent for?","fromName":"Steven Michalske","fromEmail":"smichalske@gmail.com","sentAt":"2012-11-28T10:18:17Z","receivedAt":"2012-11-28T10:18:17Z","isPatch":false,"sender":{"key":"smichalske@gmail.com","avatar":"https://gravatar.com/avatar/721f27456adc9ac84f3bb235f021a70015abb9e09222ae8622fc5579c6a203c1?d=mp&s=160"},"body":"\nOn Nov 19, 2012, at 11:31 PM, Sebastian Leske <Sebastian.Leske@sleske.name> wrote:\n> \n> Commit graph of git-svn result:\n> \n> --follow-parent:               --no-follow-parent:\n> \n> \n>       |                               |\n>      /|                             | |\n>     / |                             | |\n>     | |                             | |\n>     | |                             | |\n>     | |                             | |\n>     \\ |                             | |\n>      \\|                             | |\n>       |                               | \n> \n> \n> (please excuse cheap ASCII art)\n> \n> Is that the only effect of --no-follow-parent? And again, why would I\n> want that?\n\nI suppose that you would want this for a SVN repo that holds many different and possibly loosely related projects.\nThe you can apply git filter branch then to split them up cleanly.\n\ne.g. Imagine that the two root commits of the branches do not have true common history.\n\nSteve\n"},{"id":"204205","messageId":"20121128212044.GA18206@dcvr.yhbt.net","threadId":"32150","inReplyTo":"20121120073153.GA340@localhost","subject":"Re: git-svn: What is --follow-parent / --no-follow-parent for?","fromName":"Eric Wong","fromEmail":"normalperson@yhbt.net","sentAt":"2012-11-28T21:20:44Z","receivedAt":"2012-11-28T21:20:44Z","isPatch":false,"sender":{"key":"e@80x24.org","avatar":null},"body":"Sebastian Leske <Sebastian.Leske@sleske.name> wrote:\n> However, this does not make sense to me: This sounds like there is no\n> good reason *not* to enable this option.  So why is it there? And in\n> what situation might I want to use \"--no-follow-parent\"?\n\nSpeed.  Following long/convoluted histories can take a long time.\nSometimes the user doesn't care about ancient history.\n"},{"id":"204227","messageId":"20121128235943.GA1165@localhost","threadId":"32150","inReplyTo":"20121120073153.GA340@localhost","subject":"Re: git-svn: What is --follow-parent / --no-follow-parent for?","fromName":"Sebastian Leske","fromEmail":"sebastian.leske@sleske.name","sentAt":"2012-11-28T23:59:43Z","receivedAt":"2012-11-28T23:59:43Z","isPatch":false,"sender":{"key":"sebastian.leske@sleske.name","avatar":"https://avatars.githubusercontent.com/u/1101993?v=4"},"body":"Hi Steven, hi Eric,\n\nthanks for your explanations. I'll try to update my doc patch to include\nthem.\n"}]}