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.
Commit
f378f5dc5bb8836e423b382f0eff332147657717d9def25c7457cc21853d887d
Parent
b2c032ea3ad24e5…
1 file changed
+86
-47
+86
-47
| --- www/gitusers.md | ||
| +++ www/gitusers.md | ||
| @@ -302,10 +302,13 @@ | ||
| 302 | 302 | manually, by adding the `r=` query parameter.) Note that even in this |
| 303 | 303 | case, the Fossil timeline still shows other branches where they interact |
| 304 | 304 | with the one you’ve referenced in this way; again, better situational |
| 305 | 305 | awareness. |
| 306 | 306 | |
| 307 | + | |
| 308 | +#### <a id="emu-log"></a> Emulating `git log` | |
| 309 | + | |
| 307 | 310 | If you truly need a backwards-in-time-only view of history in Fossil to |
| 308 | 311 | emulate `git log`, this is as close as you can currently come: |
| 309 | 312 | |
| 310 | 313 | fossil timeline parents current |
| 311 | 314 | |
| @@ -318,20 +321,102 @@ | ||
| 318 | 321 | fossil time -v |
| 319 | 322 | |
| 320 | 323 | This shows what changed in each version, though Fossil’s view is more a |
| 321 | 324 | summary than a list of raw changes. To dig deeper into single commits, |
| 322 | 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`”. | |
| 323 | 407 | |
| 324 | 408 | [35pct]: https://www.sqlite.org/fasterthanfs.html |
| 325 | 409 | [btree]: https://sqlite.org/btreemodule.html |
| 410 | +[gcn]: https://git-scm.com/docs/gitrevisions | |
| 326 | 411 | [infoc]: /help?cmd=info |
| 327 | 412 | [infow]: /help?cmd=/info |
| 328 | 413 | [ocomp]: https://www.bigocheatsheet.com/ |
| 329 | 414 | [tlc]: /help?cmd=timeline |
| 330 | 415 | [tlw]: /help?cmd=/timeline |
| 416 | +[up]: /help?cmd=update | |
| 331 | 417 | [wdm]: ./fossil-v-git.wiki#durable |
| 332 | - | |
| 333 | 418 | |
| 334 | 419 | |
| 335 | 420 | ## <a id="slcom"></a> Summary Line Convention In Commit Comments |
| 336 | 421 | |
| 337 | 422 | The Git convention of a [length-limited summary line][lsl] at the start |
| @@ -594,56 +679,10 @@ | ||
| 594 | 679 | |
| 595 | 680 | [cdiff]: https://www.colordiff.org/ |
| 596 | 681 | [dcset]: https://fossil-scm.org/home/help?cmd=diff-command |
| 597 | 682 | [dst]: https://invisible-island.net/diffstat/diffstat.html |
| 598 | 683 | |
| 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 | 684 | |
| 646 | 685 | <a id="btnames"></a> |
| 647 | 686 | ## Branch And Tag Names |
| 648 | 687 | |
| 649 | 688 | Fossil has no special restrictions on the names of tags and branches, |
| 650 | 689 |
| --- 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 |