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