Fossil SCM

Final proofreading of file glob patterns document before merging to trunk. Also updated the permuted index to match mkindex.tcl and the current glob article title.

rberteig 2017-05-08 23:00 glob-docs
Commit ea1fd25378cc7165995d5a9100ed293488f81ca58753ac070d3c18b86336be0e
2 files changed +62 -58 +31 -4
+62 -58
--- www/globs.md
+++ www/globs.md
@@ -87,14 +87,14 @@
8787
* `[][]` Matches either `]` or `[`;
8888
* `[^]]` Matches exactly one character other than `]`;
8989
* `[]^]` Matches either `]` or `^`; and
9090
* `[^-]` Matches exactly one character other than `-`.
9191
92
-White space means the ASCII characters TAB, LF, VT, FF, CR, and SPACE.
93
-Note that this does not include any of the many additional spacing
94
-characters available in Unicode, and specifically does not include
95
-U+00A0 NO-BREAK SPACE.
92
+White space means the specific ASCII characters TAB, LF, VT, FF, CR,
93
+and SPACE. Note that this does not include any of the many additional
94
+spacing characters available in Unicode, and specifically does not
95
+include U+00A0 NO-BREAK SPACE.
9696
9797
Because both LF and CR are white space and leading and trailing spaces
9898
are stripped from each glob in a list, a list of globs may be broken
9999
into lines between globs when the list is stored in a file (as for a
100100
versioned setting).
@@ -112,61 +112,65 @@
112112
name to be considered a match.
113113
114114
The canonical name of a file has all directory separators changed to
115115
`/`, redundant slashes are removed, all `.` path components are
116116
removed, and all `..` path components are resolved. (There are
117
-additional details we won't go into here.)
117
+additional details we are ignoring here, but they cover rare edge
118
+cases and also follow the principle of least surprise.)
118119
119
-The goal is a name that is the simplest possible for each particular
120
-file, and will be the same on Windows, Unix, and any other platform
121
-where fossil is run.
120
+The goal is to have a name that is the simplest possible for each
121
+particular file, and that will be the same on Windows, Unix, and any
122
+other platform where fossil is run.
122123
123124
Beware, however, that all glob matching is case sensitive. This will
124125
not be a surprise on Unix where all file names are also case
125126
sensitive. However, most Windows file systems are case preserving and
126
-case insensitive. On Windows, the names `ReadMe` and `README` are
127
-names of the same file; on Unix they are different files.
127
+case insensitive. That is, on Windows, the names `ReadMe` and `README`
128
+are names of the same file; on Unix they are different files.
128129
129130
Some example cases:
130131
131132
* The glob `README` matches only a file named `README` in the root of
132133
the tree. It does not match a file named `src/README` because it
133
- does not include any characters that consumed the `src/` part.
134
+ does not include any characters that consume (and match) the
135
+ `src/` part.
134136
* The glob `*/README` does match `src/README`. Unlike Unix file
135137
globs, it also matches `src/library/README`. However it does not
136138
match the file `README` in the root of the tree.
139
+ * The glob `*README` does match `src/README` as well as the file
140
+ `README` in the root of the tree as well as `foo/bar/README` or
141
+ any other file named `README` in the tree. However, it also
142
+ matches `A-DIFFERENT-README` and `src/DO-NOT-README`, or any other
143
+ file whose name ends with `README`.
137144
* The glob `src/README` does match the file named `src\README` on
138145
Windows because all directory separators are rewritten as `/` in
139146
the canonical name before the glob is matched. This makes it much
140147
easier to write globs that work on both Unix and Windows.
141148
* The glob `*.[ch]` matches every C source or header file in the
142149
tree at the root or at any depth. Again, this is (deliberately)
143150
different from Unix file globs and Windows wild cards.
144151
145152
146
-
147153
## Where Globs are Used
148154
149155
### Settings that are Globs
150156
151157
These settings are all lists of glob patterns:
152158
153
- * `binary-glob`
154
- * `clean-glob`
155
- * `crlf-glob`
156
- * `crnl-glob`
157
- * `encoding-glob`
158
- * `ignore-glob`
159
- * `keep-glob`
160
-
161
-All may be [versioned, local, or global][settings]. Use `fossil
159
+ * `binary-glob`
160
+ * `clean-glob`
161
+ * `crlf-glob`
162
+ * `crnl-glob`
163
+ * `encoding-glob`
164
+ * `ignore-glob`
165
+ * `keep-glob`
166
+
167
+All may be [versioned, local, or global](settings.wiki). Use `fossil
162168
settings` to manage local and global settings, or a file in the
163169
repository's `.fossil-settings/` folder at the root of the tree named
164170
for each for versioned setting.
165171
166
- [settings]: /doc/trunk/www/settings.wiki
167
-
168172
Using versioned settings for these not only has the advantage that
169173
they are tracked in the repository just like the rest of your project,
170174
but you can more easily keep longer lists of more complicated glob
171175
patterns than would be practical in either local or global settings.
172176
@@ -183,19 +187,19 @@
183187
Many of the commands that respect the settings containing globs have
184188
options to override some or all of the settings. These options are
185189
usually named to correspond to the setting they override, such as
186190
`--ignore` to override the `ignore-glob` setting. These commands are:
187191
188
- * [`add`][]
189
- * [`addremove`][]
190
- * [`changes`][]
191
- * [`clean`][]
192
- * [`extras`][]
193
- * [`merge`][]
194
- * [`settings`][]
195
- * [`status`][]
196
- * [`unset`][]
192
+ * [`add`][]
193
+ * [`addremove`][]
194
+ * [`changes`][]
195
+ * [`clean`][]
196
+ * [`extras`][]
197
+ * [`merge`][]
198
+ * [`settings`][]
199
+ * [`status`][]
200
+ * [`unset`][]
197201
198202
The commands [`tarball`][] and [`zip`][] produce compressed archives of a
199203
specific checkin. They may be further restricted by options that
200204
specify glob patterns that name files to include or exclude rather
201205
than archiving the entire checkin.
@@ -251,16 +255,16 @@
251255
patterns and quotes separately from Fossil, it is often difficult to
252256
give glob patterns correctly to Fossil on the command line. Quotes and
253257
special characters in glob patterns are likely to be interpreted when
254258
given as part of a `fossil` command, causing unexpected behavior.
255259
256
-These problems do not affect [versioned settings
257
-files](/doc/trunk/www/settings.wiki) or Admin → Settings in Fossil
258
-UI. Consequently, it is better to set long-term `*-glob` settings via
259
-these methods than to use `fossil settings` commands.
260
+These problems do not affect [versioned settings files](settings.wiki)
261
+or Admin → Settings in Fossil UI. Consequently, it is better to
262
+set long-term `*-glob` settings via these methods than to use `fossil
263
+settings` commands.
260264
261
-That advice doesn't help you when you are giving one-off glob patterns
265
+That advice does not help you when you are giving one-off glob patterns
262266
in `fossil` commands. The remainder of this section gives remedies and
263267
workarounds for these problems.
264268
265269
266270
## POSIX Systems
@@ -285,11 +289,11 @@
285289
286290
Now consider what happens instead if you say:
287291
288292
$ fossil add --ignore RE* src/*.c
289293
290
-This *doesn't* do what you want because the shell will expand both `RE*`
294
+This *does not* do what you want because the shell will expand both `RE*`
291295
and `src/*.c`, causing one of the two files matching the `RE*` glob
292296
pattern to be ignored and the other to be added to the repository. You
293297
need to say this in that case:
294298
295299
$ fossil add --ignore 'RE*' src/*.c
@@ -297,20 +301,20 @@
297301
The single quotes force a POSIX shell to pass the `RE*` glob pattern
298302
through to Fossil untouched, which will do its own glob pattern
299303
matching. There are other methods of quoting a glob pattern or escaping
300304
its special characters; see your shell's manual.
301305
302
-Beware that Fossil's `--ignore` option doesn't override explicit file
306
+Beware that Fossil's `--ignore` option does not override explicit file
303307
mentions:
304308
305309
$ fossil add --ignore 'REALLY SECRET STUFF.txt' RE*
306310
307311
You might think that would add everything beginning with `RE` *except*
308
-for `REALLY SECRET STUFF.txt`, but when a file is both given explicitly
309
-to Fossil and also matches an ignore rule, Fossil asks what you want to
310
-do with it in the default case; it doesn't even ask if you gave the `-f`
311
-or `--force` option along with `--ignore`.
312
+for `REALLY SECRET STUFF.txt`, but when a file is both given
313
+explicitly to Fossil and also matches an ignore rule, Fossil asks what
314
+you want to do with it in the default case; and it does not even ask
315
+if you gave the `-f` or `--force` option along with `--ignore`.
312316
313317
The spaces in the ignored file name above bring us to another point:
314318
such file names must be quoted in Fossil glob patterns, lest Fossil
315319
interpret it as multiple glob patterns, but the shell interprets
316320
quotation marks itself.
@@ -340,39 +344,39 @@
340344
341345
instead. The Fossil glob pattern still needs the `doc/` prefix because
342346
Fossil always interprets glob patterns from the base of the checkout
343347
directory, not from the current working directory as POSIX shells do.
344348
345
-When in doubt, use `fossil status` after running commands like the above
346
-to make sure the right set of files were scheduled for insertion into
347
-the repository before checking the changes in. You wouldn't want to
348
-accidentally check something like a password, an API key, or the private
349
-half of a public crypto key into Fossil repository that can be read by
350
-people who should not have such secrets.
349
+When in doubt, use `fossil status` after running commands like the
350
+above to make sure the right set of files were scheduled for insertion
351
+into the repository before checking the changes in. You never want to
352
+accidentally check something like a password, an API key, or the
353
+private half of a public cryptographic key into Fossil repository that
354
+can be read by people who should not have such secrets.
351355
352356
353357
## Windows
354358
355359
Neither standard Windows command shell — `cmd.exe` or PowerShell
356360
— expands glob patterns the way POSIX shells do. Windows command
357361
shells rely on the command itself to do the glob pattern expansion. The
358362
way this works depends on several factors:
359363
360
-* the version of Windows you're using
361
-* which OS upgrades have been applied to it
362
-* the compiler that built your Fossil executable
363
-* whether you're running the command interactively
364
-* whether the command is built against a runtime system that does this
364
+ * the version of Windows you are using
365
+ * which OS upgrades have been applied to it
366
+ * the compiler that built your Fossil executable
367
+ * whether you are running the command interactively
368
+ * whether the command is built against a runtime system that does this
365369
at all
366
-* whether the Fossil command is being run from a file named `*.BAT` vs
370
+ * whether the Fossil command is being run from a file named `*.BAT` vs
367371
being named `*.CMD`
368372
369373
These factors also affect how a program like `fossil.exe` interprets
370374
quotation marks on its command line.
371375
372
-The fifth item above doesn't apply to `fossil.exe` when built with
373
-typical tool chains, but we'll see an example below where the exception
376
+The fifth item above does not apply to `fossil.exe` when built with
377
+typical tool chains, but we will see an example below where the exception
374378
applies in a way that affects how Fossil interprets the glob pattern.
375379
376380
The most common problem is figuring out how to get a glob pattern passed
377381
on the command line into `fossil.exe` without it being expanded by the C
378382
runtime library that your particular Fossil executable is linked to,
@@ -416,11 +420,11 @@
416420
arguments, and the `--args -` option makes it read further command
417421
arguments from Fossil's standard input, which is connected to the output
418422
of `echo` by the pipe. (`-` is a common Unix convention meaning
419423
"standard input.")
420424
421
-Another correct approach is:
425
+Another (usually) correct approach is:
422426
423427
C:\...> fossil setting crlf-glob *,
424428
425429
This works because the trailing comma prevents the command shell from
426430
matching any files, unless you happen to have files named with a
427431
--- www/globs.md
+++ www/globs.md
@@ -87,14 +87,14 @@
87 * `[][]` Matches either `]` or `[`;
88 * `[^]]` Matches exactly one character other than `]`;
89 * `[]^]` Matches either `]` or `^`; and
90 * `[^-]` Matches exactly one character other than `-`.
91
92 White space means the ASCII characters TAB, LF, VT, FF, CR, and SPACE.
93 Note that this does not include any of the many additional spacing
94 characters available in Unicode, and specifically does not include
95 U+00A0 NO-BREAK SPACE.
96
97 Because both LF and CR are white space and leading and trailing spaces
98 are stripped from each glob in a list, a list of globs may be broken
99 into lines between globs when the list is stored in a file (as for a
100 versioned setting).
@@ -112,61 +112,65 @@
112 name to be considered a match.
113
114 The canonical name of a file has all directory separators changed to
115 `/`, redundant slashes are removed, all `.` path components are
116 removed, and all `..` path components are resolved. (There are
117 additional details we won't go into here.)
 
118
119 The goal is a name that is the simplest possible for each particular
120 file, and will be the same on Windows, Unix, and any other platform
121 where fossil is run.
122
123 Beware, however, that all glob matching is case sensitive. This will
124 not be a surprise on Unix where all file names are also case
125 sensitive. However, most Windows file systems are case preserving and
126 case insensitive. On Windows, the names `ReadMe` and `README` are
127 names of the same file; on Unix they are different files.
128
129 Some example cases:
130
131 * The glob `README` matches only a file named `README` in the root of
132 the tree. It does not match a file named `src/README` because it
133 does not include any characters that consumed the `src/` part.
 
134 * The glob `*/README` does match `src/README`. Unlike Unix file
135 globs, it also matches `src/library/README`. However it does not
136 match the file `README` in the root of the tree.
 
 
 
 
 
137 * The glob `src/README` does match the file named `src\README` on
138 Windows because all directory separators are rewritten as `/` in
139 the canonical name before the glob is matched. This makes it much
140 easier to write globs that work on both Unix and Windows.
141 * The glob `*.[ch]` matches every C source or header file in the
142 tree at the root or at any depth. Again, this is (deliberately)
143 different from Unix file globs and Windows wild cards.
144
145
146
147 ## Where Globs are Used
148
149 ### Settings that are Globs
150
151 These settings are all lists of glob patterns:
152
153 * `binary-glob`
154 * `clean-glob`
155 * `crlf-glob`
156 * `crnl-glob`
157 * `encoding-glob`
158 * `ignore-glob`
159 * `keep-glob`
160
161 All may be [versioned, local, or global][settings]. Use `fossil
162 settings` to manage local and global settings, or a file in the
163 repository's `.fossil-settings/` folder at the root of the tree named
164 for each for versioned setting.
165
166 [settings]: /doc/trunk/www/settings.wiki
167
168 Using versioned settings for these not only has the advantage that
169 they are tracked in the repository just like the rest of your project,
170 but you can more easily keep longer lists of more complicated glob
171 patterns than would be practical in either local or global settings.
172
@@ -183,19 +187,19 @@
183 Many of the commands that respect the settings containing globs have
184 options to override some or all of the settings. These options are
185 usually named to correspond to the setting they override, such as
186 `--ignore` to override the `ignore-glob` setting. These commands are:
187
188 * [`add`][]
189 * [`addremove`][]
190 * [`changes`][]
191 * [`clean`][]
192 * [`extras`][]
193 * [`merge`][]
194 * [`settings`][]
195 * [`status`][]
196 * [`unset`][]
197
198 The commands [`tarball`][] and [`zip`][] produce compressed archives of a
199 specific checkin. They may be further restricted by options that
200 specify glob patterns that name files to include or exclude rather
201 than archiving the entire checkin.
@@ -251,16 +255,16 @@
251 patterns and quotes separately from Fossil, it is often difficult to
252 give glob patterns correctly to Fossil on the command line. Quotes and
253 special characters in glob patterns are likely to be interpreted when
254 given as part of a `fossil` command, causing unexpected behavior.
255
256 These problems do not affect [versioned settings
257 files](/doc/trunk/www/settings.wiki) or Admin → Settings in Fossil
258 UI. Consequently, it is better to set long-term `*-glob` settings via
259 these methods than to use `fossil settings` commands.
260
261 That advice doesn't help you when you are giving one-off glob patterns
262 in `fossil` commands. The remainder of this section gives remedies and
263 workarounds for these problems.
264
265
266 ## POSIX Systems
@@ -285,11 +289,11 @@
285
286 Now consider what happens instead if you say:
287
288 $ fossil add --ignore RE* src/*.c
289
290 This *doesn't* do what you want because the shell will expand both `RE*`
291 and `src/*.c`, causing one of the two files matching the `RE*` glob
292 pattern to be ignored and the other to be added to the repository. You
293 need to say this in that case:
294
295 $ fossil add --ignore 'RE*' src/*.c
@@ -297,20 +301,20 @@
297 The single quotes force a POSIX shell to pass the `RE*` glob pattern
298 through to Fossil untouched, which will do its own glob pattern
299 matching. There are other methods of quoting a glob pattern or escaping
300 its special characters; see your shell's manual.
301
302 Beware that Fossil's `--ignore` option doesn't override explicit file
303 mentions:
304
305 $ fossil add --ignore 'REALLY SECRET STUFF.txt' RE*
306
307 You might think that would add everything beginning with `RE` *except*
308 for `REALLY SECRET STUFF.txt`, but when a file is both given explicitly
309 to Fossil and also matches an ignore rule, Fossil asks what you want to
310 do with it in the default case; it doesn't even ask if you gave the `-f`
311 or `--force` option along with `--ignore`.
312
313 The spaces in the ignored file name above bring us to another point:
314 such file names must be quoted in Fossil glob patterns, lest Fossil
315 interpret it as multiple glob patterns, but the shell interprets
316 quotation marks itself.
@@ -340,39 +344,39 @@
340
341 instead. The Fossil glob pattern still needs the `doc/` prefix because
342 Fossil always interprets glob patterns from the base of the checkout
343 directory, not from the current working directory as POSIX shells do.
344
345 When in doubt, use `fossil status` after running commands like the above
346 to make sure the right set of files were scheduled for insertion into
347 the repository before checking the changes in. You wouldn't want to
348 accidentally check something like a password, an API key, or the private
349 half of a public crypto key into Fossil repository that can be read by
350 people who should not have such secrets.
351
352
353 ## Windows
354
355 Neither standard Windows command shell — `cmd.exe` or PowerShell
356 — expands glob patterns the way POSIX shells do. Windows command
357 shells rely on the command itself to do the glob pattern expansion. The
358 way this works depends on several factors:
359
360 * the version of Windows you're using
361 * which OS upgrades have been applied to it
362 * the compiler that built your Fossil executable
363 * whether you're running the command interactively
364 * whether the command is built against a runtime system that does this
365 at all
366 * whether the Fossil command is being run from a file named `*.BAT` vs
367 being named `*.CMD`
368
369 These factors also affect how a program like `fossil.exe` interprets
370 quotation marks on its command line.
371
372 The fifth item above doesn't apply to `fossil.exe` when built with
373 typical tool chains, but we'll see an example below where the exception
374 applies in a way that affects how Fossil interprets the glob pattern.
375
376 The most common problem is figuring out how to get a glob pattern passed
377 on the command line into `fossil.exe` without it being expanded by the C
378 runtime library that your particular Fossil executable is linked to,
@@ -416,11 +420,11 @@
416 arguments, and the `--args -` option makes it read further command
417 arguments from Fossil's standard input, which is connected to the output
418 of `echo` by the pipe. (`-` is a common Unix convention meaning
419 "standard input.")
420
421 Another correct approach is:
422
423 C:\...> fossil setting crlf-glob *,
424
425 This works because the trailing comma prevents the command shell from
426 matching any files, unless you happen to have files named with a
427
--- www/globs.md
+++ www/globs.md
@@ -87,14 +87,14 @@
87 * `[][]` Matches either `]` or `[`;
88 * `[^]]` Matches exactly one character other than `]`;
89 * `[]^]` Matches either `]` or `^`; and
90 * `[^-]` Matches exactly one character other than `-`.
91
92 White space means the specific ASCII characters TAB, LF, VT, FF, CR,
93 and SPACE. Note that this does not include any of the many additional
94 spacing characters available in Unicode, and specifically does not
95 include U+00A0 NO-BREAK SPACE.
96
97 Because both LF and CR are white space and leading and trailing spaces
98 are stripped from each glob in a list, a list of globs may be broken
99 into lines between globs when the list is stored in a file (as for a
100 versioned setting).
@@ -112,61 +112,65 @@
112 name to be considered a match.
113
114 The canonical name of a file has all directory separators changed to
115 `/`, redundant slashes are removed, all `.` path components are
116 removed, and all `..` path components are resolved. (There are
117 additional details we are ignoring here, but they cover rare edge
118 cases and also follow the principle of least surprise.)
119
120 The goal is to have a name that is the simplest possible for each
121 particular file, and that will be the same on Windows, Unix, and any
122 other platform where fossil is run.
123
124 Beware, however, that all glob matching is case sensitive. This will
125 not be a surprise on Unix where all file names are also case
126 sensitive. However, most Windows file systems are case preserving and
127 case insensitive. That is, on Windows, the names `ReadMe` and `README`
128 are names of the same file; on Unix they are different files.
129
130 Some example cases:
131
132 * The glob `README` matches only a file named `README` in the root of
133 the tree. It does not match a file named `src/README` because it
134 does not include any characters that consume (and match) the
135 `src/` part.
136 * The glob `*/README` does match `src/README`. Unlike Unix file
137 globs, it also matches `src/library/README`. However it does not
138 match the file `README` in the root of the tree.
139 * The glob `*README` does match `src/README` as well as the file
140 `README` in the root of the tree as well as `foo/bar/README` or
141 any other file named `README` in the tree. However, it also
142 matches `A-DIFFERENT-README` and `src/DO-NOT-README`, or any other
143 file whose name ends with `README`.
144 * The glob `src/README` does match the file named `src\README` on
145 Windows because all directory separators are rewritten as `/` in
146 the canonical name before the glob is matched. This makes it much
147 easier to write globs that work on both Unix and Windows.
148 * The glob `*.[ch]` matches every C source or header file in the
149 tree at the root or at any depth. Again, this is (deliberately)
150 different from Unix file globs and Windows wild cards.
151
152
 
153 ## Where Globs are Used
154
155 ### Settings that are Globs
156
157 These settings are all lists of glob patterns:
158
159 * `binary-glob`
160 * `clean-glob`
161 * `crlf-glob`
162 * `crnl-glob`
163 * `encoding-glob`
164 * `ignore-glob`
165 * `keep-glob`
166
167 All may be [versioned, local, or global](settings.wiki). Use `fossil
168 settings` to manage local and global settings, or a file in the
169 repository's `.fossil-settings/` folder at the root of the tree named
170 for each for versioned setting.
171
 
 
172 Using versioned settings for these not only has the advantage that
173 they are tracked in the repository just like the rest of your project,
174 but you can more easily keep longer lists of more complicated glob
175 patterns than would be practical in either local or global settings.
176
@@ -183,19 +187,19 @@
187 Many of the commands that respect the settings containing globs have
188 options to override some or all of the settings. These options are
189 usually named to correspond to the setting they override, such as
190 `--ignore` to override the `ignore-glob` setting. These commands are:
191
192 * [`add`][]
193 * [`addremove`][]
194 * [`changes`][]
195 * [`clean`][]
196 * [`extras`][]
197 * [`merge`][]
198 * [`settings`][]
199 * [`status`][]
200 * [`unset`][]
201
202 The commands [`tarball`][] and [`zip`][] produce compressed archives of a
203 specific checkin. They may be further restricted by options that
204 specify glob patterns that name files to include or exclude rather
205 than archiving the entire checkin.
@@ -251,16 +255,16 @@
255 patterns and quotes separately from Fossil, it is often difficult to
256 give glob patterns correctly to Fossil on the command line. Quotes and
257 special characters in glob patterns are likely to be interpreted when
258 given as part of a `fossil` command, causing unexpected behavior.
259
260 These problems do not affect [versioned settings files](settings.wiki)
261 or Admin → Settings in Fossil UI. Consequently, it is better to
262 set long-term `*-glob` settings via these methods than to use `fossil
263 settings` commands.
264
265 That advice does not help you when you are giving one-off glob patterns
266 in `fossil` commands. The remainder of this section gives remedies and
267 workarounds for these problems.
268
269
270 ## POSIX Systems
@@ -285,11 +289,11 @@
289
290 Now consider what happens instead if you say:
291
292 $ fossil add --ignore RE* src/*.c
293
294 This *does not* do what you want because the shell will expand both `RE*`
295 and `src/*.c`, causing one of the two files matching the `RE*` glob
296 pattern to be ignored and the other to be added to the repository. You
297 need to say this in that case:
298
299 $ fossil add --ignore 'RE*' src/*.c
@@ -297,20 +301,20 @@
301 The single quotes force a POSIX shell to pass the `RE*` glob pattern
302 through to Fossil untouched, which will do its own glob pattern
303 matching. There are other methods of quoting a glob pattern or escaping
304 its special characters; see your shell's manual.
305
306 Beware that Fossil's `--ignore` option does not override explicit file
307 mentions:
308
309 $ fossil add --ignore 'REALLY SECRET STUFF.txt' RE*
310
311 You might think that would add everything beginning with `RE` *except*
312 for `REALLY SECRET STUFF.txt`, but when a file is both given
313 explicitly to Fossil and also matches an ignore rule, Fossil asks what
314 you want to do with it in the default case; and it does not even ask
315 if you gave the `-f` or `--force` option along with `--ignore`.
316
317 The spaces in the ignored file name above bring us to another point:
318 such file names must be quoted in Fossil glob patterns, lest Fossil
319 interpret it as multiple glob patterns, but the shell interprets
320 quotation marks itself.
@@ -340,39 +344,39 @@
344
345 instead. The Fossil glob pattern still needs the `doc/` prefix because
346 Fossil always interprets glob patterns from the base of the checkout
347 directory, not from the current working directory as POSIX shells do.
348
349 When in doubt, use `fossil status` after running commands like the
350 above to make sure the right set of files were scheduled for insertion
351 into the repository before checking the changes in. You never want to
352 accidentally check something like a password, an API key, or the
353 private half of a public cryptographic key into Fossil repository that
354 can be read by people who should not have such secrets.
355
356
357 ## Windows
358
359 Neither standard Windows command shell — `cmd.exe` or PowerShell
360 — expands glob patterns the way POSIX shells do. Windows command
361 shells rely on the command itself to do the glob pattern expansion. The
362 way this works depends on several factors:
363
364 * the version of Windows you are using
365 * which OS upgrades have been applied to it
366 * the compiler that built your Fossil executable
367 * whether you are running the command interactively
368 * whether the command is built against a runtime system that does this
369 at all
370 * whether the Fossil command is being run from a file named `*.BAT` vs
371 being named `*.CMD`
372
373 These factors also affect how a program like `fossil.exe` interprets
374 quotation marks on its command line.
375
376 The fifth item above does not apply to `fossil.exe` when built with
377 typical tool chains, but we will see an example below where the exception
378 applies in a way that affects how Fossil interprets the glob pattern.
379
380 The most common problem is figuring out how to get a glob pattern passed
381 on the command line into `fossil.exe` without it being expanded by the C
382 runtime library that your particular Fossil executable is linked to,
@@ -416,11 +420,11 @@
420 arguments, and the `--args -` option makes it read further command
421 arguments from Fossil's standard input, which is connected to the output
422 of `echo` by the pipe. (`-` is a common Unix convention meaning
423 "standard input.")
424
425 Another (usually) correct approach is:
426
427 C:\...> fossil setting crlf-glob *,
428
429 This works because the trailing comma prevents the command shell from
430 matching any files, unless you happen to have files named with a
431
--- www/permutedindex.html
+++ www/permutedindex.html
@@ -85,11 +85,11 @@
8585
<li><a href="webpage-ex.md">Examples &mdash; Webpage</a></li>
8686
<li><a href="inout.wiki">Export To And From Git &mdash; Import And</a></li>
8787
<li><a href="fossil-from-msvc.wiki">Express 2010 IDE &mdash; Integrating Fossil in the Microsoft</a></li>
8888
<li><a href="adding_code.wiki">Features To Fossil &mdash; Adding New</a></li>
8989
<li><a href="fileformat.wiki">File Format &mdash; Fossil</a></li>
90
-<li><a href="globs.md"><b>Filename GLOB Patterns</b></a></li>
90
+<li><a href="globs.md"><b>File Name Glob Patterns</b></a></li>
9191
<li><a href="unvers.wiki">Files &mdash; Unversioned</a></li>
9292
<li><a href="branching.wiki">Forking, Merging, and Tagging &mdash; Branching,</a></li>
9393
<li><a href="delta_format.wiki">Format &mdash; Fossil Delta</a></li>
9494
<li><a href="fileformat.wiki">Format &mdash; Fossil File</a></li>
9595
<li><a href="../../../md_rules">Formatting Rules &mdash; Markdown</a></li>
@@ -109,11 +109,11 @@
109109
<li><a href="faq.wiki"><b>Frequently Asked Questions</b></a></li>
110110
<li><a href="quotes.wiki">General &mdash; Quotes: What People Are Saying About Fossil, Git, and DVCSes in</a></li>
111111
<li><a href="fossil-v-git.wiki">Git &mdash; Fossil Versus</a></li>
112112
<li><a href="inout.wiki">Git &mdash; Import And Export To And From</a></li>
113113
<li><a href="quotes.wiki">Git, and DVCSes in General &mdash; Quotes: What People Are Saying About Fossil,</a></li>
114
-<li><a href="globs.md">GLOB Patterns &mdash; Filename</a></li>
114
+<li><a href="globs.md">Glob Patterns &mdash; File Name</a></li>
115115
<li><a href="env-opts.md">Global Options &mdash; Environment Variables and</a></li>
116116
<li><a href="customgraph.md">Graph &mdash; Theming: Customizing the Timeline</a></li>
117117
<li><a href="quickstart.wiki">Guide &mdash; Fossil Quick Start</a></li>
118118
<li><a href="style.wiki">Guidelines &mdash; Source Code Style</a></li>
119119
<li><a href="hacker-howto.wiki"><b>Hacker How-To</b></a></li>
@@ -142,10 +142,11 @@
142142
<li><a href="../../../sitemap">Map &mdash; Site</a></li>
143143
<li><a href="../../../md_rules"><b>Markdown Formatting Rules</b></a></li>
144144
<li><a href="branching.wiki">Merging, and Tagging &mdash; Branching, Forking,</a></li>
145145
<li><a href="fossil-from-msvc.wiki">Microsoft Express 2010 IDE &mdash; Integrating Fossil in the</a></li>
146146
<li><a href="fiveminutes.wiki">Minutes as a Single User &mdash; Up and Running in 5</a></li>
147
+<li><a href="globs.md">Name Glob Patterns &mdash; File</a></li>
147148
<li><a href="checkin_names.wiki">Names &mdash; Check-in And Version</a></li>
148149
<li><a href="adding_code.wiki">New Features To Fossil &mdash; Adding</a></li>
149150
<li><a href="newrepo.wiki">New Fossil Repository &mdash; How To Create A</a></li>
150151
<li><a href="foss-cklist.wiki">Open-Source Projects &mdash; Checklist For Successful</a></li>
151152
<li><a href="pop.wiki">Operation &mdash; Principles Of</a></li>
@@ -153,11 +154,11 @@
153154
<li><a href="tech_overview.wiki">Overview Of The Design And Implementation Of Fossil &mdash; A Technical</a></li>
154155
<li><a href="index.wiki">Page &mdash; Home</a></li>
155156
<li><a href="aboutdownload.wiki">Page Works &mdash; How The Download</a></li>
156157
<li><a href="customskin.md">Pages &mdash; Theming: Customizing The Appearance of Web</a></li>
157158
<li><a href="password.wiki"><b>Password Management And Authentication</b></a></li>
158
-<li><a href="globs.md">Patterns &mdash; Filename GLOB</a></li>
159
+<li><a href="globs.md">Patterns &mdash; File Name Glob</a></li>
159160
<li><a href="quotes.wiki">People Are Saying About Fossil, Git, and DVCSes in General &mdash; Quotes: What</a></li>
160161
<li><a href="stats.wiki"><b>Performance Statistics</b></a></li>
161162
<li><a href="hashpolicy.wiki">Policy: Choosing Between SHA1 and SHA3-256 &mdash; Hash</a></li>
162163
<li><a href="../test/release-checklist.wiki"><b>Pre-Release Testing Checklist</b></a></li>
163164
<li><a href="pop.wiki"><b>Principles Of Operation</b></a></li>
@@ -213,6 +214,32 @@
213214
<li><a href="tickets.wiki"><b>The Fossil Ticket System</b></a></li>
214215
<li><a href="webui.wiki"><b>The Fossil Web Interface</b></a></li>
215216
<li><a href="th1.md"><b>The TH1 Scripting Language</b></a></li>
216217
<li><a href="customskin.md"><b>Theming: Customizing The Appearance of Web Pages</b></a></li>
217218
<li><a href="customgraph.md"><b>Theming: Customizing the Timeline Graph</b></a></li>
218
-<li><a href="theory1.wiki"><b>Thoughts On The Design Of
219
+<li><a href="theory1.wiki"><b>Thoughts On The Design Of The Fossil DVCS</b></a></li>
220
+<li><a href="custom_ticket.wiki">Ticket System &mdash; Customizing The</a></li>
221
+<li><a href="tickets.wiki">Ticket System &mdash; The Fossil</a></li>
222
+<li><a href="customgraph.md">Timeline Graph &mdash; Theming: Customizing the</a></li>
223
+<li><a href="hints.wiki">Tips And Usage Hints &mdash; Fossil</a></li>
224
+<li><a href="bugtheory.wiki">Tracking In Fossil &mdash; Bug</a></li>
225
+<li><a href="unvers.wiki"><b>Unversioned Files</b></a></li>
226
+<li><a href="fiveminutes.wiki"><b>Up and Running in 5 Minutes as a Single User</b></a></li>
227
+<li><a href="hints.wiki">Usage Hints &mdash; Fossil Tips And</a></li>
228
+<li><a href="fiveminutes.wiki">User &mdash; Up and Running in 5 Minutes as a Single</a></li>
229
+<li><a href="ssl.wiki"><b>Using SSL with Fossil</b></a></li>
230
+<li><a href="env-opts.md">Variables and Global Options &mdash; Environment</a></li>
231
+<li><a href="whyusefossil.wiki">Version Control &mdash; Benefits Of</a></li>
232
+<li><a href="checkin_names.wiki">Version Names &mdash; Check-in And</a></li>
233
+<li><a href="fossil-v-git.wiki">Versus Git &mdash; Fossil</a></li>
234
+<li><a href="webui.wiki">Web Interface &mdash; The Fossil</a></li>
235
+<li><a href="customskin.md">Web Pages &mdash; Theming: Customizing The Appearance of</a></li>
236
+<li><a href="webpage-ex.md"><b>Webpage Examples</b></a></li>
237
+<li><a href="../../../help">Webpages &mdash; Lists of Commands and</a></li>
238
+<li><a href="quotes.wiki">What People Are Saying About Fossil, Git, and DVCSes in General &mdash; Quotes:</a></li>
239
+<li><a href="whyusefossil.wiki"><b>Why You Should Use Fossil</b></a></li>
240
+<li><a href="../../../wiki_rules"><b>Wiki Formatting Rules</b></a></li>
241
+<li><a href="wikitheory.wiki"><b>Wiki In Fossil</b></a></li>
242
+<li><a href="aboutdownload.wiki">Works &mdash; How The Download Page</a></li>
243
+<li><a href="aboutcgi.wiki">Works In Fossil &mdash; How CGI</a></li>
244
+<li><a href="whyusefossil.wiki">You Should Use Fossil &mdash; Why</a></li>
245
+</ul></div>
219246
--- www/permutedindex.html
+++ www/permutedindex.html
@@ -85,11 +85,11 @@
85 <li><a href="webpage-ex.md">Examples &mdash; Webpage</a></li>
86 <li><a href="inout.wiki">Export To And From Git &mdash; Import And</a></li>
87 <li><a href="fossil-from-msvc.wiki">Express 2010 IDE &mdash; Integrating Fossil in the Microsoft</a></li>
88 <li><a href="adding_code.wiki">Features To Fossil &mdash; Adding New</a></li>
89 <li><a href="fileformat.wiki">File Format &mdash; Fossil</a></li>
90 <li><a href="globs.md"><b>Filename GLOB Patterns</b></a></li>
91 <li><a href="unvers.wiki">Files &mdash; Unversioned</a></li>
92 <li><a href="branching.wiki">Forking, Merging, and Tagging &mdash; Branching,</a></li>
93 <li><a href="delta_format.wiki">Format &mdash; Fossil Delta</a></li>
94 <li><a href="fileformat.wiki">Format &mdash; Fossil File</a></li>
95 <li><a href="../../../md_rules">Formatting Rules &mdash; Markdown</a></li>
@@ -109,11 +109,11 @@
109 <li><a href="faq.wiki"><b>Frequently Asked Questions</b></a></li>
110 <li><a href="quotes.wiki">General &mdash; Quotes: What People Are Saying About Fossil, Git, and DVCSes in</a></li>
111 <li><a href="fossil-v-git.wiki">Git &mdash; Fossil Versus</a></li>
112 <li><a href="inout.wiki">Git &mdash; Import And Export To And From</a></li>
113 <li><a href="quotes.wiki">Git, and DVCSes in General &mdash; Quotes: What People Are Saying About Fossil,</a></li>
114 <li><a href="globs.md">GLOB Patterns &mdash; Filename</a></li>
115 <li><a href="env-opts.md">Global Options &mdash; Environment Variables and</a></li>
116 <li><a href="customgraph.md">Graph &mdash; Theming: Customizing the Timeline</a></li>
117 <li><a href="quickstart.wiki">Guide &mdash; Fossil Quick Start</a></li>
118 <li><a href="style.wiki">Guidelines &mdash; Source Code Style</a></li>
119 <li><a href="hacker-howto.wiki"><b>Hacker How-To</b></a></li>
@@ -142,10 +142,11 @@
142 <li><a href="../../../sitemap">Map &mdash; Site</a></li>
143 <li><a href="../../../md_rules"><b>Markdown Formatting Rules</b></a></li>
144 <li><a href="branching.wiki">Merging, and Tagging &mdash; Branching, Forking,</a></li>
145 <li><a href="fossil-from-msvc.wiki">Microsoft Express 2010 IDE &mdash; Integrating Fossil in the</a></li>
146 <li><a href="fiveminutes.wiki">Minutes as a Single User &mdash; Up and Running in 5</a></li>
 
147 <li><a href="checkin_names.wiki">Names &mdash; Check-in And Version</a></li>
148 <li><a href="adding_code.wiki">New Features To Fossil &mdash; Adding</a></li>
149 <li><a href="newrepo.wiki">New Fossil Repository &mdash; How To Create A</a></li>
150 <li><a href="foss-cklist.wiki">Open-Source Projects &mdash; Checklist For Successful</a></li>
151 <li><a href="pop.wiki">Operation &mdash; Principles Of</a></li>
@@ -153,11 +154,11 @@
153 <li><a href="tech_overview.wiki">Overview Of The Design And Implementation Of Fossil &mdash; A Technical</a></li>
154 <li><a href="index.wiki">Page &mdash; Home</a></li>
155 <li><a href="aboutdownload.wiki">Page Works &mdash; How The Download</a></li>
156 <li><a href="customskin.md">Pages &mdash; Theming: Customizing The Appearance of Web</a></li>
157 <li><a href="password.wiki"><b>Password Management And Authentication</b></a></li>
158 <li><a href="globs.md">Patterns &mdash; Filename GLOB</a></li>
159 <li><a href="quotes.wiki">People Are Saying About Fossil, Git, and DVCSes in General &mdash; Quotes: What</a></li>
160 <li><a href="stats.wiki"><b>Performance Statistics</b></a></li>
161 <li><a href="hashpolicy.wiki">Policy: Choosing Between SHA1 and SHA3-256 &mdash; Hash</a></li>
162 <li><a href="../test/release-checklist.wiki"><b>Pre-Release Testing Checklist</b></a></li>
163 <li><a href="pop.wiki"><b>Principles Of Operation</b></a></li>
@@ -213,6 +214,32 @@
213 <li><a href="tickets.wiki"><b>The Fossil Ticket System</b></a></li>
214 <li><a href="webui.wiki"><b>The Fossil Web Interface</b></a></li>
215 <li><a href="th1.md"><b>The TH1 Scripting Language</b></a></li>
216 <li><a href="customskin.md"><b>Theming: Customizing The Appearance of Web Pages</b></a></li>
217 <li><a href="customgraph.md"><b>Theming: Customizing the Timeline Graph</b></a></li>
218 <li><a href="theory1.wiki"><b>Thoughts On The Design Of
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
219
--- www/permutedindex.html
+++ www/permutedindex.html
@@ -85,11 +85,11 @@
85 <li><a href="webpage-ex.md">Examples &mdash; Webpage</a></li>
86 <li><a href="inout.wiki">Export To And From Git &mdash; Import And</a></li>
87 <li><a href="fossil-from-msvc.wiki">Express 2010 IDE &mdash; Integrating Fossil in the Microsoft</a></li>
88 <li><a href="adding_code.wiki">Features To Fossil &mdash; Adding New</a></li>
89 <li><a href="fileformat.wiki">File Format &mdash; Fossil</a></li>
90 <li><a href="globs.md"><b>File Name Glob Patterns</b></a></li>
91 <li><a href="unvers.wiki">Files &mdash; Unversioned</a></li>
92 <li><a href="branching.wiki">Forking, Merging, and Tagging &mdash; Branching,</a></li>
93 <li><a href="delta_format.wiki">Format &mdash; Fossil Delta</a></li>
94 <li><a href="fileformat.wiki">Format &mdash; Fossil File</a></li>
95 <li><a href="../../../md_rules">Formatting Rules &mdash; Markdown</a></li>
@@ -109,11 +109,11 @@
109 <li><a href="faq.wiki"><b>Frequently Asked Questions</b></a></li>
110 <li><a href="quotes.wiki">General &mdash; Quotes: What People Are Saying About Fossil, Git, and DVCSes in</a></li>
111 <li><a href="fossil-v-git.wiki">Git &mdash; Fossil Versus</a></li>
112 <li><a href="inout.wiki">Git &mdash; Import And Export To And From</a></li>
113 <li><a href="quotes.wiki">Git, and DVCSes in General &mdash; Quotes: What People Are Saying About Fossil,</a></li>
114 <li><a href="globs.md">Glob Patterns &mdash; File Name</a></li>
115 <li><a href="env-opts.md">Global Options &mdash; Environment Variables and</a></li>
116 <li><a href="customgraph.md">Graph &mdash; Theming: Customizing the Timeline</a></li>
117 <li><a href="quickstart.wiki">Guide &mdash; Fossil Quick Start</a></li>
118 <li><a href="style.wiki">Guidelines &mdash; Source Code Style</a></li>
119 <li><a href="hacker-howto.wiki"><b>Hacker How-To</b></a></li>
@@ -142,10 +142,11 @@
142 <li><a href="../../../sitemap">Map &mdash; Site</a></li>
143 <li><a href="../../../md_rules"><b>Markdown Formatting Rules</b></a></li>
144 <li><a href="branching.wiki">Merging, and Tagging &mdash; Branching, Forking,</a></li>
145 <li><a href="fossil-from-msvc.wiki">Microsoft Express 2010 IDE &mdash; Integrating Fossil in the</a></li>
146 <li><a href="fiveminutes.wiki">Minutes as a Single User &mdash; Up and Running in 5</a></li>
147 <li><a href="globs.md">Name Glob Patterns &mdash; File</a></li>
148 <li><a href="checkin_names.wiki">Names &mdash; Check-in And Version</a></li>
149 <li><a href="adding_code.wiki">New Features To Fossil &mdash; Adding</a></li>
150 <li><a href="newrepo.wiki">New Fossil Repository &mdash; How To Create A</a></li>
151 <li><a href="foss-cklist.wiki">Open-Source Projects &mdash; Checklist For Successful</a></li>
152 <li><a href="pop.wiki">Operation &mdash; Principles Of</a></li>
@@ -153,11 +154,11 @@
154 <li><a href="tech_overview.wiki">Overview Of The Design And Implementation Of Fossil &mdash; A Technical</a></li>
155 <li><a href="index.wiki">Page &mdash; Home</a></li>
156 <li><a href="aboutdownload.wiki">Page Works &mdash; How The Download</a></li>
157 <li><a href="customskin.md">Pages &mdash; Theming: Customizing The Appearance of Web</a></li>
158 <li><a href="password.wiki"><b>Password Management And Authentication</b></a></li>
159 <li><a href="globs.md">Patterns &mdash; File Name Glob</a></li>
160 <li><a href="quotes.wiki">People Are Saying About Fossil, Git, and DVCSes in General &mdash; Quotes: What</a></li>
161 <li><a href="stats.wiki"><b>Performance Statistics</b></a></li>
162 <li><a href="hashpolicy.wiki">Policy: Choosing Between SHA1 and SHA3-256 &mdash; Hash</a></li>
163 <li><a href="../test/release-checklist.wiki"><b>Pre-Release Testing Checklist</b></a></li>
164 <li><a href="pop.wiki"><b>Principles Of Operation</b></a></li>
@@ -213,6 +214,32 @@
214 <li><a href="tickets.wiki"><b>The Fossil Ticket System</b></a></li>
215 <li><a href="webui.wiki"><b>The Fossil Web Interface</b></a></li>
216 <li><a href="th1.md"><b>The TH1 Scripting Language</b></a></li>
217 <li><a href="customskin.md"><b>Theming: Customizing The Appearance of Web Pages</b></a></li>
218 <li><a href="customgraph.md"><b>Theming: Customizing the Timeline Graph</b></a></li>
219 <li><a href="theory1.wiki"><b>Thoughts On The Design Of The Fossil DVCS</b></a></li>
220 <li><a href="custom_ticket.wiki">Ticket System &mdash; Customizing The</a></li>
221 <li><a href="tickets.wiki">Ticket System &mdash; The Fossil</a></li>
222 <li><a href="customgraph.md">Timeline Graph &mdash; Theming: Customizing the</a></li>
223 <li><a href="hints.wiki">Tips And Usage Hints &mdash; Fossil</a></li>
224 <li><a href="bugtheory.wiki">Tracking In Fossil &mdash; Bug</a></li>
225 <li><a href="unvers.wiki"><b>Unversioned Files</b></a></li>
226 <li><a href="fiveminutes.wiki"><b>Up and Running in 5 Minutes as a Single User</b></a></li>
227 <li><a href="hints.wiki">Usage Hints &mdash; Fossil Tips And</a></li>
228 <li><a href="fiveminutes.wiki">User &mdash; Up and Running in 5 Minutes as a Single</a></li>
229 <li><a href="ssl.wiki"><b>Using SSL with Fossil</b></a></li>
230 <li><a href="env-opts.md">Variables and Global Options &mdash; Environment</a></li>
231 <li><a href="whyusefossil.wiki">Version Control &mdash; Benefits Of</a></li>
232 <li><a href="checkin_names.wiki">Version Names &mdash; Check-in And</a></li>
233 <li><a href="fossil-v-git.wiki">Versus Git &mdash; Fossil</a></li>
234 <li><a href="webui.wiki">Web Interface &mdash; The Fossil</a></li>
235 <li><a href="customskin.md">Web Pages &mdash; Theming: Customizing The Appearance of</a></li>
236 <li><a href="webpage-ex.md"><b>Webpage Examples</b></a></li>
237 <li><a href="../../../help">Webpages &mdash; Lists of Commands and</a></li>
238 <li><a href="quotes.wiki">What People Are Saying About Fossil, Git, and DVCSes in General &mdash; Quotes:</a></li>
239 <li><a href="whyusefossil.wiki"><b>Why You Should Use Fossil</b></a></li>
240 <li><a href="../../../wiki_rules"><b>Wiki Formatting Rules</b></a></li>
241 <li><a href="wikitheory.wiki"><b>Wiki In Fossil</b></a></li>
242 <li><a href="aboutdownload.wiki">Works &mdash; How The Download Page</a></li>
243 <li><a href="aboutcgi.wiki">Works In Fossil &mdash; How CGI</a></li>
244 <li><a href="whyusefossil.wiki">You Should Use Fossil &mdash; Why</a></li>
245 </ul></div>
246

Keyboard Shortcuts

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