# HG changeset patch # User Pierre-Yves David # Date 1348567608 -7200 # Node ID 4f5562c926302fd1d286f921c7688164bac6234b # Parent dc107acd0bd294d57f10b4b6baca55715b4cee9b more schema diff -r dc107acd0bd2 -r 4f5562c92630 docs/figures/edit-is-rewrite-step1.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/docs/figures/edit-is-rewrite-step1.svg Tue Sep 25 12:06:48 2012 +0200 @@ -0,0 +1,509 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + ";Alice;Babar"19b08111 + + + + "19b08111;Alice;Babar,Celeste"925d8319 + + + + "6fcdd7fe;Bob;Babar"⟶ebc2b5a1 + + + + "925d8319;Alice;Babar,Celeste,flore"6fcdd7fe + + + + + + + diff -r dc107acd0bd2 -r 4f5562c92630 docs/figures/edit-is-rewrite-step2.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/docs/figures/edit-is-rewrite-step2.svg Tue Sep 25 12:06:48 2012 +0200 @@ -0,0 +1,832 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + ";Alice;Babar"19b08111 + + + + "19b08111;Alice;Babar,Celeste"925d8319 + + + + "6fcdd7fe;Bob;Babar"⟶ebc2b5a1 + + + + "925d8319;Alice;Babar,Celeste,flore"6fcdd7fe + + + + + + + "19b08111;Bob;Babar,Celeste"1a25964c + + + + "6d9e1549;Bob;Babar"dda72e36 + + + + "1a25964c;Alice;Babar,Celeste,Flore"6d9e1549 + + + + + + diff -r dc107acd0bd2 -r 4f5562c92630 docs/figures/explain-troubles-concurrent-10-solution.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/docs/figures/explain-troubles-concurrent-10-solution.svg Tue Sep 25 12:06:48 2012 +0200 @@ -0,0 +1,929 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + B + + + + A + + + + Z + + + + + + B' + + + + B'' + + + + + + + + + + B + + + + A + + + + Z + + + + + + B' + + + + B'' + + + + + + + + + + + + B + + + + B' + + + + B'' + + + + B* + + + + + + + + B* + + + diff -r dc107acd0bd2 -r 4f5562c92630 docs/figures/explain-troubles-concurrent-10-sumup.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/docs/figures/explain-troubles-concurrent-10-sumup.svg Tue Sep 25 12:06:48 2012 +0200 @@ -0,0 +1,1451 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + Local + Distant + final = divergent + + + + + initial + + + + B + + + + A + + + + Z + + + + + + + + B + + + + A + + + + Z + + + + + + B' + + + + + + + + B + + + + A + + + + Z + + + + + + B'' + + + + + + + + B + + + + A + + + + Z + + + + + + B' + + + + B'' + + + + + + + + diff -r dc107acd0bd2 -r 4f5562c92630 docs/figures/explain-troubles-latecomer-10-sumup.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/docs/figures/explain-troubles-latecomer-10-sumup.svg Tue Sep 25 12:06:48 2012 +0200 @@ -0,0 +1,1039 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + Local + Distant + final = tardif + + + + + + + + A + + + + Z + + + + + + + A + + + + Z + + + + + A' + + + + + initial + + + + v4.2 + + + + A + + + + Z + + + + + + A' + + + + + + + + v4.2 + + + + A + + + + Z + + + + + + diff -r dc107acd0bd2 -r 4f5562c92630 docs/figures/explain-troubles-latecomer-15-solution.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/docs/figures/explain-troubles-latecomer-15-solution.svg Tue Sep 25 12:06:48 2012 +0200 @@ -0,0 +1,994 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + v4.2 + + + + A + + + + Z + + + + + + A' + + + + + + + + + v4.2 + + + + A + + + + Z + + + + + + A' + + Aᵟ + + + + + + + + diff -r dc107acd0bd2 -r 4f5562c92630 docs/figures/explain-troubles-unstable-10-sumup.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/docs/figures/explain-troubles-unstable-10-sumup.svg Tue Sep 25 12:06:48 2012 +0200 @@ -0,0 +1,1101 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + B + + + + A + + + + Z + + + + + + B' + + + + A' + + + + + + + Local + + + + + + B + + + + A + + + + Z + + + + + + C + + + + Distant + + + + + + + B + + + + A + + + + Z + + + + + + B' + + + + A' + + + + + + + + C + + + + final = instable + + + + + + B + + + + A + + + + Z + + + + + initial + + + + + + + diff -r dc107acd0bd2 -r 4f5562c92630 docs/figures/explain-troubles-unstable-15-solution.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/docs/figures/explain-troubles-unstable-15-solution.svg Tue Sep 25 12:06:48 2012 +0200 @@ -0,0 +1,1006 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + B + + + + A + + + + Z + + + + + + B' + + + + A' + + + + + + + + C + + + + + + + B + + + + A + + + + Z + + + + + + B' + + + + A' + + + + + + + + C + + + + + C' + + + + + + diff -r dc107acd0bd2 -r 4f5562c92630 docs/figures/git.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/docs/figures/git.svg Tue Sep 25 12:06:48 2012 +0200 @@ -0,0 +1,863 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + B + + + + A + + + + Z + + + + + + B' + + + + A' + + + + + + + + + + + + B + + + + A + + + + Z + + + + + + B' + + + + A' + + + + + + C + + + + + feature-babar + other/feature-babar + feature-babar + + diff -r dc107acd0bd2 -r 4f5562c92630 docs/instability.rst --- a/docs/instability.rst Wed Sep 19 15:28:35 2012 +0200 +++ b/docs/instability.rst Tue Sep 25 12:06:48 2012 +0200 @@ -32,9 +32,8 @@ changing B content too. This requires the creation of **another** changeset, which is semantically good. -:: +.. figure:: ./figures/edit-is-rewrite-step2.svg - Schema base, A, B and B' To avoid duplication, the older changeset is usually discarded from accessible history. I'm calling them *obsolete* changesets. @@ -116,7 +115,7 @@ This allow much more flexible workflow but two major feature are lost in the process: -:Graceful merge: MQ use plain-patch to store changeset content and patch have +:graceful merge: MQ use plain-patch to store changeset content and patch have trouble to apply in changing context. Applying your queue becomes very painful when context changes. diff -r dc107acd0bd2 -r 4f5562c92630 docs/obs-concept.rst --- a/docs/obs-concept.rst Wed Sep 19 15:28:35 2012 +0200 +++ b/docs/obs-concept.rst Tue Sep 25 12:06:48 2012 +0200 @@ -57,15 +57,8 @@ *meaningful*. -.. warning:: add a schema:: +.. figure:: ./figures/git.* - C - | B--- - |/ - | - A - - Only B and A are visible. This simplifies the process of getting rid of old changesets. You can just leave them in place and move the reference on the new one. You @@ -300,8 +293,7 @@ will keep the same parent than `A'` and `A''` with two obsolete markers pointing to both `A` and `A'` -.. warning:: TODO: Add a schema of the resolution. (merge A' and A'' with A as - ancestor and graft the result of A^) +.. figure:: ./figures/explain-troubles-concurrent-10-solution.* Allowing multiple new changesets to obsolete a single one allows to distinguish a split changeset from a history rewriting conflict. @@ -325,12 +317,14 @@ * *newer* version of a public changeset are called **latecomer** and highlighted as an error case. +.. figure:: ./figures/explain-troubles-concurrent-10-sumup.* + Solving such an error is easy. Because we know what changeset a *latecomer* tries to rewrite, we can easily compute a smaller changeset containing only the change from the old *public* to the new *latecomer*. -.. warning:: add a schema +.. figure:: ./figures/explain-troubles-concurrent-15-solution.* Conclusion