@@ -155,8 +155,9 @@ packages.
155
155
156
156
# ## Git and Mercurial repositories
157
157
158
- You can give a Git or Mercurial repository at a specific commit, and Stack will
159
- clone that repository. For example :
158
+ You can specify a Git or Mercurial repository at a specific commit, and Stack
159
+ will clone that repository and, if it has submodules (Git), update the
160
+ repository's submodules. For example :
160
161
161
162
~~~yaml
162
163
extra-deps :
@@ -201,8 +202,9 @@ package is found in the top-level directory of the repository.
201
202
202
203
[:octicons-tag-24 : 1.7.1](https://github.com/commercialhaskell/stack/releases/tag/v1.7.1)
203
204
204
- You can specify packages from GitHub repository name using `github`. For
205
- example :
205
+ You can specify a GitHub respository at a specific commit and Stack will obtain
206
+ from GitHub an archive file of the files in the repository at that point in its
207
+ history. For example :
206
208
207
209
~~~yaml
208
210
extra-deps :
@@ -212,18 +214,13 @@ extra-deps:
212
214
213
215
!!! note
214
216
215
- ` github` is not just syntactic sugar over `git`. It uses a completely
216
- different approach to get the package's code − instead of cloning the
217
- repo, it downloads an archive that is provided by GitHub. This can be more
218
- efficient than cloning, as no revision history is downloaded.
219
-
220
- On the other hand, if the dependency's repo contains git submodules, the
221
- only option is to use `git` as it clones the repo and updates its
222
- submodules.
223
-
224
- Try to use `git` instead of `github` if the package build fails due to
225
- some files are missing.
217
+ An archive file of the files in a GitHub repository at a point in its
218
+ history is not the same as a clone of the repository (including its history)
219
+ and the updating of any submodules. If you need the latter, use the syntax
220
+ for a [Git repository](pantry.md#git-and-mercurial-repositories).
226
221
222
+ If the package fails to build due to missing files, it may be that updated
223
+ submodules are required.
227
224
228
225
# ### git-annex
229
226
0 commit comments