git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Chris Webb <chris@arachsys.com>
To: git@vger.kernel.org
Subject: Editing the root commit
Date: Tue, 19 Jun 2012 10:16:58 +0100	[thread overview]
Message-ID: <20120619091657.GA28005@arachsys.com> (raw)

I've recently been polishing up some private code for release, using git
rebase --interactive to expand on some commit messages.

In a couple of cases, I wanted to edit the root commit. (Adding a COPYING
file, for example.) I've been successfully doing this with an explicit

  ROOT=$(git log --pretty=format:%H | tail -n 1)
  git checkout $ROOT
  git commit --amend --message='Initial import modified' # for example
  git rebase --onto HEAD $ROOT master

However, this brought two questions to mind.

The first is whether there's a clever symbolic way to refer to the root of
the current branch, rather than tailing git log output? gitrevisions(7)
doesn't obviously suggest one.

The second question is whether it's possible to use git rebase --interactive
to edit the root commit along with some subsequent ones in one fell swoop?

My fingers half-remember doing something like

  git checkout --orphan rewritten
  git rm -rf
  git rebase --interactive --root --onto rewritten master

a year or so ago, but this now fails (on git 1.7.10) with the somewhat
surprising error

  $ git rebase --root --onto rewritten master
  fatal: Needed a single revision
  Does not point to a valid commit: master

Am I misremembering the recipe here, or has the behaviour changed? It seems
to fail identically with or without --interactive.

Best wishes,

Chris.

             reply	other threads:[~2012-06-19  9:37 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-06-19  9:16 Chris Webb [this message]
2012-06-19 10:09 ` Editing the root commit Junio C Hamano
2012-06-19 11:17   ` Chris Webb
2012-06-20  9:32     ` Chris Webb
2012-06-20 18:25       ` Junio C Hamano
2012-06-20 19:29         ` Jeff King
2012-06-20 19:39           ` Chris Webb
2012-06-20 19:48             ` Jeff King
2012-06-22 20:50               ` Chris Webb
2012-06-22 21:35                 ` Junio C Hamano
2012-06-22 22:02                   ` Chris Webb
2012-06-22 22:26                     ` Chris Webb
2012-06-22 22:50                       ` Junio C Hamano
2012-06-23  7:20                         ` Chris Webb
2012-06-26 15:04                 ` git-commit bug (was Re: Editing the root commit) Chris Webb
2012-06-26 15:06                   ` [PATCH] git-checkout: disallow --detach on unborn branch Chris Webb
2012-06-26 18:08                   ` git-commit bug Junio C Hamano
2012-06-26 13:33               ` Editing the root commit Chris Webb
2012-06-26 13:36                 ` [PATCH 1/2] rebase -i: support --root without --onto Chris Webb
2012-06-26 13:36                   ` [PATCH 2/2] Add tests for rebase -i " Chris Webb
2012-06-26 19:20                   ` [PATCH 1/2] rebase -i: support " Junio C Hamano
2012-06-26 19:38                     ` Chris Webb
2012-06-26 20:05                       ` Junio C Hamano
2012-06-26 20:11                         ` Chris Webb
2012-06-26 21:24                           ` Junio C Hamano
2012-06-26 21:27                             ` Chris Webb
2012-06-20 19:35         ` Editing the root commit Chris Webb
2012-06-25 17:22         ` Martin von Zweigbergk
2012-06-19 11:50 ` jaseem abid

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20120619091657.GA28005@arachsys.com \
    --to=chris@arachsys.com \
    --cc=git@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).