On Sun, Dec 24, 2017 at 12:01:38AM +0100, Johannes Schindelin wrote: > Hi Carl, > > On Sat, 23 Dec 2017, Carl Baldwin wrote: > > > I imagine that a "git commit --amend" would also insert a "replaces" > > reference to the original commit but I failed to mention that in my > > original post. > > And cherry-pick, too, of course. This brings up a good point. I do think this can be applied to cherry-pick, but as someone else pointed out, the name "replaces" doesn't seem right in the context of a cherry-pick. So, maybe "replaces" is not the right name. I'm open to suggestions. It occurs to me now that the reason that I want a separate, orthogonal history dimension is that a "replaces" reference does not imply that the referenced commit is pulled in with all of its history like a "parent" reference does. It isn't creating a merge commit. It means that the referenced commit is derived from the other one and, at least in the context of this branch's main history, renders it obsolete. Given this definition, I think it applies to a cherry-pick. > Both of these examples hint at a rather huge urge of some users to turn > this feature off because the referenced commits may very well be > throw-away commits in their case, making the newly-recorded information > completely undesired. I certainly don't want to make it difficult to get rid of throw-away commits. The workflows I'm interested in are mostly around iterating on what will end up looking like a single commit in the final history. I'm imagining posting a change, (or changes) somewhere to be reviewed by others. Others submit feedback and I continue iterating given the feedback. If certain intermediate throw-away commits have only been seen locally by the author, they could be squashed into a single minimal new update. I'm diving deeper into these workflows in my reply to Theodore. To avoid fragmenting my ideas too much, I'll take the details over to that reply. I hope to finished that soon. Carl