Fossil SCM
Clarified the "Sync Is All-or-Nothing" section of the gitusers doc, adding a reference to the cap-theorem doc and dropping the "eventually-consistent" buzzword to explain *why* it's all-or-nothing.
Commit
35b2307f9c2794034ff6bdf09c5509efacae3b6b9df4b50a6a68485606cf5637
Parent
ea74c83adc0c163…
1 file changed
+7
-3
+7
-3
| --- www/gitusers.md | ||
| +++ www/gitusers.md | ||
| @@ -624,12 +624,15 @@ | ||
| 624 | 624 | Fossil does not support the concept of syncing, pushing, or pulling |
| 625 | 625 | individual branches. When you sync/push/pull in Fossil, it |
| 626 | 626 | processes all artifacts in its hash tree: |
| 627 | 627 | branches, tags, wiki articles, tickets, forum posts, technotes… |
| 628 | 628 | This is [not quite “everything,” full stop][bu], but it’s close. |
| 629 | +[Fossil is an AP-mode system][capt], which in this case means it works | |
| 630 | +*very hard* to ensure that all repos are as close to identical as it can | |
| 631 | +make them under this eventually-consistent design philosophy. | |
| 629 | 632 | |
| 630 | -Furthermore, branch *names* sync automatically in Fossil, not just the | |
| 633 | +Branch *names* sync automatically in Fossil, not just the | |
| 631 | 634 | content of those branches. That means this common Git command: |
| 632 | 635 | |
| 633 | 636 | git push origin master |
| 634 | 637 | |
| 635 | 638 | …is simply this in Fossil: |
| @@ -636,14 +639,15 @@ | ||
| 636 | 639 | |
| 637 | 640 | fossil push |
| 638 | 641 | |
| 639 | 642 | Fossil doesn’t need to be told what to push or where to push it: it just |
| 640 | 643 | keeps using the same remote server URL you gave it last |
| 641 | -until you [tell it to do something different][rem], and it pushes all | |
| 644 | +until you [tell it to do something different][rem]. It pushes all | |
| 642 | 645 | branches, not just one named local branch. |
| 643 | 646 | |
| 644 | -[rem]: /help?cmd=remote | |
| 647 | +[capt]: ./cap-theorem.md | |
| 648 | +[rem]: /help?cmd=remote | |
| 645 | 649 | |
| 646 | 650 | |
| 647 | 651 | <a id="trunk"></a> |
| 648 | 652 | ## The Main Branch Is Called "`trunk`" |
| 649 | 653 | |
| 650 | 654 |
| --- www/gitusers.md | |
| +++ www/gitusers.md | |
| @@ -624,12 +624,15 @@ | |
| 624 | Fossil does not support the concept of syncing, pushing, or pulling |
| 625 | individual branches. When you sync/push/pull in Fossil, it |
| 626 | processes all artifacts in its hash tree: |
| 627 | branches, tags, wiki articles, tickets, forum posts, technotes… |
| 628 | This is [not quite “everything,” full stop][bu], but it’s close. |
| 629 | |
| 630 | Furthermore, branch *names* sync automatically in Fossil, not just the |
| 631 | content of those branches. That means this common Git command: |
| 632 | |
| 633 | git push origin master |
| 634 | |
| 635 | …is simply this in Fossil: |
| @@ -636,14 +639,15 @@ | |
| 636 | |
| 637 | fossil push |
| 638 | |
| 639 | Fossil doesn’t need to be told what to push or where to push it: it just |
| 640 | keeps using the same remote server URL you gave it last |
| 641 | until you [tell it to do something different][rem], and it pushes all |
| 642 | branches, not just one named local branch. |
| 643 | |
| 644 | [rem]: /help?cmd=remote |
| 645 | |
| 646 | |
| 647 | <a id="trunk"></a> |
| 648 | ## The Main Branch Is Called "`trunk`" |
| 649 | |
| 650 |
| --- www/gitusers.md | |
| +++ www/gitusers.md | |
| @@ -624,12 +624,15 @@ | |
| 624 | Fossil does not support the concept of syncing, pushing, or pulling |
| 625 | individual branches. When you sync/push/pull in Fossil, it |
| 626 | processes all artifacts in its hash tree: |
| 627 | branches, tags, wiki articles, tickets, forum posts, technotes… |
| 628 | This is [not quite “everything,” full stop][bu], but it’s close. |
| 629 | [Fossil is an AP-mode system][capt], which in this case means it works |
| 630 | *very hard* to ensure that all repos are as close to identical as it can |
| 631 | make them under this eventually-consistent design philosophy. |
| 632 | |
| 633 | Branch *names* sync automatically in Fossil, not just the |
| 634 | content of those branches. That means this common Git command: |
| 635 | |
| 636 | git push origin master |
| 637 | |
| 638 | …is simply this in Fossil: |
| @@ -636,14 +639,15 @@ | |
| 639 | |
| 640 | fossil push |
| 641 | |
| 642 | Fossil doesn’t need to be told what to push or where to push it: it just |
| 643 | keeps using the same remote server URL you gave it last |
| 644 | until you [tell it to do something different][rem]. It pushes all |
| 645 | branches, not just one named local branch. |
| 646 | |
| 647 | [capt]: ./cap-theorem.md |
| 648 | [rem]: /help?cmd=remote |
| 649 | |
| 650 | |
| 651 | <a id="trunk"></a> |
| 652 | ## The Main Branch Is Called "`trunk`" |
| 653 | |
| 654 |