Re: Editing the root commit
- From
Chris Webb <chris@arachsys.com>
- Date
- Jun 19, 2012, 11:17 UTC
- Message-ID
- <20120619111709.GC10692@arachsys.com>
- In-Reply-To
- <7vy5nj1uld.fsf@alter.siamese.dyndns.org>
Junio C Hamano <gitster@pobox.com> writes:
[symbolic reference to root commit]
> Also there is a more important question: Which root commit? There > does not necessarily have to be a single "the root" commit in the > history.
Ah yes, very good point. Anything with a subtree merge would have several roots, for example.
I suppose the thing that makes root commits special is their lack of parents, so the most direct way to get a list of root commits for the current branch would just be
git rev-list --max-parents=0 HEAD
making the recipe
ROOT=$(git rev-list --max-parents=0 master) git checkout "$ROOT" -- # will fail if more than one root git commit --amend git rebase [--interactive] --onto HEAD "$ROOT" master
Show 8 quoted lines
> I personally think "git rebase -i --root" should be made to just > work without requiring "--onto" and let you "edit" even the first > one in the history. It is understandable that nobody bothered, as > people are a lot less often rewriting near the very beginning of the > history than otherwise. > > Even though I wouldn't bother doing this myself, I wouldn't mind > reviewing a patch series ;-)
Okay, I'll take a look when I finish my current project!
Best wishes,
Chris.