Fossil SCM
Moved the "Checkout Workflows" section of the gitusers doc up so we can shorten the section intro, and added brief comparisons between Fossil and Git specifically here, since the new ckout-workflows doc glosses those points now.
Commit
f2c5ab91a96551b6b417111c9ca319e311716fab38df0d02cd0773c9c0f851b0
Parent
13f8eb098c05adf…
1 file changed
+45
-32
+45
-32
| --- www/gitusers.md | ||
| +++ www/gitusers.md | ||
| @@ -33,25 +33,55 @@ | ||
| 33 | 33 | |
| 34 | 34 | <a id="mwd"></a> |
| 35 | 35 | ## Repositories And Checkouts Are Distinct |
| 36 | 36 | |
| 37 | 37 | A repository and a check-out are distinct concepts in Fossil, whereas |
| 38 | -the two are collocated by default with Git. | |
| 39 | - | |
| 40 | -A Fossil repository is a SQLite database storing | |
| 41 | -the entire history of a project. A Fossil check-out is a | |
| 42 | -directory that contains a snapshot of your project that you | |
| 43 | -are currently working on, extracted for you from that database by the | |
| 44 | -`fossil` program. | |
| 45 | - | |
| 46 | -With Git, cloning a repository gets you what Fossil would call a | |
| 47 | -check-out directory with the repository stored in a `.git` subdirectory | |
| 48 | -of that check-out. There are methods to get additional working directories | |
| 49 | -pointing at that same Git repository, but because it’s not designed into | |
| 50 | -the core concept of the tool, Git tutorials usually advocate a | |
| 51 | -switch-in-place working mode instead, so that is how most users end up | |
| 52 | -working with it. | |
| 38 | +the two are collocated by default with Git. This difference shows up in | |
| 39 | +several separate places when it comes to moving from Git to Fossil. | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | +#### <a id="cwork" name="scw"></a> Checkout Workflows | |
| 44 | + | |
| 45 | +A Fossil repository is a SQLite database storing the entire history of a | |
| 46 | +project. It is not normally stored inside the working tree, as with Git. | |
| 47 | + | |
| 48 | +The working tree — also called a check-out in Fossil — is a directory | |
| 49 | +that contains a snapshot of your project that you are currently working | |
| 50 | +on, extracted for you from the repository database file by the `fossil` | |
| 51 | +program. | |
| 52 | + | |
| 53 | +Git commingles these two by default, with the repository stored in a | |
| 54 | +`.git` subdirectory underneath your working directory. There are ways to | |
| 55 | +emulate the Fossil working style in Git, but because they’re not | |
| 56 | +designed into the core concept of the tool, Git tutorials usually | |
| 57 | +advocate a switch-in-place working mode instead, so that is how most | |
| 58 | +users end up working with Git. Contrast [Fossil’s check-out workflow | |
| 59 | +document][ckwf] to see the practical differences. | |
| 60 | + | |
| 61 | +There are two key Git-specific things to add to that document. | |
| 62 | + | |
| 63 | +First, this: | |
| 64 | + | |
| 65 | + git checkout some-branch | |
| 66 | + | |
| 67 | +…is spelled: | |
| 68 | + | |
| 69 | + fossil update some-branch | |
| 70 | + | |
| 71 | +…in Fossil. | |
| 72 | + | |
| 73 | +Second, as of Fossil 2.14, we now have Git-style clone-and-open: | |
| 74 | + | |
| 75 | + fossil clone https://example.com/repo | |
| 76 | + | |
| 77 | +That gets you a `repo.fossil` file, opened into a `repo/` working | |
| 78 | +directory alongside it. Note that we do not commingle the repo and | |
| 79 | +working directory even in this case. See [the workflows doc][ckwf] | |
| 80 | +for more detail on this and related topics. | |
| 81 | + | |
| 82 | +[ckwf]: ./ckout-workflows.md | |
| 53 | 83 | |
| 54 | 84 | |
| 55 | 85 | #### <a id="rname"></a> Naming Repositories |
| 56 | 86 | |
| 57 | 87 | The Fossil repository database file can be named anything |
| @@ -94,27 +124,10 @@ | ||
| 94 | 124 | ``` |
| 95 | 125 | |
| 96 | 126 | On a Windows box, you might instead choose "`C:\Fossils`" |
| 97 | 127 | and do without the subdirectory scheme, for example. |
| 98 | 128 | |
| 99 | - | |
| 100 | -#### <a id="cwork" name="scw"></a> Checkout Workflows | |
| 101 | - | |
| 102 | -This is a complicated topic, so we [cover it elsewhere][cw]. | |
| 103 | - | |
| 104 | -The main Git-specific thing to add to that document is that this: | |
| 105 | - | |
| 106 | - git checkout some-branch | |
| 107 | - | |
| 108 | -…is spelled: | |
| 109 | - | |
| 110 | - fossil update some-branch | |
| 111 | - | |
| 112 | -…in Fossil. | |
| 113 | - | |
| 114 | -[cw]: ./ckout-workflows.md | |
| 115 | - | |
| 116 | 129 | |
| 117 | 130 | #### <a id="close" name="dotfile"></a> Closing A Check-Out |
| 118 | 131 | |
| 119 | 132 | The [`fossil close`][close] command dissaociates a check-out directory from the |
| 120 | 133 | Fossil repository database, nondestructively inverting [`fossil open`][open]. It |
| 121 | 134 |
| --- www/gitusers.md | |
| +++ www/gitusers.md | |
| @@ -33,25 +33,55 @@ | |
| 33 | |
| 34 | <a id="mwd"></a> |
| 35 | ## Repositories And Checkouts Are Distinct |
| 36 | |
| 37 | A repository and a check-out are distinct concepts in Fossil, whereas |
| 38 | the two are collocated by default with Git. |
| 39 | |
| 40 | A Fossil repository is a SQLite database storing |
| 41 | the entire history of a project. A Fossil check-out is a |
| 42 | directory that contains a snapshot of your project that you |
| 43 | are currently working on, extracted for you from that database by the |
| 44 | `fossil` program. |
| 45 | |
| 46 | With Git, cloning a repository gets you what Fossil would call a |
| 47 | check-out directory with the repository stored in a `.git` subdirectory |
| 48 | of that check-out. There are methods to get additional working directories |
| 49 | pointing at that same Git repository, but because it’s not designed into |
| 50 | the core concept of the tool, Git tutorials usually advocate a |
| 51 | switch-in-place working mode instead, so that is how most users end up |
| 52 | working with it. |
| 53 | |
| 54 | |
| 55 | #### <a id="rname"></a> Naming Repositories |
| 56 | |
| 57 | The Fossil repository database file can be named anything |
| @@ -94,27 +124,10 @@ | |
| 94 | ``` |
| 95 | |
| 96 | On a Windows box, you might instead choose "`C:\Fossils`" |
| 97 | and do without the subdirectory scheme, for example. |
| 98 | |
| 99 | |
| 100 | #### <a id="cwork" name="scw"></a> Checkout Workflows |
| 101 | |
| 102 | This is a complicated topic, so we [cover it elsewhere][cw]. |
| 103 | |
| 104 | The main Git-specific thing to add to that document is that this: |
| 105 | |
| 106 | git checkout some-branch |
| 107 | |
| 108 | …is spelled: |
| 109 | |
| 110 | fossil update some-branch |
| 111 | |
| 112 | …in Fossil. |
| 113 | |
| 114 | [cw]: ./ckout-workflows.md |
| 115 | |
| 116 | |
| 117 | #### <a id="close" name="dotfile"></a> Closing A Check-Out |
| 118 | |
| 119 | The [`fossil close`][close] command dissaociates a check-out directory from the |
| 120 | Fossil repository database, nondestructively inverting [`fossil open`][open]. It |
| 121 |
| --- www/gitusers.md | |
| +++ www/gitusers.md | |
| @@ -33,25 +33,55 @@ | |
| 33 | |
| 34 | <a id="mwd"></a> |
| 35 | ## Repositories And Checkouts Are Distinct |
| 36 | |
| 37 | A repository and a check-out are distinct concepts in Fossil, whereas |
| 38 | the two are collocated by default with Git. This difference shows up in |
| 39 | several separate places when it comes to moving from Git to Fossil. |
| 40 | |
| 41 | |
| 42 | |
| 43 | #### <a id="cwork" name="scw"></a> Checkout Workflows |
| 44 | |
| 45 | A Fossil repository is a SQLite database storing the entire history of a |
| 46 | project. It is not normally stored inside the working tree, as with Git. |
| 47 | |
| 48 | The working tree — also called a check-out in Fossil — is a directory |
| 49 | that contains a snapshot of your project that you are currently working |
| 50 | on, extracted for you from the repository database file by the `fossil` |
| 51 | program. |
| 52 | |
| 53 | Git commingles these two by default, with the repository stored in a |
| 54 | `.git` subdirectory underneath your working directory. There are ways to |
| 55 | emulate the Fossil working style in Git, but because they’re not |
| 56 | designed into the core concept of the tool, Git tutorials usually |
| 57 | advocate a switch-in-place working mode instead, so that is how most |
| 58 | users end up working with Git. Contrast [Fossil’s check-out workflow |
| 59 | document][ckwf] to see the practical differences. |
| 60 | |
| 61 | There are two key Git-specific things to add to that document. |
| 62 | |
| 63 | First, this: |
| 64 | |
| 65 | git checkout some-branch |
| 66 | |
| 67 | …is spelled: |
| 68 | |
| 69 | fossil update some-branch |
| 70 | |
| 71 | …in Fossil. |
| 72 | |
| 73 | Second, as of Fossil 2.14, we now have Git-style clone-and-open: |
| 74 | |
| 75 | fossil clone https://example.com/repo |
| 76 | |
| 77 | That gets you a `repo.fossil` file, opened into a `repo/` working |
| 78 | directory alongside it. Note that we do not commingle the repo and |
| 79 | working directory even in this case. See [the workflows doc][ckwf] |
| 80 | for more detail on this and related topics. |
| 81 | |
| 82 | [ckwf]: ./ckout-workflows.md |
| 83 | |
| 84 | |
| 85 | #### <a id="rname"></a> Naming Repositories |
| 86 | |
| 87 | The Fossil repository database file can be named anything |
| @@ -94,27 +124,10 @@ | |
| 124 | ``` |
| 125 | |
| 126 | On a Windows box, you might instead choose "`C:\Fossils`" |
| 127 | and do without the subdirectory scheme, for example. |
| 128 | |
| 129 | |
| 130 | #### <a id="close" name="dotfile"></a> Closing A Check-Out |
| 131 | |
| 132 | The [`fossil close`][close] command dissaociates a check-out directory from the |
| 133 | Fossil repository database, nondestructively inverting [`fossil open`][open]. It |
| 134 |