Fossil SCM

Moved the "What Changed?" section of gitusers.md up into the "Log" section since "git whatchanged" is approximately the same as "git log --raw", so they should be covered near each other. Then expanded the Log section's discussion of symbolic checkin names into a new sub-section, adding more info on cryptic Git revision names.

wyoung 2020-11-02 05:20 trunk
Commit f378f5dc5bb8836e423b382f0eff332147657717d9def25c7457cc21853d887d
1 file changed +86 -47
+86 -47
--- www/gitusers.md
+++ www/gitusers.md
@@ -302,10 +302,13 @@
302302
manually, by adding the `r=` query parameter.) Note that even in this
303303
case, the Fossil timeline still shows other branches where they interact
304304
with the one you’ve referenced in this way; again, better situational
305305
awareness.
306306
307
+
308
+#### <a id="emu-log"></a> Emulating `git log`
309
+
307310
If you truly need a backwards-in-time-only view of history in Fossil to
308311
emulate `git log`, this is as close as you can currently come:
309312
310313
fossil timeline parents current
311314
@@ -318,20 +321,102 @@
318321
fossil time -v
319322
320323
This shows what changed in each version, though Fossil’s view is more a
321324
summary than a list of raw changes. To dig deeper into single commits,
322325
you can use Fossil’s [`info` command][infoc] or its [`/info` view][infow].
326
+
327
+Inversely, you may more exactly emulate the default `fossil timeline`
328
+output with `git log --name-status`.
329
+
330
+
331
+#### <a id="whatchanged"></a> What Changed?
332
+
333
+A related command is `git whatchanged`, which gives results similar to
334
+`git log --raw`.
335
+
336
+Though there is no `fossil whatchanged` command, the same sort of
337
+information is available. For example, to pull the current changes from
338
+the remote repository and then inspect them before updating the local
339
+working directory, you might say this in Git:
340
+
341
+ git fetch
342
+ git whatchanged ..@{u}
343
+
344
+…which you can approximate in Fossil as:
345
+
346
+ fossil pull
347
+ fossil up -n
348
+ fossil diff --from tip
349
+
350
+To invert the direction of the `diff`, say instead:
351
+
352
+ fossil diff --from current --to tip
353
+
354
+Rather than use the “dry run” form of [the `update` command][up], you can
355
+say:
356
+
357
+ fossil timeline after current
358
+
359
+…or if you want to restrict the output to the current branch:
360
+
361
+ fossil timeline descendants current
362
+
363
+
364
+#### <a id="ckin-names"></a> Symbolic Check-In Names
365
+
366
+Note the use of [human-readable symbolic version names][scin] in Fossil
367
+rather than [Git’s cryptic notations][gcn].
368
+
369
+For a more dramatic example of this, let us ask Git, “What changed since the
370
+beginning of last month?” being October 2020 as I write this:
371
+
372
+ git log master@{2020-10-01}..HEAD
373
+
374
+That’s rather obscure! Fossil answers the same question with a simpler
375
+command:
376
+
377
+ fossil timeline after 2020-10-01
378
+
379
+You may need to add `-n 0` to bypass the default output limit of
380
+`fossil timeline`, 20 entries. Without that, this command reads
381
+almost like English.
382
+
383
+Some Git users like to write commands like the above so:
384
+
385
+ git log @{2020-10-01}..@
386
+
387
+Is that better? “@” now means two different things: an at-time reference
388
+and a shortcut for `HEAD`!
389
+
390
+If you are one of those that like short commands, Fossil’s method is
391
+less cryptic: it lets you shorten words in most cases up to the point
392
+that they become ambiguous. For example, you may abbreviate the last
393
+`fossil` command in the prior section:
394
+
395
+ fossil tim d c
396
+
397
+…beyond which the `timeline` command becomes ambiguous with `ticket`.
398
+
399
+Some Fossil users employ shell aliases, symlinks, or scripts to shorten
400
+the command still further:
401
+
402
+ alias f=fossil
403
+ f tim d c
404
+
405
+Granted, that’s rather obscure, but you you can also choose something
406
+intermediate like “`f time desc curr`”.
323407
324408
[35pct]: https://www.sqlite.org/fasterthanfs.html
325409
[btree]: https://sqlite.org/btreemodule.html
410
+[gcn]: https://git-scm.com/docs/gitrevisions
326411
[infoc]: /help?cmd=info
327412
[infow]: /help?cmd=/info
328413
[ocomp]: https://www.bigocheatsheet.com/
329414
[tlc]: /help?cmd=timeline
330415
[tlw]: /help?cmd=/timeline
416
+[up]: /help?cmd=update
331417
[wdm]: ./fossil-v-git.wiki#durable
332
-
333418
334419
335420
## <a id="slcom"></a> Summary Line Convention In Commit Comments
336421
337422
The Git convention of a [length-limited summary line][lsl] at the start
@@ -594,56 +679,10 @@
594679
595680
[cdiff]: https://www.colordiff.org/
596681
[dcset]: https://fossil-scm.org/home/help?cmd=diff-command
597682
[dst]: https://invisible-island.net/diffstat/diffstat.html
598683
599
-
600
-## <a id="whatchanged"></a> What Changed?
601
-
602
-As with `git show`, there is no `fossil whatchanged` command, but the
603
-information is usually available. For example, to pull the current
604
-changes from the remote repository and then inspect them before updating
605
-the local working directory, you might say this in Git:
606
-
607
- git fetch
608
- git whatchanged ..@{u}
609
-
610
-…which you can approximate in Fossil as:
611
-
612
- fossil pull
613
- fossil up -n
614
- fossil diff --from tip
615
-
616
-To invert the direction of the `diff`, say instead:
617
-
618
- fossil diff --from current --to tip
619
-
620
-Rather than use the “dry run” form of [the `update` command][up], you can
621
-say:
622
-
623
- fossil timeline after current
624
-
625
-…or if you want to restrict the output to the current branch:
626
-
627
- fossil timeline descendants current
628
-
629
-Note the use of [human-readable symbolic version names][scin] rather than
630
-cryptic notations.
631
-
632
-If you prefer brief commands, Fossil lets you abbreviate the last one as
633
-far as “`fossil tim d c`”, beyond which the `timeline` command becomes
634
-ambiguous with `ticket`. Some of the core Fossil developers set
635
-“`alias f=fossil`” in their command shell or symlink the `fossil`
636
-executable to `f` so that the command becomes rather obscure:
637
-“`f tim d c`”.
638
-
639
-You might need to add `-n 0` to
640
-these `fossil timeline` commands to bypass the default output limit, 20
641
-entries.
642
-
643
-[up]: /help?cmd=update
644
-
645684
646685
<a id="btnames"></a>
647686
## Branch And Tag Names
648687
649688
Fossil has no special restrictions on the names of tags and branches,
650689
--- www/gitusers.md
+++ www/gitusers.md
@@ -302,10 +302,13 @@
302 manually, by adding the `r=` query parameter.) Note that even in this
303 case, the Fossil timeline still shows other branches where they interact
304 with the one you’ve referenced in this way; again, better situational
305 awareness.
306
 
 
 
307 If you truly need a backwards-in-time-only view of history in Fossil to
308 emulate `git log`, this is as close as you can currently come:
309
310 fossil timeline parents current
311
@@ -318,20 +321,102 @@
318 fossil time -v
319
320 This shows what changed in each version, though Fossil’s view is more a
321 summary than a list of raw changes. To dig deeper into single commits,
322 you can use Fossil’s [`info` command][infoc] or its [`/info` view][infow].
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
323
324 [35pct]: https://www.sqlite.org/fasterthanfs.html
325 [btree]: https://sqlite.org/btreemodule.html
 
326 [infoc]: /help?cmd=info
327 [infow]: /help?cmd=/info
328 [ocomp]: https://www.bigocheatsheet.com/
329 [tlc]: /help?cmd=timeline
330 [tlw]: /help?cmd=/timeline
 
331 [wdm]: ./fossil-v-git.wiki#durable
332
333
334
335 ## <a id="slcom"></a> Summary Line Convention In Commit Comments
336
337 The Git convention of a [length-limited summary line][lsl] at the start
@@ -594,56 +679,10 @@
594
595 [cdiff]: https://www.colordiff.org/
596 [dcset]: https://fossil-scm.org/home/help?cmd=diff-command
597 [dst]: https://invisible-island.net/diffstat/diffstat.html
598
599
600 ## <a id="whatchanged"></a> What Changed?
601
602 As with `git show`, there is no `fossil whatchanged` command, but the
603 information is usually available. For example, to pull the current
604 changes from the remote repository and then inspect them before updating
605 the local working directory, you might say this in Git:
606
607 git fetch
608 git whatchanged ..@{u}
609
610 …which you can approximate in Fossil as:
611
612 fossil pull
613 fossil up -n
614 fossil diff --from tip
615
616 To invert the direction of the `diff`, say instead:
617
618 fossil diff --from current --to tip
619
620 Rather than use the “dry run” form of [the `update` command][up], you can
621 say:
622
623 fossil timeline after current
624
625 …or if you want to restrict the output to the current branch:
626
627 fossil timeline descendants current
628
629 Note the use of [human-readable symbolic version names][scin] rather than
630 cryptic notations.
631
632 If you prefer brief commands, Fossil lets you abbreviate the last one as
633 far as “`fossil tim d c`”, beyond which the `timeline` command becomes
634 ambiguous with `ticket`. Some of the core Fossil developers set
635 “`alias f=fossil`” in their command shell or symlink the `fossil`
636 executable to `f` so that the command becomes rather obscure:
637 “`f tim d c`”.
638
639 You might need to add `-n 0` to
640 these `fossil timeline` commands to bypass the default output limit, 20
641 entries.
642
643 [up]: /help?cmd=update
644
645
646 <a id="btnames"></a>
647 ## Branch And Tag Names
648
649 Fossil has no special restrictions on the names of tags and branches,
650
--- www/gitusers.md
+++ www/gitusers.md
@@ -302,10 +302,13 @@
302 manually, by adding the `r=` query parameter.) Note that even in this
303 case, the Fossil timeline still shows other branches where they interact
304 with the one you’ve referenced in this way; again, better situational
305 awareness.
306
307
308 #### <a id="emu-log"></a> Emulating `git log`
309
310 If you truly need a backwards-in-time-only view of history in Fossil to
311 emulate `git log`, this is as close as you can currently come:
312
313 fossil timeline parents current
314
@@ -318,20 +321,102 @@
321 fossil time -v
322
323 This shows what changed in each version, though Fossil’s view is more a
324 summary than a list of raw changes. To dig deeper into single commits,
325 you can use Fossil’s [`info` command][infoc] or its [`/info` view][infow].
326
327 Inversely, you may more exactly emulate the default `fossil timeline`
328 output with `git log --name-status`.
329
330
331 #### <a id="whatchanged"></a> What Changed?
332
333 A related command is `git whatchanged`, which gives results similar to
334 `git log --raw`.
335
336 Though there is no `fossil whatchanged` command, the same sort of
337 information is available. For example, to pull the current changes from
338 the remote repository and then inspect them before updating the local
339 working directory, you might say this in Git:
340
341 git fetch
342 git whatchanged ..@{u}
343
344 …which you can approximate in Fossil as:
345
346 fossil pull
347 fossil up -n
348 fossil diff --from tip
349
350 To invert the direction of the `diff`, say instead:
351
352 fossil diff --from current --to tip
353
354 Rather than use the “dry run” form of [the `update` command][up], you can
355 say:
356
357 fossil timeline after current
358
359 …or if you want to restrict the output to the current branch:
360
361 fossil timeline descendants current
362
363
364 #### <a id="ckin-names"></a> Symbolic Check-In Names
365
366 Note the use of [human-readable symbolic version names][scin] in Fossil
367 rather than [Git’s cryptic notations][gcn].
368
369 For a more dramatic example of this, let us ask Git, “What changed since the
370 beginning of last month?” being October 2020 as I write this:
371
372 git log master@{2020-10-01}..HEAD
373
374 That’s rather obscure! Fossil answers the same question with a simpler
375 command:
376
377 fossil timeline after 2020-10-01
378
379 You may need to add `-n 0` to bypass the default output limit of
380 `fossil timeline`, 20 entries. Without that, this command reads
381 almost like English.
382
383 Some Git users like to write commands like the above so:
384
385 git log @{2020-10-01}..@
386
387 Is that better? “@” now means two different things: an at-time reference
388 and a shortcut for `HEAD`!
389
390 If you are one of those that like short commands, Fossil’s method is
391 less cryptic: it lets you shorten words in most cases up to the point
392 that they become ambiguous. For example, you may abbreviate the last
393 `fossil` command in the prior section:
394
395 fossil tim d c
396
397 …beyond which the `timeline` command becomes ambiguous with `ticket`.
398
399 Some Fossil users employ shell aliases, symlinks, or scripts to shorten
400 the command still further:
401
402 alias f=fossil
403 f tim d c
404
405 Granted, that’s rather obscure, but you you can also choose something
406 intermediate like “`f time desc curr`”.
407
408 [35pct]: https://www.sqlite.org/fasterthanfs.html
409 [btree]: https://sqlite.org/btreemodule.html
410 [gcn]: https://git-scm.com/docs/gitrevisions
411 [infoc]: /help?cmd=info
412 [infow]: /help?cmd=/info
413 [ocomp]: https://www.bigocheatsheet.com/
414 [tlc]: /help?cmd=timeline
415 [tlw]: /help?cmd=/timeline
416 [up]: /help?cmd=update
417 [wdm]: ./fossil-v-git.wiki#durable
 
418
419
420 ## <a id="slcom"></a> Summary Line Convention In Commit Comments
421
422 The Git convention of a [length-limited summary line][lsl] at the start
@@ -594,56 +679,10 @@
679
680 [cdiff]: https://www.colordiff.org/
681 [dcset]: https://fossil-scm.org/home/help?cmd=diff-command
682 [dst]: https://invisible-island.net/diffstat/diffstat.html
683
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
684
685 <a id="btnames"></a>
686 ## Branch And Tag Names
687
688 Fossil has no special restrictions on the names of tags and branches,
689

Keyboard Shortcuts

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