From: Vitor Antunes Date: Wed, 09 Mar 2011 14:21:05 GMT Subject: Re: git fast-import : How to change parent during import? Message-ID: In-Reply-To: <20110308222328.GE26471@elie> Hi Jonathan, On Tue, Mar 8, 2011 at 10:23 PM, Jonathan Nieder wrote: > It's likely I misunderstood what you're trying to do.  If you have > some work in progress, I'd be glad to look at it. > > Anyway, concerning tag fixup branches: git://repo.or.cz/cvs2svn.git > has an example in cvs2svn_lib/git_output_option.py::process_tag_commit. > The idea is to make commits that don't belong to any branch on a > separate TAG_FIXUP ref, using the "reset" command where appropriate; > then the resulting commits can be inspected, merged, reset to, or used > in some other way later. > > The "tag fixup" idea is that in VCSes like CVS, tags do not > necessarily match the content on any branch.  So the history looks > somewhat like so (time flowing left to right): > >                     TAG >                    / >  o --- o --- o --- o --- o --- o ... > > instead of the perhaps more sensible > >  o --- o --- o --- TAG --- o --- o ... > > The side branch leading up to a tag does not correspond to any branch > name; after it is in the correct state one can use the "tag" command > to get it remembered in permanent history.  The same technique might > be useful whenever you are creating history that is not meant to stay > permanently on any branch. I think I understood the idea behind TAG_FIXUP and I think it can be a better solution for my problem. I could make the commit into TAG_FIXUP, search for a better parent in the source branch and then reset it to that parent or rebase it over any other commit. I'll try to do this in the following days, so I will most likely come back with more doubts :) Thanks, -- Vitor Antunes