Fossil SCM

Added info about fossil undo, fossil amend, and shunning to the fossil-v-git doc, with comparison to the Git way of changing history.

wyoung 2019-07-17 14:52 trunk
Commit e878d54dcc27d8846d37a6c23c2627f2f311e77da741445bacb9805f4bc41888
1 file changed +24 -1
--- www/fossil-v-git.wiki
+++ www/fossil-v-git.wiki
@@ -409,11 +409,20 @@
409409
makes the history of a Fossil project "messy." But another point of view
410410
is that this makes the history "accurate." In actual practice, the
411411
superior reporting tools available in Fossil mean that the added "mess"
412412
is not a factor.
413413
414
-One commentator has mused that Git records history according to
414
+Like Git, Fossil has an [/help?cmd=amend|amend command] for modifying
415
+prior commits, but unlike in Git, this works not by replacing data in
416
+the repository, but by adding a correction record to the repository that
417
+affects how later Fossil operations present the corrected data. The old
418
+information is still there in the repository, it is just overridden from
419
+the amendment point forward. For extreme situations, Fossil adds the
420
+[/doc/trunk/www/shunning.wiki|shunning mechanism], but it has strict
421
+limitations that prevent global history rewrites.
422
+
423
+One commentator characterized Git as recording history according to
415424
the victors, whereas Fossil records history as it actually happened.
416425
417426
418427
<h2 id="missing">3.0 Missing Features</h2>
419428
@@ -462,10 +471,24 @@
462471
* <b>The [/help?cmd=ui|fossil ui] command</b>
463472
464473
Fossil supports an integrated web interface. Some of the same features
465474
are available using third-party add-ons for Git, but they do not provide
466475
nearly as many features and they are not nearly as convenient to use.
476
+
477
+ * <b>The [/help?cmd=undo|fossil undo] command</b>
478
+
479
+ Whenever Fossil is told to modify the local checkout in some
480
+ destructive way ([/help?cmd=rm|fossil rm], [/help?cmd=update|fossil
481
+ update], [/help?cmd=revert|fossil revert], etc.) Fossil remembers the
482
+ prior state and is able to return the local check-out directory to
483
+ its prior state with a simple "fossil undo" command. You
484
+ [#history|cannot undo a commit], since writes to the actual
485
+ repository — as opposed to the local check-out directory — are more
486
+ or less permanent, on purpose, but as long as the change is simply
487
+ staged locally, Fossil makes undo
488
+ [https://git-scm.com/book/en/v2/Git-Basics-Undoing-Things|easier than
489
+ in Git].
467490
468491
469492
<h3 id="missing-in-fossil">3.2 Features found in Git but missing from Fossil</h3>
470493
471494
* <b>Rebase</b>
472495
--- www/fossil-v-git.wiki
+++ www/fossil-v-git.wiki
@@ -409,11 +409,20 @@
409 makes the history of a Fossil project "messy." But another point of view
410 is that this makes the history "accurate." In actual practice, the
411 superior reporting tools available in Fossil mean that the added "mess"
412 is not a factor.
413
414 One commentator has mused that Git records history according to
 
 
 
 
 
 
 
 
 
415 the victors, whereas Fossil records history as it actually happened.
416
417
418 <h2 id="missing">3.0 Missing Features</h2>
419
@@ -462,10 +471,24 @@
462 * <b>The [/help?cmd=ui|fossil ui] command</b>
463
464 Fossil supports an integrated web interface. Some of the same features
465 are available using third-party add-ons for Git, but they do not provide
466 nearly as many features and they are not nearly as convenient to use.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
467
468
469 <h3 id="missing-in-fossil">3.2 Features found in Git but missing from Fossil</h3>
470
471 * <b>Rebase</b>
472
--- www/fossil-v-git.wiki
+++ www/fossil-v-git.wiki
@@ -409,11 +409,20 @@
409 makes the history of a Fossil project "messy." But another point of view
410 is that this makes the history "accurate." In actual practice, the
411 superior reporting tools available in Fossil mean that the added "mess"
412 is not a factor.
413
414 Like Git, Fossil has an [/help?cmd=amend|amend command] for modifying
415 prior commits, but unlike in Git, this works not by replacing data in
416 the repository, but by adding a correction record to the repository that
417 affects how later Fossil operations present the corrected data. The old
418 information is still there in the repository, it is just overridden from
419 the amendment point forward. For extreme situations, Fossil adds the
420 [/doc/trunk/www/shunning.wiki|shunning mechanism], but it has strict
421 limitations that prevent global history rewrites.
422
423 One commentator characterized Git as recording history according to
424 the victors, whereas Fossil records history as it actually happened.
425
426
427 <h2 id="missing">3.0 Missing Features</h2>
428
@@ -462,10 +471,24 @@
471 * <b>The [/help?cmd=ui|fossil ui] command</b>
472
473 Fossil supports an integrated web interface. Some of the same features
474 are available using third-party add-ons for Git, but they do not provide
475 nearly as many features and they are not nearly as convenient to use.
476
477 * <b>The [/help?cmd=undo|fossil undo] command</b>
478
479 Whenever Fossil is told to modify the local checkout in some
480 destructive way ([/help?cmd=rm|fossil rm], [/help?cmd=update|fossil
481 update], [/help?cmd=revert|fossil revert], etc.) Fossil remembers the
482 prior state and is able to return the local check-out directory to
483 its prior state with a simple "fossil undo" command. You
484 [#history|cannot undo a commit], since writes to the actual
485 repository — as opposed to the local check-out directory — are more
486 or less permanent, on purpose, but as long as the change is simply
487 staged locally, Fossil makes undo
488 [https://git-scm.com/book/en/v2/Git-Basics-Undoing-Things|easier than
489 in Git].
490
491
492 <h3 id="missing-in-fossil">3.2 Features found in Git but missing from Fossil</h3>
493
494 * <b>Rebase</b>
495

Keyboard Shortcuts

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