48
lost, and the effect of the move would be equivalent to the deletion of the original source
text (including author B’s interpolation) and the insertion of the text that was visible to
author Aat the time the system recorded her editing change. Alternatively, the result might
be the insertion of author B’s interpolation in the gap left by author A’s move; this would
make little sense in either scenario, since B’s insertion is unlikely to make sense without the
items that were adjacent to it at its time of insertion.
Figure 2.1 shows several versions of a sentence. Version A is the original sentence. Two
collaborators revise it to versions B and C (making some deletions and additions, and moving
the string “earrangement ”). If the move is a dynamic operation the result of merging these
edits is as shown in E. If the move operation is a static one, the result is just B. The addition
of the word “extending” is deleted by the move operation, and cannot be retrieved in any
version that includes the move. Allowing an insertion to be visible if it is covered by a move
operation gives the result D.
A. In writing an awkward sentence, rearranging it is helpful.
B. Rearranging an awkward sentence is helpful.
C. In writing an awkward sentence, rearranging and extending it is helpful.
D. Rearranging an awkward sentence and extending is helpful.
E. Rearranging and extending an awkward sentence is helpful.
F F F F iii ig g g gu u u ur r r re e e e 2222....1111:::: AAAA sssseeeennnntttteeeennnncccceeee,,,, ttttwwwwoooo eeeeddddiiiittttssss ttttoooo iiiitttt,,,, aaaannnndddd ttttwwwwoooo mmmmeeeerrrrggggeeee rrrreeeessssuuuullllttttssss
Frozen operations are sometimes preferable to dynamic ones, since their effects are com-
pletely predictable, no matter what history they are present in; other changes in a history
will not modify their effects. On the other hand, as the example shows, change propagation
can be tremendously useful in preserving the intention of an operation. Dynamic changes
can avoid the loss of potentially important editing operations and avoid the need to dis-
cover, re-create, and re-execute them during a merge process. Dynamism is also much easier
lost, and the effect of the move would be equivalent to the deletion of the original source
text (including author B’s interpolation) and the insertion of the text that was visible to
author Aat the time the system recorded her editing change. Alternatively, the result might
be the insertion of author B’s interpolation in the gap left by author A’s move; this would
make little sense in either scenario, since B’s insertion is unlikely to make sense without the
items that were adjacent to it at its time of insertion.
Figure 2.1 shows several versions of a sentence. Version A is the original sentence. Two
collaborators revise it to versions B and C (making some deletions and additions, and moving
the string “earrangement ”). If the move is a dynamic operation the result of merging these
edits is as shown in E. If the move operation is a static one, the result is just B. The addition
of the word “extending” is deleted by the move operation, and cannot be retrieved in any
version that includes the move. Allowing an insertion to be visible if it is covered by a move
operation gives the result D.
A. In writing an awkward sentence, rearranging it is helpful.
B. Rearranging an awkward sentence is helpful.
C. In writing an awkward sentence, rearranging and extending it is helpful.
D. Rearranging an awkward sentence and extending is helpful.
E. Rearranging and extending an awkward sentence is helpful.
F F F F iii ig g g gu u u ur r r re e e e 2222....1111:::: AAAA sssseeeennnntttteeeennnncccceeee,,,, ttttwwwwoooo eeeeddddiiiittttssss ttttoooo iiiitttt,,,, aaaannnndddd ttttwwwwoooo mmmmeeeerrrrggggeeee rrrreeeessssuuuullllttttssss
Frozen operations are sometimes preferable to dynamic ones, since their effects are com-
pletely predictable, no matter what history they are present in; other changes in a history
will not modify their effects. On the other hand, as the example shows, change propagation
can be tremendously useful in preserving the intention of an operation. Dynamic changes
can avoid the loss of potentially important editing operations and avoid the need to dis-
cover, re-create, and re-execute them during a merge process. Dynamism is also much easier