From: Junio C Hamano Date: Tue, 12 Jun 2007 07:34:24 GMT Subject: Re: git-svn set-tree bug Message-ID: <7v1wghlj7j.fsf@assigned-by-dhcp.pobox.com> In-Reply-To: <20070612072035.GA29385@muzzle> Eric Wong writes: > If dcommit detects a merge commit when doing rev-list When looking at > commit objects, is it safe to assume that the first parent is always the > "mainline" and that parents after it are the ones to merge from? > > So if I saw: > > commit $X > parent $A > parent $B > > I'd basically do: > reset --hard $A > merge --squash $B > > And resulting in $C which would have the same tree as $X, > then, when dcommit-ting, $D would be created with two parents: > $D~1 (svn), $B (git), but not $A I am not sure what you mean by "mainline", but I assume that you mean "SVN is the main and we are tracking it while taking advantage of more efficient and merge-capable git in guerrilla fashion". Because the tip of the current branch is what the user is pushing back to SVN via dcommit, I would say it is safe to assume that the first parent of such a merge is the line that corresponds to the SVN branch you are keeping track.