In today's adventure we follow junior user me as he sets off in his first bumper car ride on the wrong side of git-rebase, wherein he discovers there are no guard rails. git version 1.6.0.6. $ git branch * jidanni master $ git commit -m bla --allow-empty $ git rebase --interactive master (In the editor I change the single pick offered into a squash) grep: ....git/rebase-merge/done: No such file or directory Cannot 'squash' without a previous commit (OK, but the grep error being shown to the user is a bug.) $ git show --abbrev-commit --pretty=raw jidanni master commit 07aef4a... tree 28f9caca33a8294d36b3d42f21ff472c6126da16 parent 3ad166e006afc3ce57a35b6ac650569e557b024a... commit 3ad166e... tree 28f9caca33a8294d36b3d42f21ff472c6126da16 parent 726f8d08e2f7642d56a568eb82a685de0da0baf7 $ EDITOR=cat git rebase --interactive master pick 07aef4a This is a commit with No files, wow. bla. # Rebase 3ad166e..07aef4a onto 3ad166e ... Successfully rebased and updated refs/heads/jidanni. (But it didn't. git show shows no change. ls -l shows refs/heads/jidanni was not touched. OK, it seems like all I am doing is changing A jidanni / D---E---F---G master into the same thing, a noop. But shouldn't it warn and quit, instead of rewarding me with the success message? Let's try it the other way around: $ git checkout master $ git rebase --interactive jidanni #Wherein one sees: noop # Rebase 07aef4a..3ad166e onto 07aef4a Successfully rebased and updated refs/heads/master. OK, now I have achieved D---E---F---G---A master, jidanni Observations: When I tried a noop, it didn't say noop in the editor. When I tried a yesop, it did say noop in the editor. In both cases it gave the same success message. -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html