Fix a botched log-message
James Westby
jw+debian at jameswestby.net
Wed Apr 2 21:36:58 BST 2008
On Thu, 2008-04-03 at 05:35 +0900, Stephen J. Turnbull wrote:
> John Arbash Meinel writes:
>
> > I don't know of any distributed VCS that lets you modify commit
> > information such as this. Specifically both Mercurial and Git
> > include the commit message in the sha1sum that identifies the
> > commit. So modifying it genuinely creates a new commit.
>
> But that is not a problem in principle because git object names are
> not intended to be human-memorable, and in some sense git doesn't
> "create" its objects, it "exposes" them. Unless you do git-gc
> --prune, the old commits don't disappear, either. The problem comes
> in because there's no mechanism to propagate the changes in references
> like tags and branch heads to downstream users.
>
...
> This isn't really a rebase, because the tree objects don't change, and
> it's very fast.
>
Yes, it let's you change them in a rebase operation, bzr would let you
do this as well.
You can then decide whether this is changing the existing revision,
or creating a new one that looks a lot like the old one.
The rebase then leaves two problems, the big one that you describe
of not being able to push it out to every branch, and the annoyance
of rebasing derived branches.
This sort of operation could be left as something to do in a rebase,
but you still leave these issues. Solving it by adding the "amendments"
in the case of wanting to amend a message, or ghosts when you want
to obliterate one, are an alternative, but have their own issues.
Thanks,
James
More information about the bazaar
mailing list