From: Junio C Hamano Date: Fri, 27 Jun 2008 21:51:49 GMT Subject: Re: is rebase the same as merging every commit? Message-ID: <7vskuypmve.fsf@gitster.siamese.dyndns.org> In-Reply-To: <20080627193328.6117@nanako3.lavabit.com> しらいしななこ writes: > Quoting Junio C Hamano : > >> "David Jeske" writes: >> >>> If I understand it right (and that's a BIG if), it's the same as doing a merge >>> of C into G where every individual commit in the C-line is individually >>> committed into the new C' line. >>> >>> ...........-------------A---B---C >>> ........../ / / / >>> ........./ /---A'--B'--C' topic >>> ......../ / >>> ....D---E---F---G - master >>> >>> >>> (1) Is the above model a valid explanation? >> >> I would presume that the resulting trees A' in the second picture and in >> the first picture would be the same, so are B' and C'. But that is only >> true when commits between A and C do not have any duplicate with the >> development that happened between E and G. > > Sorry, but I think you are wrong, Junio. > ... > I agree that your explanation why A is not recorded as a parent of A' is > right for the philosophical reason (the purpose of rebasing to create A' > is so that you do not have to record them). But from the point-of-view > of correctness of commit history, I think A must not be recorded as a > parent of A', either. All correct. Sorry about the confusion.