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