On Wed, Jun 11, 2014 at 1:57 PM, Peter Krefting <peter@xxxxxxxxxxxxxxxx> wrote: > Phil Hord: > > >> What does it mean when you say it worked as expected? Did it leave >> the empty commit, omit the empty commit, or leave some un-squashed >> commit? > > > Actually, it did not work as expected I noted afterward, it just dropped the > reversion commit, and did not squash the next commit into it as I had asked, > so from three commits, "change", "revert", "new-change" I had two, "change", > "new-change" with the end result being the same (i.e., instead of squashing > all three into one "new-change", I had "change" and "revert" + > "new-change"). Did you have a series of three commits being squashed in your to-do list? I mean, did you have a list like this: pick ... do foo squash ... revert "do foo" squash ... What I really meant to do. I suppose the rebase stopped after the first squash failed due to the emptiness of the proposed result. Then rebase --continue proceeded, having decided that you were finished with the 'revert' commit. Then ... I would expect the next commit would actually be squashed, but I can only speculate at the reasons it might have decided not to after your continue. This actually sounds like another case of a bug I reported a few weeks ago[1] and which Fabian Ruch was kindly investigating[2] and trying to fix. I don't think his fix would have helped in this case, but I do think it is worthy of consideration for that same patch series. >> It's not clear to me what --continue _should_ do in this case, but it does >> seem like the two options here should be > > I sort of expect a squashed commit of "change" + "revert" to be an empty > commit, and of "change" + "revert" + "new-change" to be a commit of > "new-change". Yes, but empty commits are discouraged on some projects. If you want your "change + revert = empty" commit to appear after the squash, I would expect you would want to use --keep-empty on your inital rebase command. But I'm not sure that will do what you expected either; it may only keep previously-empty commits during the rebase. [1] http://article.gmane.org/gmane.comp.version-control.git/245688 [2] http://www.mail-archive.com/git%40vger.kernel.org/msg51703.html -- 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