Fossil SCM

Clarity pass on the "Update vs Pull" section of gitusers.md

wyoung 2021-01-28 15:06 trunk
Commit e5bc762d40569626e447e9cf96d6a11df551111d51fa7193c7010f15a48b35cf
1 file changed +24 -13
+24 -13
--- www/gitusers.md
+++ www/gitusers.md
@@ -90,37 +90,48 @@
9090
[co]: /help?cmd=checkout
9191
9292
9393
#### <a id="pullup"></a> Update vs Pull
9494
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
97100
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.)
99104
100
-There is a `fossil pull` command, but it is simply the reverse of
105
+The `fossil pull` command is simply the reverse of
101106
`fossil push`, so that `fossil sync` [is functionally equivalent
102107
to](./sync.wiki#sync):
103108
104109
fossil push ; fossil pull
105110
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`.
108113
109
-This makes `fossil up` dual-use:
114
+Someone coming from the Git perspective may perceive that `fossil up`
115
+has two purposes:
110116
111117
* 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`.
113119
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
115121
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`.
117123
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.
120127
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
122133
[gcokoan]: https://stevelosh.com/blog/2013/04/git-koans/#s2-one-thing-well
123134
124135
125136
#### <a id="rname"></a> Naming Repositories
126137
127138
--- 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

Keyboard Shortcuts

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