github.com/anthonymayer/glide@v0.0.0-20160224162501-bff8b50d232e/docs/faq.md (about) 1 # Frequently Asked Questions (F.A.Q.) 2 3 ## Q: Why does Glide have the concept of sub-packages when Go doesn't? 4 5 In Go every directory is a package. This works well when you have one repo containing all of your packages. When you have different packages in different VCS locations things become a bit more complicated. A project containing a collection of packages should be handled with the same information including the version. By grouping packages this way we are able to manage the related information. 6 7 ## Q: bzr (or hg) is not working the way I expected. Why? 8 9 These are works in progress, and may need some additional tuning. Please take a look at the [vcs package](https://github.com/masterminds/vcs). If you see a better way to handle it please let us know. 10 11 ## Q: Should I check `vendor/` into version control? 12 13 That's up to you. It's not necessary, but it may also cause you extra work and lots of extra space in your VCS. There may also be unforeseen errors ([see an example](https://github.com/mattfarina/golang-broken-vendor)). 14 15 ## Q: How do I import settings from GPM, Godep, or gb? 16 17 There are two parts to importing. 18 19 1. If a package you import has configuration for GPM, Godep, or gb Glide will recursively install the dependencies automatically. 20 2. If you would like to import configuration from GPM, Godep, or gb to Glide see the `glide import` command. For example, you can run `glide import godep` for Glide to detect the projects Godep configuration and generate a `glide.yaml` file for you. 21 22 Each of these will merge your existing `glide.yaml` file with the 23 dependencies it finds for those managers, and then emit the file as 24 output. **It will not overwrite your glide.yaml file.** 25 26 You can write it to file like this: 27 28 $ glide import godep -f glide.yaml 29 30 31 ## Q: Can Glide fetch a package based on OS or Arch? 32 33 Yes. Using the `os` and `arch` fields on a `package`, you can specify 34 which OSes and architectures the package should be fetched for. For 35 example, the following package will only be fetched for 64-bit 36 Darwin/OSX systems: 37 38 - package: some/package 39 os: 40 - darwin 41 arch: 42 - amd64 43 44 The package will not be fetched for other architectures or OSes. 45 46 ## Q: How did Glide get its name? 47 48 Aside from being catchy, "glide" is a contraction of "Go Elide". The 49 idea is to compress the tasks that normally take us lots of time into a 50 just a few seconds.