Fossil SCM
Clarity pass on the "Update vs Pull" section of gitusers.md
Commit
e5bc762d40569626e447e9cf96d6a11df551111d51fa7193c7010f15a48b35cf
Parent
433b9df3e226497…
1 file changed
+24
-13
+24
-13
| --- www/gitusers.md | ||
| +++ www/gitusers.md | ||
| @@ -90,37 +90,48 @@ | ||
| 90 | 90 | [co]: /help?cmd=checkout |
| 91 | 91 | |
| 92 | 92 | |
| 93 | 93 | #### <a id="pullup"></a> Update vs Pull |
| 94 | 94 | |
| 95 | -The closest equivalent to [`git pull`][gpull] is [`fossil up`][up], | |
| 96 | -since Fossil tends to follow the CVS command design: `cvs up` pulls | |
| 95 | +The closest equivalent to [`git pull`][gpull] is not | |
| 96 | +[`fossil pull`][fpull], but in fact [`fossil up`][up]. | |
| 97 | + | |
| 98 | +This is because | |
| 99 | +Fossil tends to follow the CVS command design: `cvs up` pulls | |
| 97 | 100 | changes from the central CVS repository and merges them into the local |
| 98 | -working directory, so that’s what `fossil up` does, too. | |
| 101 | +working directory, so that’s what `fossil up` does, too. (This design | |
| 102 | +choice also tends to make Fossil feel comfortable to Subversion | |
| 103 | +expatriates.) | |
| 99 | 104 | |
| 100 | -There is a `fossil pull` command, but it is simply the reverse of | |
| 105 | +The `fossil pull` command is simply the reverse of | |
| 101 | 106 | `fossil push`, so that `fossil sync` [is functionally equivalent |
| 102 | 107 | to](./sync.wiki#sync): |
| 103 | 108 | |
| 104 | 109 | fossil push ; fossil pull |
| 105 | 110 | |
| 106 | -There is no “and update the local working directory” step in Fossil’s | |
| 107 | -push, pull, or sync commands, as with `git pull`. | |
| 111 | +There is no implicit “and update the local working directory” step in Fossil’s | |
| 112 | +push, pull, or sync commands, as there is with `git pull`. | |
| 108 | 113 | |
| 109 | -This makes `fossil up` dual-use: | |
| 114 | +Someone coming from the Git perspective may perceive that `fossil up` | |
| 115 | +has two purposes: | |
| 110 | 116 | |
| 111 | 117 | * Without the optional `VERSION` argument, it updates the working |
| 112 | - checkout to the tip of the current branch. | |
| 118 | + checkout to the tip of the current branch, like `git pull`. | |
| 113 | 119 | |
| 114 | -* With that argument, it updates to the named version. If that’s the | |
| 120 | +* Given a `VERSION` argument, it updates to the named version. If that’s the | |
| 115 | 121 | name of a branch, it updates to the tip of that branch rather than |
| 116 | - the current one. | |
| 122 | + the current one, like `git checkout BRANCH`. | |
| 117 | 123 | |
| 118 | -We think this is a more sensible command design than `git checkout` vs | |
| 119 | -`git pull`. ([…vs `git checkout` vs `git checkout`!][gcokoan]) | |
| 124 | +In fact, these are the same operation, so they’re the same command in | |
| 125 | +Fossil. The first form simply allows the `VERSION` to be implicit: the | |
| 126 | +current branch. | |
| 120 | 127 | |
| 121 | -[gpull]: https://git-scm.com/docs/git-pull | |
| 128 | +We think this is a more sensible command design than `git pull` vs | |
| 129 | +`git checkout`. ([…vs `git checkout` vs `git checkout`!][gcokoan]) | |
| 130 | + | |
| 131 | +[fpull]: /help?cmd=pull | |
| 132 | +[gpull]: https://git-scm.com/docs/git-pull | |
| 122 | 133 | [gcokoan]: https://stevelosh.com/blog/2013/04/git-koans/#s2-one-thing-well |
| 123 | 134 | |
| 124 | 135 | |
| 125 | 136 | #### <a id="rname"></a> Naming Repositories |
| 126 | 137 | |
| 127 | 138 |
| --- www/gitusers.md | |
| +++ www/gitusers.md | |
| @@ -90,37 +90,48 @@ | |
| 90 | [co]: /help?cmd=checkout |
| 91 | |
| 92 | |
| 93 | #### <a id="pullup"></a> Update vs Pull |
| 94 | |
| 95 | The closest equivalent to [`git pull`][gpull] is [`fossil up`][up], |
| 96 | since Fossil tends to follow the CVS command design: `cvs up` pulls |
| 97 | changes from the central CVS repository and merges them into the local |
| 98 | working directory, so that’s what `fossil up` does, too. |
| 99 | |
| 100 | There is a `fossil pull` command, but it is simply the reverse of |
| 101 | `fossil push`, so that `fossil sync` [is functionally equivalent |
| 102 | to](./sync.wiki#sync): |
| 103 | |
| 104 | fossil push ; fossil pull |
| 105 | |
| 106 | There is no “and update the local working directory” step in Fossil’s |
| 107 | push, pull, or sync commands, as with `git pull`. |
| 108 | |
| 109 | This makes `fossil up` dual-use: |
| 110 | |
| 111 | * Without the optional `VERSION` argument, it updates the working |
| 112 | checkout to the tip of the current branch. |
| 113 | |
| 114 | * With that argument, it updates to the named version. If that’s the |
| 115 | name of a branch, it updates to the tip of that branch rather than |
| 116 | the current one. |
| 117 | |
| 118 | We think this is a more sensible command design than `git checkout` vs |
| 119 | `git pull`. ([…vs `git checkout` vs `git checkout`!][gcokoan]) |
| 120 | |
| 121 | [gpull]: https://git-scm.com/docs/git-pull |
| 122 | [gcokoan]: https://stevelosh.com/blog/2013/04/git-koans/#s2-one-thing-well |
| 123 | |
| 124 | |
| 125 | #### <a id="rname"></a> Naming Repositories |
| 126 | |
| 127 |
| --- www/gitusers.md | |
| +++ www/gitusers.md | |
| @@ -90,37 +90,48 @@ | |
| 90 | [co]: /help?cmd=checkout |
| 91 | |
| 92 | |
| 93 | #### <a id="pullup"></a> Update vs Pull |
| 94 | |
| 95 | The closest equivalent to [`git pull`][gpull] is not |
| 96 | [`fossil pull`][fpull], but in fact [`fossil up`][up]. |
| 97 | |
| 98 | This is because |
| 99 | Fossil tends to follow the CVS command design: `cvs up` pulls |
| 100 | changes from the central CVS repository and merges them into the local |
| 101 | working directory, so that’s what `fossil up` does, too. (This design |
| 102 | choice also tends to make Fossil feel comfortable to Subversion |
| 103 | expatriates.) |
| 104 | |
| 105 | The `fossil pull` command is simply the reverse of |
| 106 | `fossil push`, so that `fossil sync` [is functionally equivalent |
| 107 | to](./sync.wiki#sync): |
| 108 | |
| 109 | fossil push ; fossil pull |
| 110 | |
| 111 | There is no implicit “and update the local working directory” step in Fossil’s |
| 112 | push, pull, or sync commands, as there is with `git pull`. |
| 113 | |
| 114 | Someone coming from the Git perspective may perceive that `fossil up` |
| 115 | has two purposes: |
| 116 | |
| 117 | * Without the optional `VERSION` argument, it updates the working |
| 118 | checkout to the tip of the current branch, like `git pull`. |
| 119 | |
| 120 | * Given a `VERSION` argument, it updates to the named version. If that’s the |
| 121 | name of a branch, it updates to the tip of that branch rather than |
| 122 | the current one, like `git checkout BRANCH`. |
| 123 | |
| 124 | In fact, these are the same operation, so they’re the same command in |
| 125 | Fossil. The first form simply allows the `VERSION` to be implicit: the |
| 126 | current branch. |
| 127 | |
| 128 | We think this is a more sensible command design than `git pull` vs |
| 129 | `git checkout`. ([…vs `git checkout` vs `git checkout`!][gcokoan]) |
| 130 | |
| 131 | [fpull]: /help?cmd=pull |
| 132 | [gpull]: https://git-scm.com/docs/git-pull |
| 133 | [gcokoan]: https://stevelosh.com/blog/2013/04/git-koans/#s2-one-thing-well |
| 134 | |
| 135 | |
| 136 | #### <a id="rname"></a> Naming Repositories |
| 137 | |
| 138 |