Fossil SCM

Moved the "sync is all-or-nothing" section of the gitusers doc above the autosync section. The order of those two isn't important, and it's better that autosync flow immediately into the new "reset" section without this as a digression.

wyoung 2023-05-13 18:31 trunk
Commit b47b96a0eb5b5b46dbd97f4e857516cc3e7fcb5459387aff165951b6c5d6a277
1 file changed +31 -31
+31 -31
--- www/gitusers.md
+++ www/gitusers.md
@@ -575,10 +575,40 @@
575575
indeed to any other Fossil command documented to accept a `VERSION` or
576576
`NAME` string.)
577577
578578
[scin]: ./checkin_names.wiki
579579
580
+
581
+<a id="syncall"></a>
582
+## Sync Is All-or-Nothing
583
+
584
+Fossil does not support the concept of syncing, pushing, or pulling
585
+individual branches. When you sync/push/pull in Fossil, it
586
+processes all artifacts in its hash tree:
587
+branches, tags, wiki articles, tickets, forum posts, technotes…
588
+This is [not quite “everything,” full stop][bu], but it’s close.
589
+[Fossil is an AP-mode system][capt], which in this case means it works
590
+*very hard* to ensure that all repos are as close to identical as it can
591
+make them under this eventually-consistent design philosophy.
592
+
593
+Branch *names* sync automatically in Fossil, not just the
594
+content of those branches. That means this common Git command:
595
+
596
+ git push origin master
597
+
598
+…is simply this in Fossil:
599
+
600
+ fossil push
601
+
602
+Fossil doesn’t need to be told what to push or where to push it: it just
603
+keeps using the same remote server URL you gave it last
604
+until you [tell it to do something different][rem]. It pushes all
605
+branches, not just one named local branch.
606
+
607
+[capt]: ./cap-theorem.md
608
+[rem]: /help?cmd=remote
609
+
580610
581611
<a id="autosync"></a>
582612
## Autosync
583613
584614
Fossil’s [autosync][wflow] feature, normally enabled, has no
@@ -646,46 +676,16 @@
646676
[bu]: ./backup.md
647677
[forks]: ./branching.wiki
648678
[setup]: ./caps/admin-v-setup.md#apsu
649679
[wflow]: ./concepts.wiki#workflow
650680
651
-
652
-<a id="syncall"></a>
653
-## Sync Is All-or-Nothing
654
-
655
-Fossil does not support the concept of syncing, pushing, or pulling
656
-individual branches. When you sync/push/pull in Fossil, it
657
-processes all artifacts in its hash tree:
658
-branches, tags, wiki articles, tickets, forum posts, technotes…
659
-This is [not quite “everything,” full stop][bu], but it’s close.
660
-[Fossil is an AP-mode system][capt], which in this case means it works
661
-*very hard* to ensure that all repos are as close to identical as it can
662
-make them under this eventually-consistent design philosophy.
663
-
664
-Branch *names* sync automatically in Fossil, not just the
665
-content of those branches. That means this common Git command:
666
-
667
- git push origin master
668
-
669
-…is simply this in Fossil:
670
-
671
- fossil push
672
-
673
-Fossil doesn’t need to be told what to push or where to push it: it just
674
-keeps using the same remote server URL you gave it last
675
-until you [tell it to do something different][rem]. It pushes all
676
-branches, not just one named local branch.
677
-
678
-[capt]: ./cap-theorem.md
679
-[rem]: /help?cmd=remote
680
-
681681
682682
<a id="reset"></a>
683683
## Resetting the Repository
684684
685685
Extending from [the prior item](#syncall), you may correctly infer that
686
-“[delete the project, and download a fresh copy][x1597]” has no part in
686
+“[delete the project and download a fresh copy][x1597]” has no part in
687687
the Fossil Way. Ideally, you should never find yourself forced into
688688
desperate measures like this:(^Parsing the output of `fossil status` is
689689
usually a mistake since it relies on a potentially unstable interface.
690690
We make no guarantee that there will always be a line beginning with
691691
“`repo`” and that it will be separated from the repository’s file name
692692
--- www/gitusers.md
+++ www/gitusers.md
@@ -575,10 +575,40 @@
575 indeed to any other Fossil command documented to accept a `VERSION` or
576 `NAME` string.)
577
578 [scin]: ./checkin_names.wiki
579
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
580
581 <a id="autosync"></a>
582 ## Autosync
583
584 Fossil’s [autosync][wflow] feature, normally enabled, has no
@@ -646,46 +676,16 @@
646 [bu]: ./backup.md
647 [forks]: ./branching.wiki
648 [setup]: ./caps/admin-v-setup.md#apsu
649 [wflow]: ./concepts.wiki#workflow
650
651
652 <a id="syncall"></a>
653 ## Sync Is All-or-Nothing
654
655 Fossil does not support the concept of syncing, pushing, or pulling
656 individual branches. When you sync/push/pull in Fossil, it
657 processes all artifacts in its hash tree:
658 branches, tags, wiki articles, tickets, forum posts, technotes…
659 This is [not quite “everything,” full stop][bu], but it’s close.
660 [Fossil is an AP-mode system][capt], which in this case means it works
661 *very hard* to ensure that all repos are as close to identical as it can
662 make them under this eventually-consistent design philosophy.
663
664 Branch *names* sync automatically in Fossil, not just the
665 content of those branches. That means this common Git command:
666
667 git push origin master
668
669 …is simply this in Fossil:
670
671 fossil push
672
673 Fossil doesn’t need to be told what to push or where to push it: it just
674 keeps using the same remote server URL you gave it last
675 until you [tell it to do something different][rem]. It pushes all
676 branches, not just one named local branch.
677
678 [capt]: ./cap-theorem.md
679 [rem]: /help?cmd=remote
680
681
682 <a id="reset"></a>
683 ## Resetting the Repository
684
685 Extending from [the prior item](#syncall), you may correctly infer that
686 “[delete the project, and download a fresh copy][x1597]” has no part in
687 the Fossil Way. Ideally, you should never find yourself forced into
688 desperate measures like this:(^Parsing the output of `fossil status` is
689 usually a mistake since it relies on a potentially unstable interface.
690 We make no guarantee that there will always be a line beginning with
691 “`repo`” and that it will be separated from the repository’s file name
692
--- www/gitusers.md
+++ www/gitusers.md
@@ -575,10 +575,40 @@
575 indeed to any other Fossil command documented to accept a `VERSION` or
576 `NAME` string.)
577
578 [scin]: ./checkin_names.wiki
579
580
581 <a id="syncall"></a>
582 ## Sync Is All-or-Nothing
583
584 Fossil does not support the concept of syncing, pushing, or pulling
585 individual branches. When you sync/push/pull in Fossil, it
586 processes all artifacts in its hash tree:
587 branches, tags, wiki articles, tickets, forum posts, technotes…
588 This is [not quite “everything,” full stop][bu], but it’s close.
589 [Fossil is an AP-mode system][capt], which in this case means it works
590 *very hard* to ensure that all repos are as close to identical as it can
591 make them under this eventually-consistent design philosophy.
592
593 Branch *names* sync automatically in Fossil, not just the
594 content of those branches. That means this common Git command:
595
596 git push origin master
597
598 …is simply this in Fossil:
599
600 fossil push
601
602 Fossil doesn’t need to be told what to push or where to push it: it just
603 keeps using the same remote server URL you gave it last
604 until you [tell it to do something different][rem]. It pushes all
605 branches, not just one named local branch.
606
607 [capt]: ./cap-theorem.md
608 [rem]: /help?cmd=remote
609
610
611 <a id="autosync"></a>
612 ## Autosync
613
614 Fossil’s [autosync][wflow] feature, normally enabled, has no
@@ -646,46 +676,16 @@
676 [bu]: ./backup.md
677 [forks]: ./branching.wiki
678 [setup]: ./caps/admin-v-setup.md#apsu
679 [wflow]: ./concepts.wiki#workflow
680
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
681
682 <a id="reset"></a>
683 ## Resetting the Repository
684
685 Extending from [the prior item](#syncall), you may correctly infer that
686 “[delete the project and download a fresh copy][x1597]” has no part in
687 the Fossil Way. Ideally, you should never find yourself forced into
688 desperate measures like this:(^Parsing the output of `fossil status` is
689 usually a mistake since it relies on a potentially unstable interface.
690 We make no guarantee that there will always be a line beginning with
691 “`repo`” and that it will be separated from the repository’s file name
692

Keyboard Shortcuts

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