On Tuesday 15 Nov 2005 00:03, Carl Baldwin wrote: > This is fine, I just needed to know. > > How hard is it to, in a generic way, take a grafts file and reconstruct > commits to include the parents in the graft file in the actual tree? I > am wondering because I couldn't, after much work, get git-svnimport to > find my merges correctly. So, I am needing to hand-graft some merges in > to make things right. Any suggestions? I could try to figure something > out if I can find some time. I'm good with graph traversals and such. > I am interested in that question as well. If you recall I was asking on this list about a week ago how to lose history (because it was irrelevent). I at first attemtped to use a graft to bypass all the changes I wanted to loose, but as many of the tools ignored it I gave up. When I looked at whether I could change the history by making a commit that looked like the graft, I came to the conclusion that I would have to do a number of things a) Recreate the commits all the way to the head - because the commits where all stored in a content addressable file store, as soon as the parent link changes it becomes a new commit with a new sha1, so changing a commit in the middle of a stream of branches effectively required you to walk up to the head (difficult because the linkages are the other way) re-creating new commits. b) Understand the topology of all the interlinking commits, and make sure that the two commits I were trying to squash together didn't have any intermediate commits that effectively pointed outside of this space (and when I say "pointed" I mean either via a parent link, OR via a reverse virtual link when some other commits parent link pointed at the commit in question). Because of all of this complexity I gave up and used cg-merge -squash to create the first stage squashed branch and then manually used git-cherry-pick to pick one by one the commits from on top of the old branch and move it to the new one (not so hard there were only about 20 commits in all to move that way). So I am interested to see if my logic for why the complexity was high was correct. -- Alan Chandler http://www.chandlerfamily.org.uk Open Source. It's the difference between trust and antitrust. - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.htmlReceived on Tue Nov 15 19:32:14 2005
This archive was generated by hypermail 2.1.8 : 2005-11-15 19:32:19 EST