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.

wyoung 2023-05-12 11:38 trunk
Commit 35b2307f9c2794034ff6bdf09c5509efacae3b6b9df4b50a6a68485606cf5637
1 file changed +7 -3
+7 -3
--- www/gitusers.md
+++ www/gitusers.md
@@ -624,12 +624,15 @@
624624
Fossil does not support the concept of syncing, pushing, or pulling
625625
individual branches. When you sync/push/pull in Fossil, it
626626
processes all artifacts in its hash tree:
627627
branches, tags, wiki articles, tickets, forum posts, technotes…
628628
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.
629632
630
-Furthermore, branch *names* sync automatically in Fossil, not just the
633
+Branch *names* sync automatically in Fossil, not just the
631634
content of those branches. That means this common Git command:
632635
633636
git push origin master
634637
635638
…is simply this in Fossil:
@@ -636,14 +639,15 @@
636639
637640
fossil push
638641
639642
Fossil doesn’t need to be told what to push or where to push it: it just
640643
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
642645
branches, not just one named local branch.
643646
644
-[rem]: /help?cmd=remote
647
+[capt]: ./cap-theorem.md
648
+[rem]: /help?cmd=remote
645649
646650
647651
<a id="trunk"></a>
648652
## The Main Branch Is Called "`trunk`"
649653
650654
--- 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

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button