On Tue, Nov 5, 2013 at 12:32 PM, Simon King <simon.k...@uni-jena.de> wrote: > Hi Gonzalo, > > On 2013-11-05, Gonzalo Tornaria <torna...@math.utexas.edu> wrote: >> Example: >> >> 1. A, B are posted in ticket >> 2. purple-sage (or sage-next, or whatever) gets interested in ducks, >> and decides to merge these experimentally >> 3. C is posted in ticket >> 4. review of ticket requests D, E >> 5. author rewrites history to (A+C+D) , (B+E) >> 6. merged in master sage as rewritten >> 7. now purple-sage is screwed up wrt master sage >> >> Of course it wouldn't be too bad to resolve this issue for a few >> tickets, but doing it for a number of them may be quite boring. > > Wait a second. If purple-sage branches off at 2. (hence, if it only knows > about A and B), then it eventually needs to be rebased anyway, because > we now also have C, D, E.
It doesn't need to be rebased. As a general rule, C-D-E would be pulled on top of B and merged with whatever other changes that happened in purple-sage after B. Merging is much more convenient than rebasing because it keeps history around. A practical reason why history is important: merging. To do a proper automatic or assisted merge of two versions of a file, you need a common base version to do 3-way merge (think about it, it really cannot work without a common base version -- how would you distinguish blocks of code that where added in version A from blocks of code that where removed in version B?). If we rewrite history (e.g. doing a rebase instead of a merge) then we complicate merges further down the line. (This is besides all the other good reasons to not rewrite history, e.g. git annotate/blame or git bisect, etc) > That's why I argued: If rebasing of purple-sage with respect to > (A+C+D)-(B+E) is not more difficult than rebasing of purple-sage with > respect to A-B-C-D-E, and since rebasing of purple-sage is certainly > necessary because of the existence of C, D and E in the master branch, > then why do people keep argueing that "changing the history" causes > trouble? It does not cause the trouble, and it does not increase > trouble (at least in this and the previously discussed examples). > > To say it clearly: In the scenario above, you *have* to rebase, with or > without a change of history, and the rebase (if I understand correctly) > is the same effort with or without a change of history. > > Hence, saying that "we need to rebase dependent work" is just not an > argument against rewriting history. Best, Gonzalo -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at http://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/groups/opt_out.