What is better way to remove commit from history?

Alexander Belchenko bialix at ukr.net
Tue Mar 18 12:25:12 GMT 2008

James Westby пишет:
> On Tue, 2008-03-18 at 13:01 +0200, Alexander Belchenko wrote:
>> I have some branch where I commit wrong thing. After that I have 5 another commits.
>> And only then I realize that committed file is completely wrong therefore
>> should not be used in real work.
>> I'd like to cleanup history of my branch (rewrite it) to remove that wrong commit.
>> What is the best way to do this? rebase? loom?
> rebase is the strategy to use I think.
> Unfortunately I can't give you exact instructions of how to do it with
> the bzr-rebase tool, sorry.

OK, I found solution: rebase --onto.

I had wrong revno 79, and good revisions after it with revnos 80-82.
So I did this:

bzr rebase -r80..82 --onto 78 .

And this command effectively removes old wrong revno 79 from my history.
Nice :-).

Jelmer, may be it's worth to put such recipe into rebase user manual or FAQ?

Also I found that:

* rebase does not preserve name/email of original committer, though it preserve datestamp
and branch nick. Is it intended behavior?
* rebase does not work correctly with my win32symlinks plugin, but it seems like real
reason of this hides somewhere inside bzrlib. And don't have a time right now to track
down the problem.

More information about the bazaar mailing list