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.

Reply via email to