top

Package vcs provides the ability to work with varying version control systems (VCS), also known as source control systems (SCM) though the same interface.

This package includes a function that attempts to detect the repo type from the remote URL and return the proper type. For example,

remote := "https://github.com/Masterminds/vcs"
local, _ := ioutil.TempDir("", "go-vcs")
repo, err := NewRepo(remote, local)

In this case repo will be a GitRepo instance. NewRepo can detect the VCS for numerous popular VCS and from the URL. For example, a URL ending in .git that's not from one of the popular VCS will be detected as a Git repo and the correct type will be returned.

If you know the repository type and would like to create an instance of a specific type you can use one of constructors for a type. They are NewGitRepo, NewSvnRepo, NewBzrRepo, and NewHgRepo. The definition and usage is the same as NewRepo.

Once you have an object implementing the Repo interface the operations are the same no matter which VCS you're using. There are some caveats. For example, each VCS has its own version formats that need to be respected and checkout out branches, if a branch is being worked with, is different in each VCS.

Imported by 229 package(s) ΒΆ

  1. github.com/2opremio/helm/config
  2. github.com/Azure/draft/pkg/draft/pack/repo/installer
  3. github.com/Azure/draft/pkg/plugin/installer
  4. github.com/Barberrrry/glide/cfg
  5. github.com/Barberrrry/glide/cmd
  6. github.com/Barberrrry/glide/util
  7. github.com/FGrosse/glide/action
  8. github.com/FGrosse/glide/cfg
  9. github.com/FGrosse/glide/msg
  10. github.com/FGrosse/glide/repo
  11. github.com/FGrosse/glide/util
  12. github.com/JackSpirou/glide/cmd
  13. github.com/Masterminds/glide-report
  14. github.com/Masterminds/glide-report/rules
  15. github.com/Masterminds/glide/action
  16. github.com/Masterminds/glide/cfg
  17. github.com/Masterminds/glide/msg
  18. github.com/Masterminds/glide/repo
  19. github.com/Masterminds/glide/util
  20. github.com/Skarlso/glide/action
  21. github.com/Skarlso/glide/cfg
  22. github.com/Skarlso/glide/repo
  23. github.com/Skarlso/glide/util
  24. github.com/TheHippo/glide/cmd
  25. github.com/akutz/glide/action
  26. github.com/akutz/glide/cfg
  27. github.com/akutz/glide/cmd
  28. github.com/akutz/glide/msg
  29. github.com/akutz/glide/repo
  30. github.com/akutz/glide/util
  31. github.com/albrow/glide/action
  32. github.com/albrow/glide/cfg
  33. github.com/albrow/glide/msg
  34. github.com/albrow/glide/repo
  35. github.com/albrow/glide/util
  36. github.com/alde/glide/cfg
  37. github.com/alde/glide/repo
  38. github.com/alde/glide/util
  39. github.com/andrewzeneski/glide/cfg
  40. github.com/andrewzeneski/glide/cmd
  41. github.com/andrewzeneski/glide/util
  42. github.com/bacongobbler/glide/cfg
  43. github.com/bacongobbler/glide/repo
  44. github.com/bacongobbler/glide/util
  45. github.com/belak/base16-builder-go
  46. github.com/bryanpaluch/glide/cfg
  47. github.com/bryanpaluch/glide/repo
  48. github.com/bryanpaluch/glide/util
  49. github.com/cafebazaar/helm/config
  50. github.com/caseyhadden/glide/cmd
  51. github.com/caseyhadden/glide/util
  52. github.com/caseyhadden/glide/yaml
  53. github.com/cpg1111/glide/cmd
  54. github.com/cpg1111/glide/util
  55. github.com/cpg1111/glide/yaml
  56. github.com/daniel-garcia/glide/cfg
  57. github.com/daniel-garcia/glide/repo
  58. github.com/daniel-garcia/glide/util
  59. github.com/deis/helm/config
  60. github.com/dmitris/glide/cfg
  61. github.com/dmitris/glide/repo
  62. github.com/dmitris/glide/util
  63. github.com/dvwallin/glide/cmd
  64. github.com/favadi/glide/cfg
  65. github.com/favadi/glide/cmd
  66. github.com/favadi/glide/util
  67. github.com/fibonacci1729/glide/cfg
  68. github.com/fibonacci1729/glide/repo
  69. github.com/fibonacci1729/glide/util
  70. github.com/franciscocpg/glide/action
  71. github.com/franciscocpg/glide/cfg
  72. github.com/franciscocpg/glide/msg
  73. github.com/franciscocpg/glide/repo
  74. github.com/franciscocpg/glide/util
  75. github.com/fschl/glide/cfg
  76. github.com/fschl/glide/repo
  77. github.com/fschl/glide/util
  78. github.com/garywu125/glide/cfg
  79. github.com/garywu125/glide/repo
  80. github.com/garywu125/glide/util
  81. github.com/gdm85/glide/cfg
  82. github.com/gdm85/glide/repo
  83. github.com/gdm85/glide/util
  84. github.com/geramirez/compliance-masonry/tools/vcs
  85. github.com/geramirez/glide/cmd
  86. github.com/geramirez/glide/util
  87. github.com/geramirez/glide/yaml
  88. github.com/golang/dep/gps
  89. github.com/hectorj/glide/cfg
  90. github.com/hectorj/glide/cmd
  91. github.com/hectorj/glide/util
  92. github.com/helm/helm-classic/config
  93. github.com/helm/helm/config
  94. github.com/imikushin/glide/cmd
  95. github.com/imikushin/glide/util
  96. github.com/imikushin/glide/yaml
  97. github.com/ionrock/buildpack/core
  98. github.com/itscaro/glide/cmd
  99. github.com/itsjamie/glide/cmd
  100. github.com/jackspirou/glide/cmd
  101. github.com/jchauncey/glide/cmd
  102. github.com/jonboulle/glide/cmd
  103. github.com/jrick/glide/cfg
  104. github.com/jrick/glide/cmd
  105. github.com/jrick/glide/util
  106. github.com/karfield/glide/cfg
  107. github.com/karfield/glide/repo
  108. github.com/karfield/glide/util
  109. github.com/kelcecil/glide/action
  110. github.com/kelcecil/glide/cfg
  111. github.com/kelcecil/glide/msg
  112. github.com/kelcecil/glide/repo
  113. github.com/kelcecil/glide/util
  114. github.com/kildevaeld/apprun
  115. github.com/klaidliadon/glide/cfg
  116. github.com/klaidliadon/glide/repo
  117. github.com/klaidliadon/glide/util
  118. github.com/kngu9/glide/cfg
  119. github.com/kngu9/glide/repo
  120. github.com/kngu9/glide/util
  121. github.com/kshlm/glide/cfg
  122. github.com/kshlm/glide/cmd
  123. github.com/kshlm/glide/util
  124. github.com/kubepack/dep/gps
  125. github.com/kubepack/kubepack/commands
  126. github.com/kubepack/pack/commands
  127. github.com/lamielle/glide/cfg
  128. github.com/lamielle/glide/cmd
  129. github.com/lamielle/glide/util
  130. github.com/lanej/helm/helm/action
  131. github.com/masterminds/glide-report
  132. github.com/masterminds/glide-report/rules
  133. github.com/masterminds/glide/action
  134. github.com/masterminds/glide/cfg
  135. github.com/masterminds/glide/msg
  136. github.com/masterminds/glide/repo
  137. github.com/masterminds/glide/util
  138. github.com/mattfarina/glide-stripvcs
  139. github.com/mattfarina/go-test2
  140. github.com/mfycheng/glide/action
  141. github.com/mfycheng/glide/cfg
  142. github.com/mfycheng/glide/msg
  143. github.com/mfycheng/glide/repo
  144. github.com/mfycheng/glide/util
  145. github.com/mgutz/glide/action
  146. github.com/mgutz/glide/cfg
  147. github.com/mgutz/glide/repo
  148. github.com/mgutz/glide/util
  149. github.com/mh-cbon/glide/cfg
  150. github.com/mh-cbon/glide/repo
  151. github.com/mh-cbon/glide/util
  152. github.com/michelleN/helm/config
  153. github.com/miolini/glide/cfg
  154. github.com/miolini/glide/cmd
  155. github.com/miolini/glide/util
  156. github.com/myENA/glide/action
  157. github.com/myENA/glide/cfg
  158. github.com/myENA/glide/msg
  159. github.com/myENA/glide/repo
  160. github.com/myENA/glide/util
  161. github.com/n0needt0/glide/cfg
  162. github.com/n0needt0/glide/repo
  163. github.com/n0needt0/glide/util
  164. github.com/nourish/glide/cfg
  165. github.com/nourish/glide/repo
  166. github.com/nourish/glide/util
  167. github.com/opencontrol/compliance-masonry-go/tools/vcs
  168. github.com/opencontrol/compliance-masonry/tools/vcs
  169. github.com/paulmach/glide/cmd
  170. github.com/paulmach/glide/util
  171. github.com/paulmach/glide/yaml
  172. github.com/polaris1119/glide/cfg
  173. github.com/polaris1119/glide/repo
  174. github.com/polaris1119/glide/util
  175. github.com/ryanfowler/glide/action
  176. github.com/ryanfowler/glide/cfg
  177. github.com/ryanfowler/glide/msg
  178. github.com/ryanfowler/glide/repo
  179. github.com/ryanfowler/glide/util
  180. github.com/s-urbaniak/glide/cfg
  181. github.com/s-urbaniak/glide/repo
  182. github.com/s-urbaniak/glide/util
  183. github.com/sdboyer/gps
  184. github.com/sdboyer/vsolver
  185. github.com/sgotti/glide/cfg
  186. github.com/sgotti/glide/repo
  187. github.com/sgotti/glide/util
  188. github.com/skarlso/glide/action
  189. github.com/skarlso/glide/cfg
  190. github.com/skarlso/glide/repo
  191. github.com/skarlso/glide/util
  192. github.com/smothiki/helm/config
  193. github.com/szuecs/glide-report
  194. github.com/szuecs/glide-report/rules
  195. github.com/thockin/glide/cfg
  196. github.com/thockin/glide/repo
  197. github.com/thockin/glide/util
  198. github.com/tony/vcsync/vcsync
  199. github.com/tudyzhou/glide/cfg
  200. github.com/tudyzhou/glide/repo
  201. github.com/tudyzhou/glide/util
  202. github.com/vburenin/glide/action
  203. github.com/vburenin/glide/cfg
  204. github.com/vburenin/glide/repo
  205. github.com/vburenin/glide/util
  206. github.com/whitecypher/vgo
  207. github.com/yanyiwu/glide/cfg
  208. github.com/yanyiwu/glide/repo
  209. github.com/yanyiwu/glide/util
  210. github.com/yeka/glide/cfg
  211. github.com/yeka/glide/repo
  212. github.com/yeka/glide/util
  213. github.com/zjx20/glide/action
  214. github.com/zjx20/glide/cfg
  215. github.com/zjx20/glide/msg
  216. github.com/zjx20/glide/repo
  217. github.com/zjx20/glide/util
  218. gopkg.in/Masterminds/glide.v0/action
  219. gopkg.in/Masterminds/glide.v0/cfg
  220. gopkg.in/Masterminds/glide.v0/cmd
  221. gopkg.in/Masterminds/glide.v0/msg
  222. gopkg.in/Masterminds/glide.v0/repo
  223. gopkg.in/Masterminds/glide.v0/util
  224. gopkg.in/Masterminds/glide.v0/yaml
  225. gopkg.in/masterminds/glide.v0/action
  226. gopkg.in/masterminds/glide.v0/cfg
  227. gopkg.in/masterminds/glide.v0/msg
  228. gopkg.in/masterminds/glide.v0/repo
  229. gopkg.in/masterminds/glide.v0/util