{"thread":{"id":"45863","subject":"Incorrect handling of interactive rebases with root flag","startedAt":"2017-05-03T22:55:33Z","lastAt":"2017-05-03T22:55:33Z","messageCount":1,"participants":["Frank Paulo Filho"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"318706","messageId":"1493852127.2480170.965025544.54B1448D@webmail.messagingengine.com","threadId":"45863","inReplyTo":null,"subject":"Incorrect handling of interactive rebases with root flag","fromName":"Frank Paulo Filho","fromEmail":"me@frankpf.com","sentAt":"2017-05-03T22:55:27Z","receivedAt":"2017-05-03T22:55:33Z","isPatch":false,"sender":{"key":"me@frankpf.com","avatar":null},"body":"If I run an interactive rebase on a branch without the --root flag, git\ndoes not modify (change the hash, etc.) any initial commits that are\nbeing \"pick\"ed in the same order. However, if I use --root, every single\ncommit is modified. \n\nHere's an example:\n\n* Old (immediately after running \"git rebase -i --root\"):\n    pick d89 root\n    pick 3e7 bar\n    pick 57e baz\n\n* New (after editing the \"git-rebase-todo\" file):\n    pick d89 root\n    pick 57e baz\n    pick 3e7 bar\n\nAfter this, AFAIK, only baz and bar's hashes should change. However, the\nroot commit's hash (d89) also changes.\n\nA simpler way to reproduce this is to just run `git rebase -i  --root`\nand rebase without changing anything. Every commit will be modified.\n\nIs this supposed to happen?\n"}]}