Fossil SCM

Updated comments, improved output further. More to come.

brickviking 2024-12-07 07:29 bv-infotool
Commit 6ee05bf62df4459956a3fce564796f8ea2b7a1d085745c4b0f3e872343248fcc
1 file changed +63 -28
--- tools/infoscript.bash
+++ tools/infoscript.bash
@@ -6,10 +6,11 @@
66
# v0.5 Working out sed/head/tail differences between GNU and BSD.
77
# v0.6 Replaced "head -n -1" with "sed '$d'" which does the same thing.
88
# v0.7 Adding help in separately for normal/auxil commands.
99
# v0.8 Added common options and Features. Got rid of some obvious bugs.
1010
# v0.9 Added @bye at end.
11
+# v0.10 Retitled Features to Fossil.
1112
# Builds (finally) on OpenBSD.
1213
#
1314
# Requires fossil, tail, GNU sed and makeinfo
1415
#
1516
# TODO: figure out how to replace one line with two portably
@@ -40,29 +41,42 @@
4041
4142
@end titlepage
4243
4344
" >> fossil.texi
4445
45
-# Add @shortcontents and @contents
46
-printf "@shortcontents
47
-@contents\n
46
+# Add @contents
47
+printf "@contents\n
4848
4949
" >> fossil.texi
5050
5151
# Check fossil version. Only thing wrong with this is which fossil binary is picked up first.
5252
fossil version | sed 's/This is fossil version /@set VERSION /' | cut -c1-17 >> fossil.texi
53
+
54
+# Insert repeat of Top node for PDF. We have to hack to do this
55
+printf "@ifnotinfo
56
+@ifnothtml
57
+@node Introduction
58
+@top Introduction for Fossil - a distributed version control system
59
+
60
+Fossil is a distributed version control system (DVCS) with built-in
61
+forum, wiki, ticket tracker, CGI/HTTP interface, and HTTP server.
62
+This file documents version @value{VERSION} of Fossil.
63
+
64
+@end ifnothtml
65
+@end ifnotinfo
66
+" >> fossil.texi
5367
5468
printf "@node Top
55
-@top Fossil - a distributed version control system
69
+@chapter Fossil - a distributed version control system
5670
5771
Fossil is a distributed version control system (DVCS) with built-in
5872
forum, wiki, ticket tracker, CGI/HTTP interface, and HTTP server.
5973
This file documents version @value{VERSION} of Fossil.
6074
6175
@c @node menu
6276
@menu
63
-* Features:: Features listed from the website front page.
77
+* Fossil:: Introduction and features listed from the website front page.
6478
* Common commands:: These are the commands that are most likely to be used.
6579
* Uncommon commands:: These aren't used as often, but they're still there when needed.
6680
* Common arguments:: -o arguments common to all commands
6781
* License:: The license agreement of the fossil project
6882
@end menu
@@ -77,31 +91,52 @@
7791
help nodes from fossil into here, but it's vaguely possible I've missed some.
7892
7993
" >> fossil.texi
8094
8195
# Add in the Features from the front webpage
82
-printf "@node Features
83
-@chapter Features
84
-
85
-Features as described on the fossil home page.
86
-
87
-1. Integrated Bug Tracking, Wiki, Forum, and Technotes - In addition to doing distributed version control like Git and Mercurial, Fossil also supports bug tracking, wiki, forum, and tech-notes.
88
-
89
-2. Built-in Web Interface - Fossil has a built-in and intuitive web interface that promotes project situational awareness. Type \"fossil ui\" and Fossil automatically opens a web browser to a page that shows detailed graphical history and status information on that project.
90
-
91
-3. Self-Contained - Fossil is a single self-contained stand-alone executable. To install, simply download a precompiled binary for Linux, Mac, OpenBSD, or Windows and put it on your \$PATH. Easy-to-compile source code is available for users on other platforms.
92
-
93
-4. Simple Networking - No custom protocols or TCP ports. Fossil uses plain old HTTP (or HTTPS or SSH) for all network communications, so it works fine from behind restrictive firewalls, including proxies. The protocol is bandwidth efficient to the point that Fossil can be used comfortably over dial-up or over the exceedingly slow Wifi on airliners.
94
-
95
-5. CGI/SCGI Enabled - No server is required, but if you want to set one up, Fossil supports four easy server configurations.
96
-
97
-6. Autosync - Fossil supports \"autosync\" mode which helps to keep projects moving forward by reducing the amount of needless forking and merging often associated with distributed projects.
98
-
99
-7. Robust & Reliable - Fossil stores content using an enduring file format in an SQLite database so that transactions are atomic even if interrupted by a power loss or system crash. Automatic self-checks verify that all aspects of the repository are consistent prior to each commit.
100
-
101
-8. Free and Open-Source - Uses the 2-clause BSD license.
102
-
96
+printf "@node Fossil
97
+@chapter Fossil
98
+
99
+Fossil is a distributed version control system (DVCS) with built-in
100
+forum, wiki, ticket tracker, CGI/HTTP interface, and HTTP server.
101
+This file documents version @value{VERSION} of Fossil.
102
+
103
+This is a quick breakdown of the things that you get when you run the fossil binary:
104
+
105
+@enumerate
106
+@item
107
+Integrated Bug Tracking, Wiki, Forum, and Technotes
108
+ - In addition to doing distributed version control like Git and Mercurial, Fossil also supports bug tracking, wiki, forum, and tech-notes.
109
+
110
+@item
111
+Built-in Web Interface
112
+ - Fossil has a built-in and intuitive web interface that promotes project situational awareness. Type \"fossil ui\" and Fossil automatically opens a web browser to a page that shows detailed graphical history and status information on that project.
113
+
114
+@item
115
+Self-Contained
116
+ - Fossil is a single self-contained stand-alone executable. To install, simply download a precompiled binary for Linux, Mac, OpenBSD, or Windows and put it on your \$PATH. Easy-to-compile source code is available for users on other platforms.
117
+
118
+@item
119
+Simple Networking
120
+ - No custom protocols or TCP ports. Fossil uses plain old HTTP (or HTTPS or SSH) for all network communications, so it works fine from behind restrictive firewalls, including proxies. The protocol is bandwidth efficient to the point that Fossil can be used comfortably over dial-up or over the exceedingly slow Wifi on airliners.
121
+
122
+@item
123
+CGI/SCGI Enabled
124
+ - No server is required, but if you want to set one up, Fossil supports four easy server configurations.
125
+
126
+@item
127
+Autosync
128
+ - Fossil supports \"autosync\" mode which helps to keep projects moving forward by reducing the amount of needless forking and merging often associated with distributed projects.
129
+
130
+@item
131
+Robust & Reliable
132
+ - Fossil stores content using an enduring file format in an SQLite database so that transactions are atomic even if interrupted by a power loss or system crash. Automatic self-checks verify that all aspects of the repository are consistent prior to each commit.
133
+
134
+@item
135
+Free and Open-Source
136
+ - Uses the 2-clause BSD license.
137
+@end enumerate
103138
" >> fossil.texi
104139
105140
###### Common commands
106141
printf "@node Common commands
107142
@chapter Common commands
@@ -133,14 +168,14 @@
133168
134169
# swap out @ with @@ so texinfo doesn't barf
135170
echo "Doubling up the @'s"
136171
sed -i -e 's/@/@@/g' workfile
137172
138
-echo "Swapping out # for @node ... \n@unnumbered ..."
173
+echo "Swapping out # for @node ... \n@section ..."
139174
# This swaps out "# keyword" with
140175
# @node keyword
141
-# @unnumbered keyword
176
+# @section keyword
142177
# breaks on *BSD's seds, needs gsed there
143178
144179
# Check the OS so we can use gsed if needed
145180
MYOS="$(uname )"
146181
if [[ ${MYOS} == "Linux" ]]; then
147182
--- tools/infoscript.bash
+++ tools/infoscript.bash
@@ -6,10 +6,11 @@
6 # v0.5 Working out sed/head/tail differences between GNU and BSD.
7 # v0.6 Replaced "head -n -1" with "sed '$d'" which does the same thing.
8 # v0.7 Adding help in separately for normal/auxil commands.
9 # v0.8 Added common options and Features. Got rid of some obvious bugs.
10 # v0.9 Added @bye at end.
 
11 # Builds (finally) on OpenBSD.
12 #
13 # Requires fossil, tail, GNU sed and makeinfo
14 #
15 # TODO: figure out how to replace one line with two portably
@@ -40,29 +41,42 @@
40
41 @end titlepage
42
43 " >> fossil.texi
44
45 # Add @shortcontents and @contents
46 printf "@shortcontents
47 @contents\n
48
49 " >> fossil.texi
50
51 # Check fossil version. Only thing wrong with this is which fossil binary is picked up first.
52 fossil version | sed 's/This is fossil version /@set VERSION /' | cut -c1-17 >> fossil.texi
 
 
 
 
 
 
 
 
 
 
 
 
 
 
53
54 printf "@node Top
55 @top Fossil - a distributed version control system
56
57 Fossil is a distributed version control system (DVCS) with built-in
58 forum, wiki, ticket tracker, CGI/HTTP interface, and HTTP server.
59 This file documents version @value{VERSION} of Fossil.
60
61 @c @node menu
62 @menu
63 * Features:: Features listed from the website front page.
64 * Common commands:: These are the commands that are most likely to be used.
65 * Uncommon commands:: These aren't used as often, but they're still there when needed.
66 * Common arguments:: -o arguments common to all commands
67 * License:: The license agreement of the fossil project
68 @end menu
@@ -77,31 +91,52 @@
77 help nodes from fossil into here, but it's vaguely possible I've missed some.
78
79 " >> fossil.texi
80
81 # Add in the Features from the front webpage
82 printf "@node Features
83 @chapter Features
84
85 Features as described on the fossil home page.
86
87 1. Integrated Bug Tracking, Wiki, Forum, and Technotes - In addition to doing distributed version control like Git and Mercurial, Fossil also supports bug tracking, wiki, forum, and tech-notes.
88
89 2. Built-in Web Interface - Fossil has a built-in and intuitive web interface that promotes project situational awareness. Type \"fossil ui\" and Fossil automatically opens a web browser to a page that shows detailed graphical history and status information on that project.
90
91 3. Self-Contained - Fossil is a single self-contained stand-alone executable. To install, simply download a precompiled binary for Linux, Mac, OpenBSD, or Windows and put it on your \$PATH. Easy-to-compile source code is available for users on other platforms.
92
93 4. Simple Networking - No custom protocols or TCP ports. Fossil uses plain old HTTP (or HTTPS or SSH) for all network communications, so it works fine from behind restrictive firewalls, including proxies. The protocol is bandwidth efficient to the point that Fossil can be used comfortably over dial-up or over the exceedingly slow Wifi on airliners.
94
95 5. CGI/SCGI Enabled - No server is required, but if you want to set one up, Fossil supports four easy server configurations.
96
97 6. Autosync - Fossil supports \"autosync\" mode which helps to keep projects moving forward by reducing the amount of needless forking and merging often associated with distributed projects.
98
99 7. Robust & Reliable - Fossil stores content using an enduring file format in an SQLite database so that transactions are atomic even if interrupted by a power loss or system crash. Automatic self-checks verify that all aspects of the repository are consistent prior to each commit.
100
101 8. Free and Open-Source - Uses the 2-clause BSD license.
102
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
103 " >> fossil.texi
104
105 ###### Common commands
106 printf "@node Common commands
107 @chapter Common commands
@@ -133,14 +168,14 @@
133
134 # swap out @ with @@ so texinfo doesn't barf
135 echo "Doubling up the @'s"
136 sed -i -e 's/@/@@/g' workfile
137
138 echo "Swapping out # for @node ... \n@unnumbered ..."
139 # This swaps out "# keyword" with
140 # @node keyword
141 # @unnumbered keyword
142 # breaks on *BSD's seds, needs gsed there
143
144 # Check the OS so we can use gsed if needed
145 MYOS="$(uname )"
146 if [[ ${MYOS} == "Linux" ]]; then
147
--- tools/infoscript.bash
+++ tools/infoscript.bash
@@ -6,10 +6,11 @@
6 # v0.5 Working out sed/head/tail differences between GNU and BSD.
7 # v0.6 Replaced "head -n -1" with "sed '$d'" which does the same thing.
8 # v0.7 Adding help in separately for normal/auxil commands.
9 # v0.8 Added common options and Features. Got rid of some obvious bugs.
10 # v0.9 Added @bye at end.
11 # v0.10 Retitled Features to Fossil.
12 # Builds (finally) on OpenBSD.
13 #
14 # Requires fossil, tail, GNU sed and makeinfo
15 #
16 # TODO: figure out how to replace one line with two portably
@@ -40,29 +41,42 @@
41
42 @end titlepage
43
44 " >> fossil.texi
45
46 # Add @contents
47 printf "@contents\n
 
48
49 " >> fossil.texi
50
51 # Check fossil version. Only thing wrong with this is which fossil binary is picked up first.
52 fossil version | sed 's/This is fossil version /@set VERSION /' | cut -c1-17 >> fossil.texi
53
54 # Insert repeat of Top node for PDF. We have to hack to do this
55 printf "@ifnotinfo
56 @ifnothtml
57 @node Introduction
58 @top Introduction for Fossil - a distributed version control system
59
60 Fossil is a distributed version control system (DVCS) with built-in
61 forum, wiki, ticket tracker, CGI/HTTP interface, and HTTP server.
62 This file documents version @value{VERSION} of Fossil.
63
64 @end ifnothtml
65 @end ifnotinfo
66 " >> fossil.texi
67
68 printf "@node Top
69 @chapter Fossil - a distributed version control system
70
71 Fossil is a distributed version control system (DVCS) with built-in
72 forum, wiki, ticket tracker, CGI/HTTP interface, and HTTP server.
73 This file documents version @value{VERSION} of Fossil.
74
75 @c @node menu
76 @menu
77 * Fossil:: Introduction and features listed from the website front page.
78 * Common commands:: These are the commands that are most likely to be used.
79 * Uncommon commands:: These aren't used as often, but they're still there when needed.
80 * Common arguments:: -o arguments common to all commands
81 * License:: The license agreement of the fossil project
82 @end menu
@@ -77,31 +91,52 @@
91 help nodes from fossil into here, but it's vaguely possible I've missed some.
92
93 " >> fossil.texi
94
95 # Add in the Features from the front webpage
96 printf "@node Fossil
97 @chapter Fossil
98
99 Fossil is a distributed version control system (DVCS) with built-in
100 forum, wiki, ticket tracker, CGI/HTTP interface, and HTTP server.
101 This file documents version @value{VERSION} of Fossil.
102
103 This is a quick breakdown of the things that you get when you run the fossil binary:
104
105 @enumerate
106 @item
107 Integrated Bug Tracking, Wiki, Forum, and Technotes
108 - In addition to doing distributed version control like Git and Mercurial, Fossil also supports bug tracking, wiki, forum, and tech-notes.
109
110 @item
111 Built-in Web Interface
112 - Fossil has a built-in and intuitive web interface that promotes project situational awareness. Type \"fossil ui\" and Fossil automatically opens a web browser to a page that shows detailed graphical history and status information on that project.
113
114 @item
115 Self-Contained
116 - Fossil is a single self-contained stand-alone executable. To install, simply download a precompiled binary for Linux, Mac, OpenBSD, or Windows and put it on your \$PATH. Easy-to-compile source code is available for users on other platforms.
117
118 @item
119 Simple Networking
120 - No custom protocols or TCP ports. Fossil uses plain old HTTP (or HTTPS or SSH) for all network communications, so it works fine from behind restrictive firewalls, including proxies. The protocol is bandwidth efficient to the point that Fossil can be used comfortably over dial-up or over the exceedingly slow Wifi on airliners.
121
122 @item
123 CGI/SCGI Enabled
124 - No server is required, but if you want to set one up, Fossil supports four easy server configurations.
125
126 @item
127 Autosync
128 - Fossil supports \"autosync\" mode which helps to keep projects moving forward by reducing the amount of needless forking and merging often associated with distributed projects.
129
130 @item
131 Robust & Reliable
132 - Fossil stores content using an enduring file format in an SQLite database so that transactions are atomic even if interrupted by a power loss or system crash. Automatic self-checks verify that all aspects of the repository are consistent prior to each commit.
133
134 @item
135 Free and Open-Source
136 - Uses the 2-clause BSD license.
137 @end enumerate
138 " >> fossil.texi
139
140 ###### Common commands
141 printf "@node Common commands
142 @chapter Common commands
@@ -133,14 +168,14 @@
168
169 # swap out @ with @@ so texinfo doesn't barf
170 echo "Doubling up the @'s"
171 sed -i -e 's/@/@@/g' workfile
172
173 echo "Swapping out # for @node ... \n@section ..."
174 # This swaps out "# keyword" with
175 # @node keyword
176 # @section keyword
177 # breaks on *BSD's seds, needs gsed there
178
179 # Check the OS so we can use gsed if needed
180 MYOS="$(uname )"
181 if [[ ${MYOS} == "Linux" ]]; then
182

Keyboard Shortcuts

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