Incorrect handling of interactive rebases with root flag
- From
- Frank Paulo Filho <me@frankpf.com>
- Date
- May 3, 2017, 22:55 UTC
- Message-ID
- <1493852127.2480170.965025544.54B1448D@webmail.messagingengine.com>
If I run an interactive rebase on a branch without the --root flag, git does not modify (change the hash, etc.) any initial commits that are being "pick"ed in the same order. However, if I use --root, every single commit is modified.
Here's an example:
* Old (immediately after running "git rebase -i --root"):
pick d89 root
pick 3e7 bar
pick 57e baz* New (after editing the "git-rebase-todo" file):
pick d89 root
pick 57e baz
pick 3e7 barAfter this, AFAIK, only baz and bar's hashes should change. However, the root commit's hash (d89) also changes.
A simpler way to reproduce this is to just run `git rebase -i --root` and rebase without changing anything. Every commit will be modified.
Is this supposed to happen?