git-svn: What is --follow-parent / --no-follow-parent for?
From: Sebastian Leske <hidden>
Date: 2016-06-15 22:55:22
Hi, on reading the docs of "git-svn", I stumbled across this paragraph:
--follow-parent This is especially helpful when we’re tracking a directory that has been moved around within the repository, or if we started tracking a branch and never tracked the trunk it was descended from. This feature is enabled by default, use --no-follow-parent to disable it.
However, this does not make sense to me: This sounds like there is no
good reason *not* to enable this option. So why is it there? And in
what situation might I want to use "--no-follow-parent"?
As a matter of fact, I'm not even sure what "--no-follow-parent" does
(and the docs don't really say).
I tried it out with a small test repo with a single branch (produced by
copying the trunk, then later deleted). With --follow-parent git-svn
correctly detected the branch point, and modeled the branch deletion as
a merge. With --no-follow-parent it just acted as if branch and trunk
were completely unrelated.
Commit graph of git-svn result:
--follow-parent: --no-follow-parent:
| |
/| | |
/ | | |
| | | |
| | | |
| | | |
\ | | |
\| | |
| |
(please excuse cheap ASCII art)
Is that the only effect of --no-follow-parent? And again, why would I
want that?
I'd be grateful for any clarifications. If I manage to understand the
explanation, I'll volunteer to summarize it into doc patch (if there are
no objections).