> From: Bernard Clark <berniecla...@gmail.com>
> 
> I've been running the git filter-branch described here 
> <http://stackoverflow.com/questions/14759345/how-to-split-a-git-repository-and-follow-directory-renames.>
> . But the resulting history includes at least two extraneous commits, i.e., 
> commits that appear to affect no files in the subdirectory of interest. 
> (The corresponding commits in the original history do affect files, but 
> those files are in another subdirectory.)

My guess is that the inner script doesn't correctlty notice that one
of the old commits, when limited to the subdirectory, doesn't change
anythihng, and does not signal to the wrapper that no new commit needs
to be created.

(Hmmmm, that could be messy if the old commit was a merge commit,
because you'd need a new commit to record the merge, even if no file
is changed (relative to one parent).)

> I also noticed the occurrence of several "duplicate parent" errors during 
> the git filter-branch. This page 
> <http://stackoverflow.com/questions/15161809/git-duplicate-parent-causes-half-the-history-to-to-disappear>
>  
> says that those errors can produce an incomplete new history, so I'm now 
> wondering if, in addition to including extraneous commits, my new history 
> might also be missing some. Along with this page 
> <http://stackoverflow.com/questions/7489713/git-duplicate-parent/7501703#7501703>,
>  
> the page says that the "duplicate parent" errors should disappear if "git 
> filter-branch" is first run with no filter. But that didn't work for me.
> 
> Thoughts?

It could be messy -- as you create new commits, sometimes two old
commits will map into identical new commits.  If filter-branch notices
that, it might wind up giving that one new commit twice as parents of
a new commit.  Does filter-branch have a strategy for dealing with
that?

I'd sit down and draw a diagram of what the new commit structure
*should* look like, together with the mapping from the old commits,
and then see whether filter-branch's output matches what you expect.
That should show you the specific situations that are causing the
problem, and may allow you to deduce how filter-branch is handling
them.

Dale

-- 
You received this message because you are subscribed to the Google Groups "Git 
for human beings" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to git-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to