Fossil SCM

Moved all of the "Features found in Fossil but not in Git" up from section 3.1 into section 2.1 Featureful of the fossil-v-git doc, where such differences are otherwise covered. Removed section 3.2, giving the opposite case, since all of the Git features not found in Fossil are already covered elsewhere in the doc, sometimes more than once, as with the rebase issue.

wyoung 2019-10-21 03:05 trunk
Commit d357f81b6c179313caf0b5128e90ea2180757c2de39a9dac435e86137643cd5b
1 file changed +21 -54
--- www/fossil-v-git.wiki
+++ www/fossil-v-git.wiki
@@ -73,10 +73,31 @@
7373
access control system].
7474
These additional capabilities are available for Git as 3rd-party
7575
add-ons, but with Fossil they are integrated into
7676
the design. One way to describe Fossil is that it is
7777
"[https://github.com/ | GitHub]-in-a-box."
78
+
79
+Fossil can do operations over all local repo clones and check-out
80
+directories with a single command. For example, Fossil lets you say
81
+<tt>fossil all pull</tt> on a laptop prior to taking it off the network
82
+hosting those repos. You can sync up to all of the private repos on your
83
+company network plus those public Internet-hosted repos you use. Whether
84
+going out for a working lunch or on a transoceanic an airplane trip, one
85
+command gets you in sync. This works with several other Fossil
86
+sub-commands, such as <tt>fossil all changes</tt> to get a list of files
87
+that you forgot to commit prior to the end of your working day, across
88
+all repos.
89
+
90
+Whenever Fossil is told to modify the local checkout in some destructive
91
+way ([/help?cmd=rm|fossil rm], [/help?cmd=update|fossil update],
92
+[/help?cmd=revert|fossil revert], etc.) Fossil remembers the prior state
93
+and is able to return the check-out directory to that state with a
94
+<tt>fossil undo</tt> command. You cannot undo a commit in Fossil
95
+([#history | on purpose!]) but as long as the change remains confined to
96
+the local check-out directory only, Fossil makes undo
97
+[https://git-scm.com/book/en/v2/Git-Basics-Undoing-Things|easier than in
98
+Git].
7899
79100
For developers who choose to self-host projects (rather than using a
80101
3rd-party service such as GitHub) Fossil is much easier to set up, since
81102
the stand-alone Fossil executable together with a [./server/any/cgi.md|2-line CGI script]
82103
suffice to instantiate a full-featured developer website. To accomplish
@@ -750,64 +771,10 @@
750771
moved over to a stronger hash algorithm before someone figures out how
751772
to make use of the weaknesses in the old one. Fossil's developers moved
752773
on this problem quickly and had a widely-deployed solution to it years
753774
ago.
754775
755
-
756
-<h2 id="missing">3.0 Missing Features</h2>
757
-
758
-Although there is a large overlap in capability between Fossil and Git,
759
-there are many areas where one system has a feature that is simply
760
-missing in the other. We covered most of those above, but there
761
-are a few remaining feature differences we haven't gotten to yet.
762
-
763
-
764
-<h3 id="missing-in-git">3.1 Features found in Fossil but missing from Git</h3>
765
-
766
- * <b>The [/help?cmd=all|fossil all] command</b>
767
-
768
- Fossil keeps track of all repositories and check-outs and allows
769
- operations over all of them with a single command. For example, in
770
- Fossil is possible to request a pull of all repositories on a laptop
771
- from their respective servers, prior to taking the laptop off network.
772
- Or it is possible to do "fossil all changes" to see if there are any
773
- uncommitted changes that were overlooked prior to the end of the workday.
774
-
775
- * <b>The [/help?cmd=undo|fossil undo] command</b>
776
-
777
- Whenever Fossil is told to modify the local checkout in some
778
- destructive way ([/help?cmd=rm|fossil rm], [/help?cmd=update|fossil
779
- update], [/help?cmd=revert|fossil revert], etc.) Fossil remembers the
780
- prior state and is able to return the local check-out directory to
781
- its prior state with a simple "fossil undo" command. You
782
- [#history|cannot undo a commit], since writes to the actual
783
- repository — as opposed to the local check-out directory — are more
784
- or less permanent, on purpose, but as long as the change is simply
785
- staged locally, Fossil makes undo
786
- [https://git-scm.com/book/en/v2/Git-Basics-Undoing-Things|easier than
787
- in Git].
788
-
789
-
790
-<h3 id="missing-in-fossil">3.2 Features found in Git but missing from Fossil</h3>
791
-
792
- * <b>Rebase</b>
793
-
794
- Because of its emphasis on recording history exactly as it happened,
795
- rather than as we would have liked it to happen,
796
- [./rebaseharm.md|Fossil deliberately omits the "rebase" command].
797
- For those rare
798
- occasions where something like rebase is actually needed, the same
799
- topology can be achieved using cherrypick merges.
800
-
801
- * <b>Push or pull a single branch</b>
802
-
803
- The [/help?cmd=push|fossil push], [/help?cmd=pull|fossil pull], and
804
- [/help?cmd=sync|fossil sync] commands do not provide the capability to
805
- push or pull individual branches. Pushing and pulling in Fossil is
806
- all or nothing. This is in keeping with Fossil's emphasis on maintaining
807
- a complete record and on sharing everything between all developers.
808
-
809776
<hr/>
810777
811778
<h3>Asides and Digressions</h3>
812779
813780
<i><small><ol>
814781
--- www/fossil-v-git.wiki
+++ www/fossil-v-git.wiki
@@ -73,10 +73,31 @@
73 access control system].
74 These additional capabilities are available for Git as 3rd-party
75 add-ons, but with Fossil they are integrated into
76 the design. One way to describe Fossil is that it is
77 "[https://github.com/ | GitHub]-in-a-box."
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
78
79 For developers who choose to self-host projects (rather than using a
80 3rd-party service such as GitHub) Fossil is much easier to set up, since
81 the stand-alone Fossil executable together with a [./server/any/cgi.md|2-line CGI script]
82 suffice to instantiate a full-featured developer website. To accomplish
@@ -750,64 +771,10 @@
750 moved over to a stronger hash algorithm before someone figures out how
751 to make use of the weaknesses in the old one. Fossil's developers moved
752 on this problem quickly and had a widely-deployed solution to it years
753 ago.
754
755
756 <h2 id="missing">3.0 Missing Features</h2>
757
758 Although there is a large overlap in capability between Fossil and Git,
759 there are many areas where one system has a feature that is simply
760 missing in the other. We covered most of those above, but there
761 are a few remaining feature differences we haven't gotten to yet.
762
763
764 <h3 id="missing-in-git">3.1 Features found in Fossil but missing from Git</h3>
765
766 * <b>The [/help?cmd=all|fossil all] command</b>
767
768 Fossil keeps track of all repositories and check-outs and allows
769 operations over all of them with a single command. For example, in
770 Fossil is possible to request a pull of all repositories on a laptop
771 from their respective servers, prior to taking the laptop off network.
772 Or it is possible to do "fossil all changes" to see if there are any
773 uncommitted changes that were overlooked prior to the end of the workday.
774
775 * <b>The [/help?cmd=undo|fossil undo] command</b>
776
777 Whenever Fossil is told to modify the local checkout in some
778 destructive way ([/help?cmd=rm|fossil rm], [/help?cmd=update|fossil
779 update], [/help?cmd=revert|fossil revert], etc.) Fossil remembers the
780 prior state and is able to return the local check-out directory to
781 its prior state with a simple "fossil undo" command. You
782 [#history|cannot undo a commit], since writes to the actual
783 repository — as opposed to the local check-out directory — are more
784 or less permanent, on purpose, but as long as the change is simply
785 staged locally, Fossil makes undo
786 [https://git-scm.com/book/en/v2/Git-Basics-Undoing-Things|easier than
787 in Git].
788
789
790 <h3 id="missing-in-fossil">3.2 Features found in Git but missing from Fossil</h3>
791
792 * <b>Rebase</b>
793
794 Because of its emphasis on recording history exactly as it happened,
795 rather than as we would have liked it to happen,
796 [./rebaseharm.md|Fossil deliberately omits the "rebase" command].
797 For those rare
798 occasions where something like rebase is actually needed, the same
799 topology can be achieved using cherrypick merges.
800
801 * <b>Push or pull a single branch</b>
802
803 The [/help?cmd=push|fossil push], [/help?cmd=pull|fossil pull], and
804 [/help?cmd=sync|fossil sync] commands do not provide the capability to
805 push or pull individual branches. Pushing and pulling in Fossil is
806 all or nothing. This is in keeping with Fossil's emphasis on maintaining
807 a complete record and on sharing everything between all developers.
808
809 <hr/>
810
811 <h3>Asides and Digressions</h3>
812
813 <i><small><ol>
814
--- www/fossil-v-git.wiki
+++ www/fossil-v-git.wiki
@@ -73,10 +73,31 @@
73 access control system].
74 These additional capabilities are available for Git as 3rd-party
75 add-ons, but with Fossil they are integrated into
76 the design. One way to describe Fossil is that it is
77 "[https://github.com/ | GitHub]-in-a-box."
78
79 Fossil can do operations over all local repo clones and check-out
80 directories with a single command. For example, Fossil lets you say
81 <tt>fossil all pull</tt> on a laptop prior to taking it off the network
82 hosting those repos. You can sync up to all of the private repos on your
83 company network plus those public Internet-hosted repos you use. Whether
84 going out for a working lunch or on a transoceanic an airplane trip, one
85 command gets you in sync. This works with several other Fossil
86 sub-commands, such as <tt>fossil all changes</tt> to get a list of files
87 that you forgot to commit prior to the end of your working day, across
88 all repos.
89
90 Whenever Fossil is told to modify the local checkout in some destructive
91 way ([/help?cmd=rm|fossil rm], [/help?cmd=update|fossil update],
92 [/help?cmd=revert|fossil revert], etc.) Fossil remembers the prior state
93 and is able to return the check-out directory to that state with a
94 <tt>fossil undo</tt> command. You cannot undo a commit in Fossil
95 ([#history | on purpose!]) but as long as the change remains confined to
96 the local check-out directory only, Fossil makes undo
97 [https://git-scm.com/book/en/v2/Git-Basics-Undoing-Things|easier than in
98 Git].
99
100 For developers who choose to self-host projects (rather than using a
101 3rd-party service such as GitHub) Fossil is much easier to set up, since
102 the stand-alone Fossil executable together with a [./server/any/cgi.md|2-line CGI script]
103 suffice to instantiate a full-featured developer website. To accomplish
@@ -750,64 +771,10 @@
771 moved over to a stronger hash algorithm before someone figures out how
772 to make use of the weaknesses in the old one. Fossil's developers moved
773 on this problem quickly and had a widely-deployed solution to it years
774 ago.
775
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
776 <hr/>
777
778 <h3>Asides and Digressions</h3>
779
780 <i><small><ol>
781

Keyboard Shortcuts

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