Hi Dscho, I`m yet to read (and reason about) your whole (very informative) reply, but I just wanted to address this part first, as it might be a clear end-game situation already, due to a mutual agreement, all the rest being purely academic, interesting, but not any more (that) important to discuss. On 11/03/2018 16:40, Johannes Schindelin wrote: > > > For myself, I do actually favor Sergey`s approach in general, but > > _implemented_ through what Phillip described (or a mixture of both, to > > be precise). But, let me explain... :) > > So as you explained later in this sub-thread, Sergey's approach is > essentially the same as Phillip's. > > I still do not understand Sergey's approach on a fundamental level. I > mean, I can follow his instructions how to implement his algorithm, but it > is as if I had a blindfold on and somebody guided me through a maze: I > understand *what* I am supposed to do, but I have no clue *why*. > > And admittedly, I got very frustrated when a document was thrown my way > that is too long to read in one sitting, and all of my attempts at getting > clear and comprehensible answers to specific questions were met with "go > and read that document, I am sure you will understand then". > > For something as fundamental to my daily workflow as an interactive rebase > (*especially* when trying to maintain the branch topology), this is no > good at all. > > Since you already confirmed that there is essentially no difference > between the two approaches, I will simply go with the one I understand, in > particular I understand *why* it works. > > But let's read on, maybe I will change my mind based on your explanations > (which do answer my questions, thank you so much for that)... No problem, I learned much myself trying to write those explanations in the first place, and I still need to read on yet myself, seeing how well my explanations actually fared :) Thank you for still holding on, though. But I just wanted to point out that you can really just go with what Phillip described if you find that easier to reason about (and/or implement), there`s even no need for mind changing, as essentially, and in my opinion, it seems to be just a bit different implementation of the same concept (but not requiring temporary commits). That said, *if* we decide we like temporary commit U1' == U2' consistency check (especially for non-interactive rebase, maybe), we can produce these after the fact for the sake of the check only. I will come with a follow-up, but all the rest might be less important. Regards, Buga