ohloh_scm 2.5.1 → 3.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (657) hide show
  1. checksums.yaml +5 -5
  2. data/{bin → .bin}/accept_svn_ssl_certificate +0 -0
  3. data/.bin/check_scm_version +28 -0
  4. data/.bin/run-test +3 -0
  5. data/.bin/run-tests +3 -0
  6. data/{bin → .bin}/string_encoder +0 -0
  7. data/.git_hooks/pre-commit +20 -0
  8. data/.gitignore +1 -4
  9. data/.rubocop.yml +13 -0
  10. data/.ruby-version +1 -2
  11. data/.travis.yml +3 -2
  12. data/Dockerfile +8 -4
  13. data/Gemfile +14 -0
  14. data/Gemfile.lock +54 -0
  15. data/{COPYING → LICENSE.txt} +0 -0
  16. data/README.md +52 -116
  17. data/Rakefile +7 -29
  18. data/lib/ohloh_scm.rb +26 -32
  19. data/lib/ohloh_scm/activity.rb +38 -0
  20. data/lib/ohloh_scm/bzr.rb +12 -0
  21. data/lib/ohloh_scm/bzr/activity.rb +191 -0
  22. data/lib/ohloh_scm/bzr/scm.rb +24 -0
  23. data/lib/ohloh_scm/bzr/status.rb +8 -0
  24. data/lib/ohloh_scm/bzr/validation.rb +18 -0
  25. data/lib/ohloh_scm/commit.rb +44 -41
  26. data/lib/ohloh_scm/core.rb +22 -0
  27. data/lib/ohloh_scm/cvs.rb +11 -0
  28. data/lib/ohloh_scm/cvs/activity.rb +149 -0
  29. data/lib/ohloh_scm/cvs/scm.rb +149 -0
  30. data/lib/ohloh_scm/cvs/status.rb +14 -0
  31. data/lib/ohloh_scm/cvs/validation.rb +106 -0
  32. data/lib/ohloh_scm/data/git_ignore_list.rb +29 -0
  33. data/lib/ohloh_scm/diff.rb +42 -39
  34. data/lib/ohloh_scm/factory.rb +11 -0
  35. data/lib/ohloh_scm/git.rb +11 -0
  36. data/lib/ohloh_scm/git/activity.rb +317 -0
  37. data/lib/ohloh_scm/git/scm.rb +137 -0
  38. data/lib/ohloh_scm/git/status.rb +13 -0
  39. data/lib/ohloh_scm/git/validation.rb +18 -0
  40. data/lib/ohloh_scm/git_svn.rb +11 -0
  41. data/lib/ohloh_scm/git_svn/activity.rb +84 -0
  42. data/lib/ohloh_scm/git_svn/scm.rb +91 -0
  43. data/lib/ohloh_scm/git_svn/status.rb +8 -0
  44. data/lib/ohloh_scm/git_svn/validation.rb +8 -0
  45. data/lib/ohloh_scm/hg.rb +12 -0
  46. data/lib/ohloh_scm/hg/activity.rb +188 -0
  47. data/lib/ohloh_scm/hg/scm.rb +51 -0
  48. data/lib/ohloh_scm/hg/status.rb +8 -0
  49. data/lib/ohloh_scm/hg/validation.rb +18 -0
  50. data/lib/ohloh_scm/parser.rb +30 -0
  51. data/lib/ohloh_scm/parser/array_writer.rb +15 -0
  52. data/lib/ohloh_scm/parser/branch_number.rb +63 -0
  53. data/lib/ohloh_scm/{parsers → parser}/bzr_xml_parser.rb +65 -55
  54. data/lib/ohloh_scm/parser/cvs_parser.rb +161 -0
  55. data/lib/ohloh_scm/parser/git_parser.rb +128 -0
  56. data/lib/ohloh_scm/parser/hg_parser.rb +78 -0
  57. data/lib/ohloh_scm/{parsers → parser}/hg_style +0 -0
  58. data/lib/ohloh_scm/{parsers → parser}/hg_verbose_style +0 -0
  59. data/lib/ohloh_scm/parser/svn_parser.rb +83 -0
  60. data/lib/ohloh_scm/py_bridge.rb +9 -0
  61. data/lib/ohloh_scm/py_bridge/bzr_client.rb +28 -0
  62. data/lib/ohloh_scm/{adapters/bzrlib/bzrlib_pipe_server.py → py_bridge/bzr_server.py} +1 -1
  63. data/lib/ohloh_scm/py_bridge/hg_client.rb +30 -0
  64. data/lib/ohloh_scm/{adapters/hglib/server.py → py_bridge/hg_server.py} +0 -0
  65. data/lib/ohloh_scm/py_bridge/py_client.rb +45 -0
  66. data/lib/ohloh_scm/scm.rb +26 -0
  67. data/lib/ohloh_scm/status.rb +24 -0
  68. data/lib/ohloh_scm/string_extensions.rb +11 -0
  69. data/lib/ohloh_scm/svn.rb +11 -0
  70. data/lib/ohloh_scm/svn/activity.rb +95 -0
  71. data/lib/ohloh_scm/svn/scm.rb +95 -0
  72. data/lib/ohloh_scm/svn/status.rb +8 -0
  73. data/lib/ohloh_scm/svn/validation.rb +56 -0
  74. data/lib/ohloh_scm/system.rb +44 -0
  75. data/lib/ohloh_scm/validation.rb +83 -0
  76. data/lib/ohloh_scm/version.rb +8 -1
  77. data/ohloh_scm.gemspec +18 -15
  78. data/spec/.rubocop.yml +22 -0
  79. data/spec/benchmarks/hg_bzr_bash_vs_py_api.rb +39 -0
  80. data/spec/benchmarks/process_spawn_benchmark.rb +133 -0
  81. data/spec/helpers/assert_scm_attr_helper.rb +31 -0
  82. data/spec/helpers/commit_tokens_helper.rb +26 -0
  83. data/spec/helpers/generic_helper.rb +5 -0
  84. data/spec/helpers/repository_helper.rb +36 -0
  85. data/spec/helpers/system_helper.rb +25 -0
  86. data/spec/ohloh_scm/bzr/activity_spec.rb +460 -0
  87. data/spec/ohloh_scm/bzr/scm_spec.rb +17 -0
  88. data/spec/ohloh_scm/bzr/validation_spec.rb +37 -0
  89. data/spec/ohloh_scm/cvs/activity_spec.rb +93 -0
  90. data/spec/ohloh_scm/cvs/scm_spec.rb +112 -0
  91. data/spec/ohloh_scm/cvs/validation_spec.rb +78 -0
  92. data/spec/ohloh_scm/factory_spec.rb +16 -0
  93. data/spec/ohloh_scm/git/activity_spec.rb +402 -0
  94. data/spec/ohloh_scm/git/scm_spec.rb +57 -0
  95. data/spec/ohloh_scm/git/status_spec.rb +11 -0
  96. data/spec/ohloh_scm/git/validation_spec.rb +57 -0
  97. data/spec/ohloh_scm/git_svn/activity_spec.rb +89 -0
  98. data/spec/ohloh_scm/git_svn/scm_spec.rb +22 -0
  99. data/spec/ohloh_scm/hg/activity_spec.rb +323 -0
  100. data/spec/ohloh_scm/hg/scm_spec.rb +23 -0
  101. data/spec/ohloh_scm/hg/status_spec.rb +12 -0
  102. data/spec/ohloh_scm/hg/validation_spec.rb +32 -0
  103. data/spec/ohloh_scm/parser/array_writer_spec.rb +29 -0
  104. data/spec/ohloh_scm/parser/branch_number_spec.rb +126 -0
  105. data/spec/ohloh_scm/parser/cvs_parser_spec.rb +77 -0
  106. data/spec/ohloh_scm/parser/git_parser_spec.rb +102 -0
  107. data/spec/ohloh_scm/parser/hg_parser_spec.rb +194 -0
  108. data/spec/ohloh_scm/svn/activity_spec.rb +55 -0
  109. data/spec/ohloh_scm/svn/scm_spec.rb +75 -0
  110. data/spec/ohloh_scm/svn/validation_spec.rb +89 -0
  111. data/spec/ohloh_scm/svn_parser_spec.rb +146 -0
  112. data/spec/ohloh_scm/system_spec.rb +32 -0
  113. data/spec/ohloh_scm/version_spec.rb +9 -0
  114. data/{test/data → spec/raw_fixtures}/basic.rlog +0 -0
  115. data/{test/data → spec/raw_fixtures}/file_created_on_branch.rlog +0 -0
  116. data/{test/data → spec/raw_fixtures}/invalid-utf-word +0 -0
  117. data/{test/data → spec/raw_fixtures}/multiple_revisions.rlog +0 -0
  118. data/{test/data → spec/raw_fixtures}/sample-content +0 -0
  119. data/{test/data → spec/raw_fixtures}/simple.ohlog +1 -1
  120. data/{test/data → spec/raw_fixtures}/simple.svn_log +0 -0
  121. data/{test/data → spec/raw_fixtures}/simultaneous_checkins.rlog +0 -0
  122. data/{test/data → spec/raw_fixtures}/simultaneous_checkins_2.rlog +0 -0
  123. data/spec/scm_fixtures/bzr.tgz +0 -0
  124. data/{test/repositories → spec/scm_fixtures}/bzr_colon.tgz +0 -0
  125. data/spec/scm_fixtures/bzr_large.tgz +0 -0
  126. data/spec/scm_fixtures/bzr_with_authors.tgz +0 -0
  127. data/spec/scm_fixtures/bzr_with_branch.tgz +0 -0
  128. data/{test/repositories → spec/scm_fixtures}/bzr_with_invalid_encoding.tgz +0 -0
  129. data/spec/scm_fixtures/bzr_with_nested_branches.tgz +0 -0
  130. data/spec/scm_fixtures/bzr_with_subdirectories.tgz +0 -0
  131. data/{test/repositories → spec/scm_fixtures}/cvs.tgz +0 -0
  132. data/{test/repositories → spec/scm_fixtures}/git.tgz +0 -0
  133. data/{test/repositories → spec/scm_fixtures}/git_dupe_delete.tgz +0 -0
  134. data/{test/repositories → spec/scm_fixtures}/git_svn.tgz +0 -0
  135. data/{test/repositories → spec/scm_fixtures}/git_walk.tgz +0 -0
  136. data/{test/repositories → spec/scm_fixtures}/git_with_invalid_encoding.tgz +0 -0
  137. data/{test/repositories → spec/scm_fixtures}/git_with_master_tag.tgz +0 -0
  138. data/{test/repositories → spec/scm_fixtures}/git_with_multiple_branch.tgz +0 -0
  139. data/spec/scm_fixtures/git_with_mv.tgz +0 -0
  140. data/{test/repositories → spec/scm_fixtures}/git_with_null_merge.tgz +0 -0
  141. data/spec/scm_fixtures/git_with_submodules.tgz +0 -0
  142. data/{test/repositories → spec/scm_fixtures}/hg.tgz +0 -0
  143. data/{test/repositories → spec/scm_fixtures}/hg_dupe_delete.tgz +0 -0
  144. data/spec/scm_fixtures/hg_large.tgz +0 -0
  145. data/{test/repositories → spec/scm_fixtures}/hg_walk.tgz +0 -0
  146. data/{test/repositories → spec/scm_fixtures}/hg_with_invalid_encoding.tgz +0 -0
  147. data/spec/scm_fixtures/svn.tgz +0 -0
  148. data/spec/scm_fixtures/svn_subdir.tgz +0 -0
  149. data/spec/spec_helper.rb +32 -0
  150. data/spec/string_encoder_spec.rb +32 -0
  151. metadata +224 -1052
  152. data/bin/ohlog +0 -152
  153. data/lib/ohloh_scm/adapters/abstract/misc.rb +0 -12
  154. data/lib/ohloh_scm/adapters/abstract/sha1.rb +0 -48
  155. data/lib/ohloh_scm/adapters/abstract/system.rb +0 -60
  156. data/lib/ohloh_scm/adapters/abstract/validation.rb +0 -77
  157. data/lib/ohloh_scm/adapters/abstract_adapter.rb +0 -32
  158. data/lib/ohloh_scm/adapters/bzr/cat_file.rb +0 -25
  159. data/lib/ohloh_scm/adapters/bzr/commits.rb +0 -100
  160. data/lib/ohloh_scm/adapters/bzr/head.rb +0 -19
  161. data/lib/ohloh_scm/adapters/bzr/misc.rb +0 -61
  162. data/lib/ohloh_scm/adapters/bzr/pull.rb +0 -22
  163. data/lib/ohloh_scm/adapters/bzr/push.rb +0 -51
  164. data/lib/ohloh_scm/adapters/bzr/validation.rb +0 -16
  165. data/lib/ohloh_scm/adapters/bzr_adapter.rb +0 -15
  166. data/lib/ohloh_scm/adapters/bzrlib/bzrlib_pipe_client.rb +0 -71
  167. data/lib/ohloh_scm/adapters/bzrlib/cat_file.rb +0 -9
  168. data/lib/ohloh_scm/adapters/bzrlib/head.rb +0 -9
  169. data/lib/ohloh_scm/adapters/bzrlib_adapter.rb +0 -25
  170. data/lib/ohloh_scm/adapters/cvs/commits.rb +0 -97
  171. data/lib/ohloh_scm/adapters/cvs/misc.rb +0 -212
  172. data/lib/ohloh_scm/adapters/cvs/validation.rb +0 -77
  173. data/lib/ohloh_scm/adapters/cvs_adapter.rb +0 -18
  174. data/lib/ohloh_scm/adapters/factory.rb +0 -38
  175. data/lib/ohloh_scm/adapters/git/cat_file.rb +0 -16
  176. data/lib/ohloh_scm/adapters/git/commit_all.rb +0 -141
  177. data/lib/ohloh_scm/adapters/git/commits.rb +0 -122
  178. data/lib/ohloh_scm/adapters/git/head.rb +0 -21
  179. data/lib/ohloh_scm/adapters/git/misc.rb +0 -107
  180. data/lib/ohloh_scm/adapters/git/patch.rb +0 -9
  181. data/lib/ohloh_scm/adapters/git/pull.rb +0 -124
  182. data/lib/ohloh_scm/adapters/git/push.rb +0 -39
  183. data/lib/ohloh_scm/adapters/git/token.rb +0 -53
  184. data/lib/ohloh_scm/adapters/git/validation.rb +0 -50
  185. data/lib/ohloh_scm/adapters/git_adapter.rb +0 -18
  186. data/lib/ohloh_scm/adapters/git_svn/cat_file.rb +0 -22
  187. data/lib/ohloh_scm/adapters/git_svn/commits.rb +0 -57
  188. data/lib/ohloh_scm/adapters/git_svn/head.rb +0 -9
  189. data/lib/ohloh_scm/adapters/git_svn/misc.rb +0 -24
  190. data/lib/ohloh_scm/adapters/git_svn/pull.rb +0 -80
  191. data/lib/ohloh_scm/adapters/git_svn_adapter.rb +0 -13
  192. data/lib/ohloh_scm/adapters/hg/cat_file.rb +0 -28
  193. data/lib/ohloh_scm/adapters/hg/commits.rb +0 -112
  194. data/lib/ohloh_scm/adapters/hg/head.rb +0 -29
  195. data/lib/ohloh_scm/adapters/hg/misc.rb +0 -40
  196. data/lib/ohloh_scm/adapters/hg/patch.rb +0 -9
  197. data/lib/ohloh_scm/adapters/hg/pull.rb +0 -23
  198. data/lib/ohloh_scm/adapters/hg/push.rb +0 -51
  199. data/lib/ohloh_scm/adapters/hg/validation.rb +0 -26
  200. data/lib/ohloh_scm/adapters/hg_adapter.rb +0 -21
  201. data/lib/ohloh_scm/adapters/hglib/cat_file.rb +0 -14
  202. data/lib/ohloh_scm/adapters/hglib/client.rb +0 -62
  203. data/lib/ohloh_scm/adapters/hglib/head.rb +0 -9
  204. data/lib/ohloh_scm/adapters/hglib_adapter.rb +0 -25
  205. data/lib/ohloh_scm/adapters/svn/cat_file.rb +0 -19
  206. data/lib/ohloh_scm/adapters/svn/commits.rb +0 -195
  207. data/lib/ohloh_scm/adapters/svn/head.rb +0 -19
  208. data/lib/ohloh_scm/adapters/svn/misc.rb +0 -171
  209. data/lib/ohloh_scm/adapters/svn/patch.rb +0 -8
  210. data/lib/ohloh_scm/adapters/svn/pre-revprop-change +0 -2
  211. data/lib/ohloh_scm/adapters/svn/pull.rb +0 -77
  212. data/lib/ohloh_scm/adapters/svn/push.rb +0 -15
  213. data/lib/ohloh_scm/adapters/svn/validation.rb +0 -87
  214. data/lib/ohloh_scm/adapters/svn_adapter.rb +0 -17
  215. data/lib/ohloh_scm/adapters/svn_chain/cat_file.rb +0 -8
  216. data/lib/ohloh_scm/adapters/svn_chain/chain.rb +0 -100
  217. data/lib/ohloh_scm/adapters/svn_chain/commits.rb +0 -37
  218. data/lib/ohloh_scm/adapters/svn_chain_adapter.rb +0 -44
  219. data/lib/ohloh_scm/parsers/array_writer.rb +0 -19
  220. data/lib/ohloh_scm/parsers/branch_number.rb +0 -60
  221. data/lib/ohloh_scm/parsers/bzr_parser.rb +0 -128
  222. data/lib/ohloh_scm/parsers/cvs_parser.rb +0 -182
  223. data/lib/ohloh_scm/parsers/git_parser.rb +0 -67
  224. data/lib/ohloh_scm/parsers/git_styled_parser.rb +0 -95
  225. data/lib/ohloh_scm/parsers/hg_parser.rb +0 -63
  226. data/lib/ohloh_scm/parsers/hg_styled_parser.rb +0 -65
  227. data/lib/ohloh_scm/parsers/human_writer.rb +0 -49
  228. data/lib/ohloh_scm/parsers/parser.rb +0 -34
  229. data/lib/ohloh_scm/parsers/svn_parser.rb +0 -77
  230. data/lib/ohloh_scm/parsers/svn_xml_parser.rb +0 -62
  231. data/lib/ohloh_scm/parsers/xml_writer.rb +0 -62
  232. data/lib/ohloh_scm/scratch_dir.rb +0 -59
  233. data/lib/ohloh_scm/shellout.rb +0 -40
  234. data/log/.gitignore +0 -1
  235. data/test/bin/svn +0 -7
  236. data/test/data/basic.ohlog +0 -11
  237. data/test/data/branch_merge.bzr_xml_log +0 -87
  238. data/test/data/git_patch.diff +0 -19
  239. data/test/data/helloworld.log +0 -41
  240. data/test/data/hg_patch.diff +0 -9
  241. data/test/data/intelliglue.rlog +0 -1216
  242. data/test/data/multiple_commits.rlog +0 -64
  243. data/test/data/simple.bzr_xml_log +0 -41
  244. data/test/data/simple.svn_xml_log +0 -66
  245. data/test/data/svn_patch.diff +0 -9
  246. data/test/data/svn_with_invalid_encoding.log +0 -33
  247. data/test/repositories/bzr/.bzr/README +0 -3
  248. data/test/repositories/bzr/.bzr/branch-format +0 -1
  249. data/test/repositories/bzr/.bzr/branch/branch.conf +0 -0
  250. data/test/repositories/bzr/.bzr/branch/format +0 -1
  251. data/test/repositories/bzr/.bzr/branch/last-revision +0 -1
  252. data/test/repositories/bzr/.bzr/branch/tags +0 -1
  253. data/test/repositories/bzr/.bzr/checkout/conflicts +0 -1
  254. data/test/repositories/bzr/.bzr/checkout/dirstate +0 -0
  255. data/test/repositories/bzr/.bzr/checkout/format +0 -1
  256. data/test/repositories/bzr/.bzr/repository/format +0 -1
  257. data/test/repositories/bzr/.bzr/repository/indices/0428489d1a03d05c496c2c429fe96e90.iix +0 -0
  258. data/test/repositories/bzr/.bzr/repository/indices/0428489d1a03d05c496c2c429fe96e90.rix +0 -0
  259. data/test/repositories/bzr/.bzr/repository/indices/0428489d1a03d05c496c2c429fe96e90.six +0 -5
  260. data/test/repositories/bzr/.bzr/repository/indices/0428489d1a03d05c496c2c429fe96e90.tix +0 -0
  261. data/test/repositories/bzr/.bzr/repository/indices/62f9cada7c58bce361b9b852d180ff56.iix +0 -0
  262. data/test/repositories/bzr/.bzr/repository/indices/62f9cada7c58bce361b9b852d180ff56.rix +0 -0
  263. data/test/repositories/bzr/.bzr/repository/indices/62f9cada7c58bce361b9b852d180ff56.six +0 -5
  264. data/test/repositories/bzr/.bzr/repository/indices/62f9cada7c58bce361b9b852d180ff56.tix +0 -0
  265. data/test/repositories/bzr/.bzr/repository/indices/71af8bae249bcb824a4ff17c62029142.iix +0 -0
  266. data/test/repositories/bzr/.bzr/repository/indices/71af8bae249bcb824a4ff17c62029142.rix +0 -0
  267. data/test/repositories/bzr/.bzr/repository/indices/71af8bae249bcb824a4ff17c62029142.six +0 -5
  268. data/test/repositories/bzr/.bzr/repository/indices/71af8bae249bcb824a4ff17c62029142.tix +0 -0
  269. data/test/repositories/bzr/.bzr/repository/indices/7202eb77b81a80eca5296f317ed42149.iix +0 -0
  270. data/test/repositories/bzr/.bzr/repository/indices/7202eb77b81a80eca5296f317ed42149.rix +0 -0
  271. data/test/repositories/bzr/.bzr/repository/indices/7202eb77b81a80eca5296f317ed42149.six +0 -5
  272. data/test/repositories/bzr/.bzr/repository/indices/7202eb77b81a80eca5296f317ed42149.tix +0 -5
  273. data/test/repositories/bzr/.bzr/repository/indices/8a571ba35ee54cd133b71e967442fe17.iix +0 -0
  274. data/test/repositories/bzr/.bzr/repository/indices/8a571ba35ee54cd133b71e967442fe17.rix +0 -0
  275. data/test/repositories/bzr/.bzr/repository/indices/8a571ba35ee54cd133b71e967442fe17.six +0 -5
  276. data/test/repositories/bzr/.bzr/repository/indices/8a571ba35ee54cd133b71e967442fe17.tix +0 -0
  277. data/test/repositories/bzr/.bzr/repository/indices/a06b9c10004fc3e05affee8cf0a9febd.iix +0 -0
  278. data/test/repositories/bzr/.bzr/repository/indices/a06b9c10004fc3e05affee8cf0a9febd.rix +0 -0
  279. data/test/repositories/bzr/.bzr/repository/indices/a06b9c10004fc3e05affee8cf0a9febd.six +0 -5
  280. data/test/repositories/bzr/.bzr/repository/indices/a06b9c10004fc3e05affee8cf0a9febd.tix +0 -0
  281. data/test/repositories/bzr/.bzr/repository/indices/f35e1020b6a55c81b6d2fe4c7bcd4645.iix +0 -0
  282. data/test/repositories/bzr/.bzr/repository/indices/f35e1020b6a55c81b6d2fe4c7bcd4645.rix +0 -0
  283. data/test/repositories/bzr/.bzr/repository/indices/f35e1020b6a55c81b6d2fe4c7bcd4645.six +0 -5
  284. data/test/repositories/bzr/.bzr/repository/indices/f35e1020b6a55c81b6d2fe4c7bcd4645.tix +0 -0
  285. data/test/repositories/bzr/.bzr/repository/pack-names +0 -0
  286. data/test/repositories/bzr/.bzr/repository/packs/0428489d1a03d05c496c2c429fe96e90.pack +0 -0
  287. data/test/repositories/bzr/.bzr/repository/packs/62f9cada7c58bce361b9b852d180ff56.pack +0 -0
  288. data/test/repositories/bzr/.bzr/repository/packs/71af8bae249bcb824a4ff17c62029142.pack +0 -0
  289. data/test/repositories/bzr/.bzr/repository/packs/7202eb77b81a80eca5296f317ed42149.pack +0 -0
  290. data/test/repositories/bzr/.bzr/repository/packs/8a571ba35ee54cd133b71e967442fe17.pack +0 -0
  291. data/test/repositories/bzr/.bzr/repository/packs/a06b9c10004fc3e05affee8cf0a9febd.pack +0 -0
  292. data/test/repositories/bzr/.bzr/repository/packs/f35e1020b6a55c81b6d2fe4c7bcd4645.pack +0 -0
  293. data/test/repositories/bzr/.bzr/repository/upload/.gitignore +0 -1
  294. data/test/repositories/bzr/C/303/251dric.txt +0 -2
  295. data/test/repositories/bzr/file1.txt +0 -2
  296. data/test/repositories/bzr/file3.txt +0 -1
  297. data/test/repositories/bzr/file4.txt +0 -1
  298. data/test/repositories/bzr/file5.txt +0 -4
  299. data/test/repositories/bzr_hello_world/.bzr/README +0 -3
  300. data/test/repositories/bzr_hello_world/.bzr/branch-format +0 -1
  301. data/test/repositories/bzr_hello_world/.bzr/branch/branch.conf +0 -0
  302. data/test/repositories/bzr_hello_world/.bzr/branch/format +0 -1
  303. data/test/repositories/bzr_hello_world/.bzr/branch/last-revision +0 -1
  304. data/test/repositories/bzr_hello_world/.bzr/branch/tags +0 -0
  305. data/test/repositories/bzr_hello_world/.bzr/checkout/conflicts +0 -1
  306. data/test/repositories/bzr_hello_world/.bzr/checkout/dirstate +0 -0
  307. data/test/repositories/bzr_hello_world/.bzr/checkout/format +0 -1
  308. data/test/repositories/bzr_hello_world/.bzr/repository/format +0 -1
  309. data/test/repositories/bzr_hello_world/.bzr/repository/indices/a7cd0d6de5d8b3efdd5f61a4caeda296.iix +0 -0
  310. data/test/repositories/bzr_hello_world/.bzr/repository/indices/a7cd0d6de5d8b3efdd5f61a4caeda296.rix +0 -0
  311. data/test/repositories/bzr_hello_world/.bzr/repository/indices/a7cd0d6de5d8b3efdd5f61a4caeda296.six +0 -5
  312. data/test/repositories/bzr_hello_world/.bzr/repository/indices/a7cd0d6de5d8b3efdd5f61a4caeda296.tix +0 -0
  313. data/test/repositories/bzr_hello_world/.bzr/repository/indices/ed1e97c1213220a92ff857169867a7b3.iix +0 -0
  314. data/test/repositories/bzr_hello_world/.bzr/repository/indices/ed1e97c1213220a92ff857169867a7b3.rix +0 -0
  315. data/test/repositories/bzr_hello_world/.bzr/repository/indices/ed1e97c1213220a92ff857169867a7b3.six +0 -5
  316. data/test/repositories/bzr_hello_world/.bzr/repository/indices/ed1e97c1213220a92ff857169867a7b3.tix +0 -0
  317. data/test/repositories/bzr_hello_world/.bzr/repository/pack-names +0 -0
  318. data/test/repositories/bzr_hello_world/.bzr/repository/packs/a7cd0d6de5d8b3efdd5f61a4caeda296.pack +0 -0
  319. data/test/repositories/bzr_hello_world/.bzr/repository/packs/ed1e97c1213220a92ff857169867a7b3.pack +0 -0
  320. data/test/repositories/bzr_hello_world/helloworld.c +0 -6
  321. data/test/repositories/bzr_with_authors/.bzr/README +0 -3
  322. data/test/repositories/bzr_with_authors/.bzr/branch-format +0 -1
  323. data/test/repositories/bzr_with_authors/.bzr/branch/branch.conf +0 -0
  324. data/test/repositories/bzr_with_authors/.bzr/branch/format +0 -1
  325. data/test/repositories/bzr_with_authors/.bzr/branch/last-revision +0 -1
  326. data/test/repositories/bzr_with_authors/.bzr/branch/tags +0 -0
  327. data/test/repositories/bzr_with_authors/.bzr/checkout/conflicts +0 -1
  328. data/test/repositories/bzr_with_authors/.bzr/checkout/dirstate +0 -0
  329. data/test/repositories/bzr_with_authors/.bzr/checkout/format +0 -1
  330. data/test/repositories/bzr_with_authors/.bzr/checkout/views +0 -0
  331. data/test/repositories/bzr_with_authors/.bzr/repository/format +0 -1
  332. data/test/repositories/bzr_with_authors/.bzr/repository/indices/1326ecee2f4f69991771137c5307689a.cix +0 -0
  333. data/test/repositories/bzr_with_authors/.bzr/repository/indices/1326ecee2f4f69991771137c5307689a.iix +0 -0
  334. data/test/repositories/bzr_with_authors/.bzr/repository/indices/1326ecee2f4f69991771137c5307689a.rix +0 -6
  335. data/test/repositories/bzr_with_authors/.bzr/repository/indices/1326ecee2f4f69991771137c5307689a.six +0 -5
  336. data/test/repositories/bzr_with_authors/.bzr/repository/indices/1326ecee2f4f69991771137c5307689a.tix +0 -0
  337. data/test/repositories/bzr_with_authors/.bzr/repository/indices/adf730b6cf7c7959afcedb87e155654d.cix +0 -0
  338. data/test/repositories/bzr_with_authors/.bzr/repository/indices/adf730b6cf7c7959afcedb87e155654d.iix +0 -0
  339. data/test/repositories/bzr_with_authors/.bzr/repository/indices/adf730b6cf7c7959afcedb87e155654d.rix +0 -0
  340. data/test/repositories/bzr_with_authors/.bzr/repository/indices/adf730b6cf7c7959afcedb87e155654d.six +0 -5
  341. data/test/repositories/bzr_with_authors/.bzr/repository/indices/adf730b6cf7c7959afcedb87e155654d.tix +0 -6
  342. data/test/repositories/bzr_with_authors/.bzr/repository/indices/d2613fcfb5e48e79073b96270782f95c.cix +0 -0
  343. data/test/repositories/bzr_with_authors/.bzr/repository/indices/d2613fcfb5e48e79073b96270782f95c.iix +0 -0
  344. data/test/repositories/bzr_with_authors/.bzr/repository/indices/d2613fcfb5e48e79073b96270782f95c.rix +0 -0
  345. data/test/repositories/bzr_with_authors/.bzr/repository/indices/d2613fcfb5e48e79073b96270782f95c.six +0 -5
  346. data/test/repositories/bzr_with_authors/.bzr/repository/indices/d2613fcfb5e48e79073b96270782f95c.tix +0 -0
  347. data/test/repositories/bzr_with_authors/.bzr/repository/pack-names +0 -0
  348. data/test/repositories/bzr_with_authors/.bzr/repository/packs/1326ecee2f4f69991771137c5307689a.pack +0 -0
  349. data/test/repositories/bzr_with_authors/.bzr/repository/packs/adf730b6cf7c7959afcedb87e155654d.pack +0 -0
  350. data/test/repositories/bzr_with_authors/.bzr/repository/packs/d2613fcfb5e48e79073b96270782f95c.pack +0 -0
  351. data/test/repositories/bzr_with_authors/test.txt +0 -1
  352. data/test/repositories/bzr_with_branch/.bzr/README +0 -3
  353. data/test/repositories/bzr_with_branch/.bzr/branch-format +0 -1
  354. data/test/repositories/bzr_with_branch/.bzr/branch/branch.conf +0 -1
  355. data/test/repositories/bzr_with_branch/.bzr/branch/format +0 -1
  356. data/test/repositories/bzr_with_branch/.bzr/branch/last-revision +0 -1
  357. data/test/repositories/bzr_with_branch/.bzr/branch/tags +0 -0
  358. data/test/repositories/bzr_with_branch/.bzr/checkout/conflicts +0 -1
  359. data/test/repositories/bzr_with_branch/.bzr/checkout/dirstate +0 -0
  360. data/test/repositories/bzr_with_branch/.bzr/checkout/format +0 -1
  361. data/test/repositories/bzr_with_branch/.bzr/checkout/merge-hashes +0 -3
  362. data/test/repositories/bzr_with_branch/.bzr/repository/format +0 -1
  363. data/test/repositories/bzr_with_branch/.bzr/repository/indices/3336f250dbe86a7eec2de4c1b1f97db7.iix +0 -0
  364. data/test/repositories/bzr_with_branch/.bzr/repository/indices/3336f250dbe86a7eec2de4c1b1f97db7.rix +0 -0
  365. data/test/repositories/bzr_with_branch/.bzr/repository/indices/3336f250dbe86a7eec2de4c1b1f97db7.six +0 -5
  366. data/test/repositories/bzr_with_branch/.bzr/repository/indices/3336f250dbe86a7eec2de4c1b1f97db7.tix +0 -5
  367. data/test/repositories/bzr_with_branch/.bzr/repository/indices/47cfe65310e6d462bb87a68fff0bc162.iix +0 -0
  368. data/test/repositories/bzr_with_branch/.bzr/repository/indices/47cfe65310e6d462bb87a68fff0bc162.rix +0 -0
  369. data/test/repositories/bzr_with_branch/.bzr/repository/indices/47cfe65310e6d462bb87a68fff0bc162.six +0 -5
  370. data/test/repositories/bzr_with_branch/.bzr/repository/indices/47cfe65310e6d462bb87a68fff0bc162.tix +0 -0
  371. data/test/repositories/bzr_with_branch/.bzr/repository/indices/64e98edbf1aebe6f532f2f93b24eead8.iix +0 -0
  372. data/test/repositories/bzr_with_branch/.bzr/repository/indices/64e98edbf1aebe6f532f2f93b24eead8.rix +0 -0
  373. data/test/repositories/bzr_with_branch/.bzr/repository/indices/64e98edbf1aebe6f532f2f93b24eead8.six +0 -5
  374. data/test/repositories/bzr_with_branch/.bzr/repository/indices/64e98edbf1aebe6f532f2f93b24eead8.tix +0 -0
  375. data/test/repositories/bzr_with_branch/.bzr/repository/indices/8008794e258fc3fa4be68d538312a91c.iix +0 -0
  376. data/test/repositories/bzr_with_branch/.bzr/repository/indices/8008794e258fc3fa4be68d538312a91c.rix +0 -0
  377. data/test/repositories/bzr_with_branch/.bzr/repository/indices/8008794e258fc3fa4be68d538312a91c.six +0 -5
  378. data/test/repositories/bzr_with_branch/.bzr/repository/indices/8008794e258fc3fa4be68d538312a91c.tix +0 -0
  379. data/test/repositories/bzr_with_branch/.bzr/repository/pack-names +0 -0
  380. data/test/repositories/bzr_with_branch/.bzr/repository/packs/3336f250dbe86a7eec2de4c1b1f97db7.pack +0 -0
  381. data/test/repositories/bzr_with_branch/.bzr/repository/packs/47cfe65310e6d462bb87a68fff0bc162.pack +0 -0
  382. data/test/repositories/bzr_with_branch/.bzr/repository/packs/64e98edbf1aebe6f532f2f93b24eead8.pack +0 -0
  383. data/test/repositories/bzr_with_branch/.bzr/repository/packs/8008794e258fc3fa4be68d538312a91c.pack +0 -0
  384. data/test/repositories/bzr_with_branch/goodbyeworld.c +0 -5
  385. data/test/repositories/bzr_with_branch/helloworld.c +0 -6
  386. data/test/repositories/bzr_with_nested_branches/.bzr/README +0 -3
  387. data/test/repositories/bzr_with_nested_branches/.bzr/branch-format +0 -1
  388. data/test/repositories/bzr_with_nested_branches/.bzr/branch/branch.conf +0 -1
  389. data/test/repositories/bzr_with_nested_branches/.bzr/branch/format +0 -1
  390. data/test/repositories/bzr_with_nested_branches/.bzr/branch/last-revision +0 -1
  391. data/test/repositories/bzr_with_nested_branches/.bzr/branch/tags +0 -0
  392. data/test/repositories/bzr_with_nested_branches/.bzr/checkout/conflicts +0 -1
  393. data/test/repositories/bzr_with_nested_branches/.bzr/checkout/dirstate +0 -0
  394. data/test/repositories/bzr_with_nested_branches/.bzr/checkout/format +0 -1
  395. data/test/repositories/bzr_with_nested_branches/.bzr/checkout/merge-hashes +0 -6
  396. data/test/repositories/bzr_with_nested_branches/.bzr/repository/format +0 -1
  397. data/test/repositories/bzr_with_nested_branches/.bzr/repository/indices/0428489d1a03d05c496c2c429fe96e90.iix +0 -0
  398. data/test/repositories/bzr_with_nested_branches/.bzr/repository/indices/0428489d1a03d05c496c2c429fe96e90.rix +0 -0
  399. data/test/repositories/bzr_with_nested_branches/.bzr/repository/indices/0428489d1a03d05c496c2c429fe96e90.six +0 -5
  400. data/test/repositories/bzr_with_nested_branches/.bzr/repository/indices/0428489d1a03d05c496c2c429fe96e90.tix +0 -0
  401. data/test/repositories/bzr_with_nested_branches/.bzr/repository/indices/30fcaac048e328a7727156986055f6e8.iix +0 -0
  402. data/test/repositories/bzr_with_nested_branches/.bzr/repository/indices/30fcaac048e328a7727156986055f6e8.rix +0 -0
  403. data/test/repositories/bzr_with_nested_branches/.bzr/repository/indices/30fcaac048e328a7727156986055f6e8.six +0 -5
  404. data/test/repositories/bzr_with_nested_branches/.bzr/repository/indices/30fcaac048e328a7727156986055f6e8.tix +0 -0
  405. data/test/repositories/bzr_with_nested_branches/.bzr/repository/indices/673cc297ed321f667e1d8d4fff600829.iix +0 -0
  406. data/test/repositories/bzr_with_nested_branches/.bzr/repository/indices/673cc297ed321f667e1d8d4fff600829.rix +0 -0
  407. data/test/repositories/bzr_with_nested_branches/.bzr/repository/indices/673cc297ed321f667e1d8d4fff600829.six +0 -5
  408. data/test/repositories/bzr_with_nested_branches/.bzr/repository/indices/673cc297ed321f667e1d8d4fff600829.tix +0 -0
  409. data/test/repositories/bzr_with_nested_branches/.bzr/repository/indices/71af8bae249bcb824a4ff17c62029142.iix +0 -0
  410. data/test/repositories/bzr_with_nested_branches/.bzr/repository/indices/71af8bae249bcb824a4ff17c62029142.rix +0 -0
  411. data/test/repositories/bzr_with_nested_branches/.bzr/repository/indices/71af8bae249bcb824a4ff17c62029142.six +0 -5
  412. data/test/repositories/bzr_with_nested_branches/.bzr/repository/indices/71af8bae249bcb824a4ff17c62029142.tix +0 -0
  413. data/test/repositories/bzr_with_nested_branches/.bzr/repository/indices/7202eb77b81a80eca5296f317ed42149.iix +0 -0
  414. data/test/repositories/bzr_with_nested_branches/.bzr/repository/indices/7202eb77b81a80eca5296f317ed42149.rix +0 -0
  415. data/test/repositories/bzr_with_nested_branches/.bzr/repository/indices/7202eb77b81a80eca5296f317ed42149.six +0 -5
  416. data/test/repositories/bzr_with_nested_branches/.bzr/repository/indices/7202eb77b81a80eca5296f317ed42149.tix +0 -5
  417. data/test/repositories/bzr_with_nested_branches/.bzr/repository/indices/8a571ba35ee54cd133b71e967442fe17.iix +0 -0
  418. data/test/repositories/bzr_with_nested_branches/.bzr/repository/indices/8a571ba35ee54cd133b71e967442fe17.rix +0 -0
  419. data/test/repositories/bzr_with_nested_branches/.bzr/repository/indices/8a571ba35ee54cd133b71e967442fe17.six +0 -5
  420. data/test/repositories/bzr_with_nested_branches/.bzr/repository/indices/8a571ba35ee54cd133b71e967442fe17.tix +0 -0
  421. data/test/repositories/bzr_with_nested_branches/.bzr/repository/indices/a06b9c10004fc3e05affee8cf0a9febd.iix +0 -0
  422. data/test/repositories/bzr_with_nested_branches/.bzr/repository/indices/a06b9c10004fc3e05affee8cf0a9febd.rix +0 -0
  423. data/test/repositories/bzr_with_nested_branches/.bzr/repository/indices/a06b9c10004fc3e05affee8cf0a9febd.six +0 -5
  424. data/test/repositories/bzr_with_nested_branches/.bzr/repository/indices/a06b9c10004fc3e05affee8cf0a9febd.tix +0 -0
  425. data/test/repositories/bzr_with_nested_branches/.bzr/repository/indices/da6c79a024c70fd6831e323430a96cc8.iix +0 -0
  426. data/test/repositories/bzr_with_nested_branches/.bzr/repository/indices/da6c79a024c70fd6831e323430a96cc8.rix +0 -0
  427. data/test/repositories/bzr_with_nested_branches/.bzr/repository/indices/da6c79a024c70fd6831e323430a96cc8.six +0 -5
  428. data/test/repositories/bzr_with_nested_branches/.bzr/repository/indices/da6c79a024c70fd6831e323430a96cc8.tix +0 -5
  429. data/test/repositories/bzr_with_nested_branches/.bzr/repository/indices/f35e1020b6a55c81b6d2fe4c7bcd4645.iix +0 -0
  430. data/test/repositories/bzr_with_nested_branches/.bzr/repository/indices/f35e1020b6a55c81b6d2fe4c7bcd4645.rix +0 -0
  431. data/test/repositories/bzr_with_nested_branches/.bzr/repository/indices/f35e1020b6a55c81b6d2fe4c7bcd4645.six +0 -5
  432. data/test/repositories/bzr_with_nested_branches/.bzr/repository/indices/f35e1020b6a55c81b6d2fe4c7bcd4645.tix +0 -0
  433. data/test/repositories/bzr_with_nested_branches/.bzr/repository/pack-names +0 -0
  434. data/test/repositories/bzr_with_nested_branches/.bzr/repository/packs/0428489d1a03d05c496c2c429fe96e90.pack +0 -0
  435. data/test/repositories/bzr_with_nested_branches/.bzr/repository/packs/30fcaac048e328a7727156986055f6e8.pack +0 -0
  436. data/test/repositories/bzr_with_nested_branches/.bzr/repository/packs/673cc297ed321f667e1d8d4fff600829.pack +0 -0
  437. data/test/repositories/bzr_with_nested_branches/.bzr/repository/packs/71af8bae249bcb824a4ff17c62029142.pack +0 -0
  438. data/test/repositories/bzr_with_nested_branches/.bzr/repository/packs/7202eb77b81a80eca5296f317ed42149.pack +0 -0
  439. data/test/repositories/bzr_with_nested_branches/.bzr/repository/packs/8a571ba35ee54cd133b71e967442fe17.pack +0 -0
  440. data/test/repositories/bzr_with_nested_branches/.bzr/repository/packs/a06b9c10004fc3e05affee8cf0a9febd.pack +0 -0
  441. data/test/repositories/bzr_with_nested_branches/.bzr/repository/packs/da6c79a024c70fd6831e323430a96cc8.pack +0 -0
  442. data/test/repositories/bzr_with_nested_branches/.bzr/repository/packs/f35e1020b6a55c81b6d2fe4c7bcd4645.pack +0 -0
  443. data/test/repositories/bzr_with_nested_branches/.bzr/repository/upload/.gitignore +0 -1
  444. data/test/repositories/bzr_with_nested_branches/file1.txt +0 -2
  445. data/test/repositories/bzr_with_nested_branches/file3.txt +0 -1
  446. data/test/repositories/bzr_with_nested_branches/file4.txt +0 -1
  447. data/test/repositories/bzr_with_nested_branches/file5.txt +0 -4
  448. data/test/repositories/bzr_with_nested_branches/file6.txt +0 -2
  449. data/test/repositories/bzr_with_nested_branches/file7.txt +0 -2
  450. data/test/repositories/bzr_with_subdirectories/.bzr/README +0 -3
  451. data/test/repositories/bzr_with_subdirectories/.bzr/branch-format +0 -1
  452. data/test/repositories/bzr_with_subdirectories/.bzr/branch/branch.conf +0 -0
  453. data/test/repositories/bzr_with_subdirectories/.bzr/branch/format +0 -1
  454. data/test/repositories/bzr_with_subdirectories/.bzr/branch/last-revision +0 -1
  455. data/test/repositories/bzr_with_subdirectories/.bzr/branch/tags +0 -0
  456. data/test/repositories/bzr_with_subdirectories/.bzr/checkout/conflicts +0 -1
  457. data/test/repositories/bzr_with_subdirectories/.bzr/checkout/dirstate +0 -0
  458. data/test/repositories/bzr_with_subdirectories/.bzr/checkout/format +0 -1
  459. data/test/repositories/bzr_with_subdirectories/.bzr/repository/format +0 -1
  460. data/test/repositories/bzr_with_subdirectories/.bzr/repository/indices/6eb92b11d9f811881dd08e0ca71e136d.iix +0 -0
  461. data/test/repositories/bzr_with_subdirectories/.bzr/repository/indices/6eb92b11d9f811881dd08e0ca71e136d.rix +0 -0
  462. data/test/repositories/bzr_with_subdirectories/.bzr/repository/indices/6eb92b11d9f811881dd08e0ca71e136d.six +0 -5
  463. data/test/repositories/bzr_with_subdirectories/.bzr/repository/indices/6eb92b11d9f811881dd08e0ca71e136d.tix +0 -0
  464. data/test/repositories/bzr_with_subdirectories/.bzr/repository/pack-names +0 -0
  465. data/test/repositories/bzr_with_subdirectories/.bzr/repository/packs/6eb92b11d9f811881dd08e0ca71e136d.pack +0 -0
  466. data/test/repositories/bzr_with_subdirectories/foo/helloworld.c +0 -0
  467. data/test/repositories/deep_svn/README.txt +0 -5
  468. data/test/repositories/deep_svn/conf/authz +0 -21
  469. data/test/repositories/deep_svn/conf/passwd +0 -8
  470. data/test/repositories/deep_svn/conf/svnserve.conf +0 -30
  471. data/test/repositories/deep_svn/db/current +0 -1
  472. data/test/repositories/deep_svn/db/format +0 -1
  473. data/test/repositories/deep_svn/db/fs-type +0 -1
  474. data/test/repositories/deep_svn/db/revprops/0 +0 -5
  475. data/test/repositories/deep_svn/db/revprops/1 +0 -14
  476. data/test/repositories/deep_svn/db/revprops/2 +0 -14
  477. data/test/repositories/deep_svn/db/revprops/3 +0 -14
  478. data/test/repositories/deep_svn/db/revprops/4 +0 -14
  479. data/test/repositories/deep_svn/db/revs/0 +0 -11
  480. data/test/repositories/deep_svn/db/revs/1 +0 -122
  481. data/test/repositories/deep_svn/db/revs/2 +0 -19
  482. data/test/repositories/deep_svn/db/revs/3 +0 -44
  483. data/test/repositories/deep_svn/db/revs/4 +0 -48
  484. data/test/repositories/deep_svn/db/uuid +0 -1
  485. data/test/repositories/deep_svn/db/write-lock +0 -0
  486. data/test/repositories/deep_svn/format +0 -1
  487. data/test/repositories/deep_svn/hooks/post-commit.tmpl +0 -51
  488. data/test/repositories/deep_svn/hooks/post-lock.tmpl +0 -44
  489. data/test/repositories/deep_svn/hooks/post-revprop-change.tmpl +0 -56
  490. data/test/repositories/deep_svn/hooks/post-unlock.tmpl +0 -42
  491. data/test/repositories/deep_svn/hooks/pre-commit.tmpl +0 -70
  492. data/test/repositories/deep_svn/hooks/pre-lock.tmpl +0 -64
  493. data/test/repositories/deep_svn/hooks/pre-revprop-change.tmpl +0 -66
  494. data/test/repositories/deep_svn/hooks/pre-unlock.tmpl +0 -60
  495. data/test/repositories/deep_svn/hooks/start-commit.tmpl +0 -54
  496. data/test/repositories/deep_svn/locks/db-logs.lock +0 -3
  497. data/test/repositories/deep_svn/locks/db.lock +0 -3
  498. data/test/repositories/git_with_empty_merge.tgz +0 -0
  499. data/test/repositories/svn/README.txt +0 -5
  500. data/test/repositories/svn/conf/authz +0 -21
  501. data/test/repositories/svn/conf/passwd +0 -8
  502. data/test/repositories/svn/conf/svnserve.conf +0 -30
  503. data/test/repositories/svn/db/current +0 -1
  504. data/test/repositories/svn/db/format +0 -1
  505. data/test/repositories/svn/db/fs-type +0 -1
  506. data/test/repositories/svn/db/revprops/0 +0 -5
  507. data/test/repositories/svn/db/revprops/1 +0 -14
  508. data/test/repositories/svn/db/revprops/2 +0 -13
  509. data/test/repositories/svn/db/revprops/3 +0 -13
  510. data/test/repositories/svn/db/revprops/4 +0 -13
  511. data/test/repositories/svn/db/revprops/5 +0 -13
  512. data/test/repositories/svn/db/revprops/6 +0 -12
  513. data/test/repositories/svn/db/revs/0 +0 -11
  514. data/test/repositories/svn/db/revs/1 +0 -0
  515. data/test/repositories/svn/db/revs/2 +0 -0
  516. data/test/repositories/svn/db/revs/3 +0 -0
  517. data/test/repositories/svn/db/revs/4 +0 -0
  518. data/test/repositories/svn/db/revs/5 +0 -64
  519. data/test/repositories/svn/db/revs/6 +0 -50
  520. data/test/repositories/svn/db/uuid +0 -1
  521. data/test/repositories/svn/db/write-lock +0 -0
  522. data/test/repositories/svn/format +0 -1
  523. data/test/repositories/svn/hooks/post-commit.tmpl +0 -51
  524. data/test/repositories/svn/hooks/post-lock.tmpl +0 -44
  525. data/test/repositories/svn/hooks/post-revprop-change.tmpl +0 -56
  526. data/test/repositories/svn/hooks/post-unlock.tmpl +0 -42
  527. data/test/repositories/svn/hooks/pre-commit.tmpl +0 -70
  528. data/test/repositories/svn/hooks/pre-lock.tmpl +0 -64
  529. data/test/repositories/svn/hooks/pre-revprop-change +0 -67
  530. data/test/repositories/svn/hooks/pre-unlock.tmpl +0 -60
  531. data/test/repositories/svn/hooks/start-commit.tmpl +0 -54
  532. data/test/repositories/svn/locks/db-logs.lock +0 -3
  533. data/test/repositories/svn/locks/db.lock +0 -3
  534. data/test/repositories/svn_empty/README.txt +0 -5
  535. data/test/repositories/svn_empty/conf/authz +0 -32
  536. data/test/repositories/svn_empty/conf/hooks-env.tmpl +0 -19
  537. data/test/repositories/svn_empty/conf/passwd +0 -8
  538. data/test/repositories/svn_empty/conf/svnserve.conf +0 -76
  539. data/test/repositories/svn_empty/db/current +0 -1
  540. data/test/repositories/svn_empty/db/format +0 -2
  541. data/test/repositories/svn_empty/db/fs-type +0 -1
  542. data/test/repositories/svn_empty/db/fsfs.conf +0 -125
  543. data/test/repositories/svn_empty/db/min-unpacked-rev +0 -1
  544. data/test/repositories/svn_empty/db/revprops/0/0 +0 -5
  545. data/test/repositories/svn_empty/db/revs/0/0 +0 -11
  546. data/test/repositories/svn_empty/db/txn-current +0 -1
  547. data/test/repositories/svn_empty/db/txn-current-lock +0 -0
  548. data/test/repositories/svn_empty/db/uuid +0 -1
  549. data/test/repositories/svn_empty/db/write-lock +0 -0
  550. data/test/repositories/svn_empty/format +0 -1
  551. data/test/repositories/svn_empty/hooks/post-commit.tmpl +0 -52
  552. data/test/repositories/svn_empty/hooks/post-lock.tmpl +0 -45
  553. data/test/repositories/svn_empty/hooks/post-revprop-change.tmpl +0 -57
  554. data/test/repositories/svn_empty/hooks/post-unlock.tmpl +0 -43
  555. data/test/repositories/svn_empty/hooks/pre-commit.tmpl +0 -85
  556. data/test/repositories/svn_empty/hooks/pre-lock.tmpl +0 -73
  557. data/test/repositories/svn_empty/hooks/pre-revprop-change.tmpl +0 -66
  558. data/test/repositories/svn_empty/hooks/pre-unlock.tmpl +0 -65
  559. data/test/repositories/svn_empty/hooks/start-commit.tmpl +0 -74
  560. data/test/repositories/svn_empty/locks/db-logs.lock +0 -3
  561. data/test/repositories/svn_empty/locks/db.lock +0 -3
  562. data/test/repositories/svn_with_branching.tgz +0 -0
  563. data/test/repositories/svn_with_invalid_encoding.tgz +0 -0
  564. data/test/repositories/svn_with_tree_move/README.txt +0 -5
  565. data/test/repositories/svn_with_tree_move/conf/authz +0 -21
  566. data/test/repositories/svn_with_tree_move/conf/passwd +0 -8
  567. data/test/repositories/svn_with_tree_move/conf/svnserve.conf +0 -30
  568. data/test/repositories/svn_with_tree_move/db/current +0 -1
  569. data/test/repositories/svn_with_tree_move/db/format +0 -1
  570. data/test/repositories/svn_with_tree_move/db/fs-type +0 -1
  571. data/test/repositories/svn_with_tree_move/db/revprops/0 +0 -5
  572. data/test/repositories/svn_with_tree_move/db/revprops/1 +0 -13
  573. data/test/repositories/svn_with_tree_move/db/revprops/2 +0 -13
  574. data/test/repositories/svn_with_tree_move/db/revs/0 +0 -11
  575. data/test/repositories/svn_with_tree_move/db/revs/1 +0 -0
  576. data/test/repositories/svn_with_tree_move/db/revs/2 +0 -44
  577. data/test/repositories/svn_with_tree_move/db/uuid +0 -1
  578. data/test/repositories/svn_with_tree_move/db/write-lock +0 -0
  579. data/test/repositories/svn_with_tree_move/format +0 -1
  580. data/test/repositories/svn_with_tree_move/hooks/post-commit.tmpl +0 -51
  581. data/test/repositories/svn_with_tree_move/hooks/post-lock.tmpl +0 -44
  582. data/test/repositories/svn_with_tree_move/hooks/post-revprop-change.tmpl +0 -56
  583. data/test/repositories/svn_with_tree_move/hooks/post-unlock.tmpl +0 -42
  584. data/test/repositories/svn_with_tree_move/hooks/pre-commit.tmpl +0 -70
  585. data/test/repositories/svn_with_tree_move/hooks/pre-lock.tmpl +0 -64
  586. data/test/repositories/svn_with_tree_move/hooks/pre-revprop-change.tmpl +0 -66
  587. data/test/repositories/svn_with_tree_move/hooks/pre-unlock.tmpl +0 -60
  588. data/test/repositories/svn_with_tree_move/hooks/start-commit.tmpl +0 -54
  589. data/test/repositories/svn_with_tree_move/locks/db-logs.lock +0 -3
  590. data/test/repositories/svn_with_tree_move/locks/db.lock +0 -3
  591. data/test/test_helper.rb +0 -127
  592. data/test/unit/abstract_adapter_test.rb +0 -106
  593. data/test/unit/adapter_factory_test.rb +0 -67
  594. data/test/unit/array_writer_test.rb +0 -33
  595. data/test/unit/bzr_cat_file_test.rb +0 -56
  596. data/test/unit/bzr_commits_test.rb +0 -388
  597. data/test/unit/bzr_head_test.rb +0 -18
  598. data/test/unit/bzr_misc_test.rb +0 -62
  599. data/test/unit/bzr_parser_test.rb +0 -483
  600. data/test/unit/bzr_pull_test.rb +0 -31
  601. data/test/unit/bzr_push_test.rb +0 -61
  602. data/test/unit/bzr_validation_test.rb +0 -61
  603. data/test/unit/bzr_xml_parser_test.rb +0 -409
  604. data/test/unit/bzrlib_cat_file_test.rb +0 -56
  605. data/test/unit/bzrlib_head_test.rb +0 -18
  606. data/test/unit/cvs_branch_number_test.rb +0 -130
  607. data/test/unit/cvs_commits_test.rb +0 -52
  608. data/test/unit/cvs_convert_test.rb +0 -30
  609. data/test/unit/cvs_misc_test.rb +0 -82
  610. data/test/unit/cvs_parser_test.rb +0 -94
  611. data/test/unit/cvs_validation_test.rb +0 -148
  612. data/test/unit/git_cat_file_test.rb +0 -21
  613. data/test/unit/git_commit_all_test.rb +0 -34
  614. data/test/unit/git_commits_test.rb +0 -179
  615. data/test/unit/git_head_test.rb +0 -26
  616. data/test/unit/git_log_parser_test.rb +0 -221
  617. data/test/unit/git_misc_test.rb +0 -100
  618. data/test/unit/git_parser_test.rb +0 -59
  619. data/test/unit/git_patch_test.rb +0 -14
  620. data/test/unit/git_pull_test.rb +0 -50
  621. data/test/unit/git_push_test.rb +0 -46
  622. data/test/unit/git_rev_list_test.rb +0 -89
  623. data/test/unit/git_styled_parser_test.rb +0 -103
  624. data/test/unit/git_svn_cat_file_test.rb +0 -57
  625. data/test/unit/git_svn_commits_test.rb +0 -37
  626. data/test/unit/git_svn_pull_test.rb +0 -51
  627. data/test/unit/git_token_test.rb +0 -45
  628. data/test/unit/git_validation_test.rb +0 -93
  629. data/test/unit/hg_cat_file_test.rb +0 -47
  630. data/test/unit/hg_commits_test.rb +0 -220
  631. data/test/unit/hg_head_test.rb +0 -24
  632. data/test/unit/hg_misc_test.rb +0 -48
  633. data/test/unit/hg_parser_test.rb +0 -184
  634. data/test/unit/hg_patch_test.rb +0 -14
  635. data/test/unit/hg_pull_test.rb +0 -29
  636. data/test/unit/hg_push_test.rb +0 -59
  637. data/test/unit/hg_rev_list_test.rb +0 -63
  638. data/test/unit/hg_validation_test.rb +0 -60
  639. data/test/unit/hglib_cat_file_test.rb +0 -47
  640. data/test/unit/hglib_head_test.rb +0 -18
  641. data/test/unit/ohlog_command_line_test.rb +0 -36
  642. data/test/unit/shellout_test.rb +0 -26
  643. data/test/unit/string_encoder_command_line_test.rb +0 -27
  644. data/test/unit/svn_cat_file_test.rb +0 -22
  645. data/test/unit/svn_chain_cat_file_test.rb +0 -24
  646. data/test/unit/svn_chain_commits_test.rb +0 -176
  647. data/test/unit/svn_chain_test.rb +0 -77
  648. data/test/unit/svn_commits_test.rb +0 -275
  649. data/test/unit/svn_convert_test.rb +0 -28
  650. data/test/unit/svn_head_test.rb +0 -27
  651. data/test/unit/svn_misc_test.rb +0 -142
  652. data/test/unit/svn_parser_test.rb +0 -155
  653. data/test/unit/svn_patch_test.rb +0 -14
  654. data/test/unit/svn_pull_test.rb +0 -60
  655. data/test/unit/svn_push_test.rb +0 -40
  656. data/test/unit/svn_validation_test.rb +0 -176
  657. data/test/unit/svn_xml_parser_test.rb +0 -45
@@ -1,148 +0,0 @@
1
- require_relative '../test_helper'
2
-
3
- module OhlohScm::Adapters
4
- class CvsValidationTest < OhlohScm::Test
5
- def test_rejected_urls
6
- [ nil, "", "foo", "http:/", "http:://", "http://", "http://a",
7
- ":pserver", # that's not enough
8
- ":pserver:anonymous", #still not enough
9
- ":pserver:anonymous:@ipodder.cvs.sourceforge.net", # missing the path
10
- ":pserver:anonymous:::@ipodder.cvs.sourceforge.net:/cvsroot/ipodder", # too many colons
11
- ":pserver@ipodder.cvs.sourceforge.net:/cvsroot/ipodder", # not enough colons
12
- ":pserver:anonymous:@ipodder.cvs.sourceforge.net/cvsroot/ipodder", # hostname and path not separated by colon
13
- ":pserver:anonymous:@ipodder.cvs.source/forge.net:/cvsroot/ipodder", # slash in hostname
14
- ":pserver:anonymous:ipodder.cvs.sourceforge.net:/cvsroot/ipodder", # missing @
15
- ":pserver:anonymous:@ipodder.cvs.sourceforge.net:cvsroot/ipodder", # path does not begin at root
16
- ":pserver:anonymous:@ipodder.cvs.sourceforge.net:/cvsr%23oot/ipodder", # no encoded chars allowed
17
- ":pserver:anonymous:@ipodder.cvs.sourceforge.net:/cvsroot/ipodder;asdf", # no ; in url
18
- ":pserver:anonymous:@ipodder.cvs.sourceforge.net:/cvsroot/ipodder malicious code", # spaces not allowed
19
- "sourceforge.net/svn/project/trunk", # missing a protocol prefix
20
- "file:///home/robin/cvs", # file protocol is not allowed
21
- "http://svn.sourceforge.net", # http protocol is not allowed
22
- "git://kernel.org/whatever/linux.git", # git protocol is not allowed
23
- "ext@kernel.org/whatever/linux.git" # ext protocol allowed, but starts with ':'
24
- ].each do |url|
25
- # Rejected for both internal and public use
26
- [true, false].each do |p|
27
- cvs = CvsAdapter.new(:url => url, :public_urls_only => p)
28
- assert cvs.validate_url
29
- end
30
- end
31
- end
32
-
33
- def test_accepted_urls
34
- [ ":pserver:anonymous:@ipodder.cvs.sourceforge.net:/cvsroot/ipodder",
35
- ":pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot",
36
- ":pserver:anonymous:@cvs-mirror.mozilla.org:/cvsroot",
37
- ":pserver:guest:@cvs.dev.java.net:/shared/data/ccvs/repository",
38
- ":pserver:anoncvs:password@anoncvs.postgresql.org:/projects/cvsroot",
39
- ":pserver:anonymous:@rubyeclipse.cvs.sourceforge.net:/cvsroot/rubyeclipse",
40
- ":pserver:cvs:cvs@cvs.winehq.org:/home/wine",
41
- ":pserver:tcpdump:anoncvs@cvs.tcpdump.org:/tcpdump/master",
42
- ":pserver:anonymous:@user-mode-linux.cvs.sourceforge.net:/cvsroot/user-mode-linux",
43
- ":pserver:anonymous:@sc2.cvs.sourceforge.net:/cvsroot/sc2",
44
- ":pserver:cool-dev:@sc2.cvs.sourceforge.net:/cvsroot/sc2", # Hyphen should be OK in username
45
- ":pserver:cvs_anon:@cvs.scms.waikato.ac.nz:/usr/local/global-cvs/ml_cvs", # Underscores should be ok in path
46
- ":pserver:anonymous:freefem++@idared.ann.jussieu.fr:/Users/pubcvs/cvs", # Pluses should be OK
47
- ":ext:anoncvs@opensource.conformal.com:/anoncvs/scrotwm" # scrotwm is a real life example
48
- ].each do |url|
49
- # Valid for both internal and public use
50
- [true, false].each do |p|
51
- cvs = CvsAdapter.new(:url => url, :public_urls_only => p)
52
- assert !cvs.validate_url
53
- end
54
- end
55
- end
56
-
57
- # Local files not accepted for public URLs
58
- def test_local_file_url
59
- cvs = CvsAdapter.new(:url => "/root")
60
- assert !cvs.validate_url
61
-
62
- cvs = CvsAdapter.new(:url => "/root", :public_urls_only => true)
63
- assert cvs.validate_url
64
- end
65
-
66
- def test_rejected_module_names
67
- [nil,"","%",";","&","\n","\t"].each do |x|
68
- cvs = CvsAdapter.new(:url => ":pserver:cvs:cvs@cvs.test.org:/test", :module_name => x)
69
- assert !cvs.valid?
70
- assert cvs.errors.first[0] = :module_name
71
- end
72
- end
73
-
74
- def test_accepted_module_names
75
- ["myproject","my/project","my/project/2.0","my_project","0","My .Net Module", "my-module", "my-module++"].each do |x|
76
- cvs = CvsAdapter.new(:url => ":pserver:cvs:cvs@cvs.test.org:/test", :module_name => x)
77
- assert cvs.valid?
78
- end
79
- end
80
-
81
- def test_symlink_fixup
82
- cvs = CvsAdapter.new(:url => ":pserver:anoncvs:@cvs.netbeans.org:/cvs")
83
- assert_equal ":pserver:anoncvs:@cvs.netbeans.org:/shared/data/ccvs/repository", cvs.normalize.url
84
-
85
- cvs = CvsAdapter.new(:url => ":pserver:anoncvs:@cvs.netbeans.org:/cvs/")
86
- assert_equal ":pserver:anoncvs:@cvs.netbeans.org:/shared/data/ccvs/repository", cvs.normalize.url
87
-
88
- cvs = CvsAdapter.new(:url => ":pserver:anoncvs:@cvs.dev.java.net:/cvs")
89
- assert_equal ":pserver:anoncvs:@cvs.dev.java.net:/shared/data/ccvs/repository", cvs.normalize.url
90
-
91
- cvs = CvsAdapter.new(:url => ":PSERVER:ANONCVS:@CVS.DEV.JAVA.NET:/cvs")
92
- assert_equal ":PSERVER:ANONCVS:@CVS.DEV.JAVA.NET:/shared/data/ccvs/repository", cvs.normalize.url
93
-
94
- cvs = CvsAdapter.new(:url => ":pserver:anonymous:@cvs.gna.org:/cvs/eagleusb")
95
- assert_equal ":pserver:anonymous:@cvs.gna.org:/var/cvs/eagleusb", cvs.normalize.url
96
- end
97
-
98
- def test_sync_pserver_username_password
99
- # Pull username only from url
100
- cvs = CvsAdapter.new(:url => ":pserver:guest:@ohloh.net:/test")
101
- cvs.normalize
102
- assert_equal ':pserver:guest:@ohloh.net:/test', cvs.url
103
- assert_equal 'guest', cvs.username
104
- assert_equal '', cvs.password
105
-
106
- # Pull username and password from url
107
- cvs = CvsAdapter.new(:url => ":pserver:guest:secret@ohloh.net:/test")
108
- cvs.normalize
109
- assert_equal ':pserver:guest:secret@ohloh.net:/test', cvs.url
110
- assert_equal 'guest', cvs.username
111
- assert_equal 'secret', cvs.password
112
-
113
- # Apply username and password to url
114
- cvs = CvsAdapter.new(:url => ":pserver::@ohloh.net:/test", :username => "guest", :password => "secret")
115
- cvs.normalize
116
- assert_equal ':pserver:guest:secret@ohloh.net:/test', cvs.url
117
- assert_equal 'guest', cvs.username
118
- assert_equal 'secret', cvs.password
119
-
120
- # Passwords disagree, use :password attribute
121
- cvs = CvsAdapter.new(:url => ":pserver:guest:old@ohloh.net:/test", :username => "guest", :password => "new")
122
- cvs.normalize
123
- assert_equal ':pserver:guest:new@ohloh.net:/test', cvs.url
124
- assert_equal 'guest', cvs.username
125
- assert_equal 'new', cvs.password
126
- end
127
-
128
- def test_guess_forge
129
- cvs = CvsAdapter.new(:url => nil)
130
- assert_equal nil, cvs.guess_forge
131
-
132
- cvs = CvsAdapter.new(:url => "garbage_in_garbage_out")
133
- assert_equal nil, cvs.guess_forge
134
-
135
- cvs = CvsAdapter.new(:url => ':pserver:anonymous:@boost.cvs.sourceforge.net:/cvsroot/boost')
136
- assert_equal 'sourceforge.net', cvs.guess_forge
137
-
138
- cvs = CvsAdapter.new(:url => ':pserver:guest:@cvs.dev.java.net:/cvs')
139
- assert_equal 'java.net', cvs.guess_forge
140
-
141
- cvs = CvsAdapter.new(:url => ":PSERVER:ANONCVS:@CVS.DEV.JAVA.NET:/cvs")
142
- assert_equal 'java.net', cvs.guess_forge
143
-
144
- cvs = CvsAdapter.new(:url => ":pserver:guest:@colorchooser.dev.java.net:/cvs")
145
- assert_equal 'java.net', cvs.guess_forge
146
- end
147
- end
148
- end
@@ -1,21 +0,0 @@
1
- require_relative '../test_helper'
2
-
3
- module OhlohScm::Adapters
4
- class GitCatFileTest < OhlohScm::Test
5
-
6
- def test_cat_file
7
- with_git_repository('git') do |git|
8
- expected = <<-EXPECTED
9
- /* Hello, World! */
10
- #include <stdio.h>
11
- main()
12
- {
13
- printf("Hello, World!\\n");
14
- }
15
- EXPECTED
16
- assert_equal expected, git.cat_file(nil, OhlohScm::Diff.new(:sha1 => '4c734ad53b272c9b3d719f214372ac497ff6c068'))
17
- end
18
- end
19
-
20
- end
21
- end
@@ -1,34 +0,0 @@
1
- require_relative '../test_helper'
2
-
3
- module OhlohScm::Adapters
4
- class GitCommitAllTest < OhlohScm::Test
5
-
6
- def test_commit_all
7
- OhlohScm::ScratchDir.new do |dir|
8
- git = GitAdapter.new(:url => dir).normalize
9
-
10
- git.init_db
11
- assert !git.anything_to_commit?
12
-
13
- File.open(File.join(dir, 'README'), 'w') {}
14
- assert git.anything_to_commit?
15
-
16
- c = OhlohScm::Commit.new
17
- c.author_name = "John Q. Developer"
18
- c.message = "Initial checkin."
19
- git.commit_all(c)
20
- assert !git.anything_to_commit?
21
-
22
- assert_equal 1, git.commits.size
23
-
24
- assert_equal c.author_name, git.commits.first.author_name
25
- # Depending on version of Git used, we may or may not have trailing \n.
26
- # We don't really care, so just compare the stripped versions.
27
- assert_equal c.message.strip, git.commits.first.message.strip
28
-
29
- assert_equal ['.gitignore', 'README'], git.commits.first.diffs.collect { |d| d.path }.sort
30
- end
31
- end
32
-
33
- end
34
- end
@@ -1,179 +0,0 @@
1
- require_relative '../test_helper'
2
-
3
- module OhlohScm::Adapters
4
- class GitCommitsTest < OhlohScm::Test
5
-
6
- def test_commit_count
7
- with_git_repository('git') do |git|
8
- assert_equal 4, git.commit_count
9
- assert_equal 2, git.commit_count(:after => 'b6e9220c3cabe53a4ed7f32952aeaeb8a822603d')
10
- assert_equal 0, git.commit_count(:after => '1df547800dcd168e589bb9b26b4039bff3a7f7e4')
11
- end
12
- end
13
-
14
- def test_commit_tokens
15
- with_git_repository('git') do |git|
16
- assert_equal ['089c527c61235bd0793c49109b5bd34d439848c6',
17
- 'b6e9220c3cabe53a4ed7f32952aeaeb8a822603d',
18
- '2e9366dd7a786fdb35f211fff1c8ea05c51968b1',
19
- '1df547800dcd168e589bb9b26b4039bff3a7f7e4'], git.commit_tokens
20
-
21
- assert_equal ['1df547800dcd168e589bb9b26b4039bff3a7f7e4'],
22
- git.commit_tokens(:after => '2e9366dd7a786fdb35f211fff1c8ea05c51968b1')
23
-
24
- assert_equal [], git.commit_tokens(:after => '1df547800dcd168e589bb9b26b4039bff3a7f7e4')
25
- end
26
- end
27
-
28
- def test_commits
29
- with_git_repository('git') do |git|
30
- assert_equal ['089c527c61235bd0793c49109b5bd34d439848c6',
31
- 'b6e9220c3cabe53a4ed7f32952aeaeb8a822603d',
32
- '2e9366dd7a786fdb35f211fff1c8ea05c51968b1',
33
- '1df547800dcd168e589bb9b26b4039bff3a7f7e4'], git.commits.collect { |c| c.token }
34
-
35
- assert_equal ['1df547800dcd168e589bb9b26b4039bff3a7f7e4'],
36
- git.commits(:after => '2e9366dd7a786fdb35f211fff1c8ea05c51968b1').collect { |c| c.token }
37
-
38
- assert_equal [], git.commits(:after => '1df547800dcd168e589bb9b26b4039bff3a7f7e4')
39
- end
40
- end
41
-
42
- def test_commits_with_branch
43
- with_git_repository('git', 'develop') do |git|
44
- assert_equal ['089c527c61235bd0793c49109b5bd34d439848c6',
45
- 'b6e9220c3cabe53a4ed7f32952aeaeb8a822603d',
46
- '2e9366dd7a786fdb35f211fff1c8ea05c51968b1',
47
- 'b4046b9a80fead62fa949232f2b87b0cb78fffcc'], git.commits.map(&:token)
48
-
49
- assert_equal ['b4046b9a80fead62fa949232f2b87b0cb78fffcc'],
50
- git.commits(:after => '2e9366dd7a786fdb35f211fff1c8ea05c51968b1').map(&:token)
51
-
52
- assert_equal [], git.commits(:after => 'b4046b9a80fead62fa949232f2b87b0cb78fffcc')
53
- end
54
- end
55
-
56
- def test_trunk_only_commit_count
57
- with_git_repository('git_dupe_delete') do |git|
58
- assert_equal 4, git.commit_count(:trunk_only => false)
59
- assert_equal 3, git.commit_count(:trunk_only => true)
60
- end
61
- end
62
-
63
- def test_trunk_only_commit_tokens
64
- with_git_repository('git_dupe_delete') do |git|
65
- assert_equal ['a0a2b8623941562031a7d7f95d984feb4a2d719c',
66
- 'ad6bb43112706c462e53a9a8a8cd3b05f8e9260f',
67
- '6126337d2497806528fd8657181d5d4afadd72a4', # On branch
68
- '41c4b1044ebffc968d363e5f5e883134e624f846'],
69
- git.commit_tokens(:trunk_only => false)
70
-
71
- assert_equal ['a0a2b8623941562031a7d7f95d984feb4a2d719c',
72
- 'ad6bb43112706c462e53a9a8a8cd3b05f8e9260f',
73
- # '6126337d2497806528fd8657181d5d4afadd72a4', # On branch
74
- '41c4b1044ebffc968d363e5f5e883134e624f846'],
75
- git.commit_tokens(:trunk_only => true)
76
- end
77
- end
78
-
79
- def test_trunk_only_commit_tokens_using_after
80
- with_git_repository('git_dupe_delete') do |git|
81
- assert_equal ['ad6bb43112706c462e53a9a8a8cd3b05f8e9260f',
82
- '41c4b1044ebffc968d363e5f5e883134e624f846'],
83
- git.commit_tokens(
84
- :after => 'a0a2b8623941562031a7d7f95d984feb4a2d719c',
85
- :trunk_only => true)
86
-
87
- # All trunk commit_tokens, with :after == HEAD
88
- assert_equal [], git.commit_tokens(
89
- :after => '41c4b1044ebffc968d363e5f5e883134e624f846',
90
- :trunk_only => true)
91
- end
92
- end
93
-
94
- def test_trunk_only_commits
95
- with_git_repository('git_dupe_delete') do |git|
96
- assert_equal ['a0a2b8623941562031a7d7f95d984feb4a2d719c',
97
- 'ad6bb43112706c462e53a9a8a8cd3b05f8e9260f',
98
- # The following commit is on a branch and should be excluded
99
- # '6126337d2497806528fd8657181d5d4afadd72a4',
100
- '41c4b1044ebffc968d363e5f5e883134e624f846'],
101
- git.commits(:trunk_only => true).collect { |c| c.token }
102
- end
103
- end
104
-
105
- def test_trunk_only_commits_using_after
106
- with_git_repository('git_dupe_delete') do |git|
107
- assert_equal ['ad6bb43112706c462e53a9a8a8cd3b05f8e9260f',
108
- '41c4b1044ebffc968d363e5f5e883134e624f846'],
109
- git.commits(:after => 'a0a2b8623941562031a7d7f95d984feb4a2d719c',
110
- :trunk_only => true).collect { |c| c.token }
111
-
112
- assert_equal [], git.commit_tokens(
113
- :after => '41c4b1044ebffc968d363e5f5e883134e624f846',
114
- :trunk_only => true)
115
- end
116
- end
117
-
118
- # In rare cases, a merge commit's resulting tree is identical to its first parent's tree.
119
- # I believe this is a result of developer trickery, and not a common situation.
120
- #
121
- # When this happens, `git whatchanged` will omit the changes relative to the first parent,
122
- # and instead output only the changes relative to the second parent.
123
- #
124
- # Our commit parser became confused by this, assuming that these changes relative to the
125
- # second parent were in fact the missing changes relative to the first.
126
- #
127
- # This is bug OTWO-623. This test confirms the fix.
128
- def test_verbose_commit_with_null_merge
129
- with_git_repository('git_with_null_merge') do |git|
130
- c = git.verbose_commit('d3bd0bedbf4b197b2c4eb827e1ec4c35b834482f')
131
- # This commit's tree is identical to its parent's. Thus it should contain no diffs.
132
- assert_equal [], c.diffs
133
- end
134
- end
135
-
136
- def test_each_commit_with_null_merge
137
- with_git_repository('git_with_null_merge') do |git|
138
- git.each_commit do |c|
139
- assert_equal [], c.diffs if c.token == 'd3bd0bedbf4b197b2c4eb827e1ec4c35b834482f'
140
- end
141
- end
142
- end
143
-
144
- def test_log_encoding
145
- with_git_repository('git_with_invalid_encoding') do |git|
146
- assert_equal true, git.log.valid_encoding?
147
- end
148
- end
149
-
150
- def test_verbose_commits_valid_encoding
151
- with_git_repository('git_with_invalid_encoding') do |git|
152
- assert_equal true,
153
- git.verbose_commit('8d03f4ea64fcd10966fb3773a212b141ada619e1').message.valid_encoding?
154
- end
155
- end
156
-
157
- def test_open_log_file_encoding
158
- with_git_repository('git_with_invalid_encoding') do |git|
159
- git.open_log_file do |io|
160
- assert_equal true, io.read.valid_encoding?
161
- end
162
- end
163
- end
164
-
165
- def test_commit_count_having_tagname_master
166
- with_git_repository('git_with_master_tag') do |git|
167
- assert_equal 3, git.commit_count
168
- end
169
- end
170
-
171
- def test_commit_tokens_having_tagname_master
172
- with_git_repository('git_with_master_tag') do |git|
173
- assert_equal ['57b2bd30b7bae970cb3b374a0c05fd6ec3088ebf',
174
- '4e95717ac8cff8cdb10d83398d3ac667a2cca341',
175
- '34b8a99e6e5dd39bc36893f71e0ab1685668731f'], git.commit_tokens
176
- end
177
- end
178
- end
179
- end
@@ -1,26 +0,0 @@
1
- require_relative '../test_helper'
2
-
3
- module OhlohScm::Adapters
4
- class GitHeadTest < OhlohScm::Test
5
-
6
- def test_head_and_parents
7
- with_git_repository('git') do |git|
8
- assert git.exist?
9
- assert_equal '1df547800dcd168e589bb9b26b4039bff3a7f7e4', git.head_token
10
- assert_equal '1df547800dcd168e589bb9b26b4039bff3a7f7e4', git.head.token
11
- assert git.head.diffs.any?
12
-
13
- assert_equal '2e9366dd7a786fdb35f211fff1c8ea05c51968b1', git.parents(git.head).first.token
14
- assert git.parents(git.head).first.diffs.any?
15
- end
16
- end
17
-
18
- def test_head_token
19
- with_git_repository('git_with_invalid_encoding') do |git|
20
- assert_nothing_raised do
21
- git.head_token
22
- end
23
- end
24
- end
25
- end
26
- end
@@ -1,221 +0,0 @@
1
- require_relative '../test_helper'
2
- require 'date'
3
-
4
- module OhlohScm::Parsers
5
- class GitStyledParserTest < OhlohScm::Test
6
-
7
- def test_basic
8
- commits = []
9
-
10
- helloworld = File.new(File.dirname(__FILE__) + '/../data/helloworld.log').read
11
-
12
- GitStyledParser.parse( helloworld ) do |commit|
13
- commits << commit
14
- end
15
-
16
- assert commits
17
- assert_equal 4, commits.size
18
-
19
- commits.each do |commit|
20
- # puts commit.inspect
21
- assert_equal 40, commit.token.length
22
-
23
- # 00000000.... is ok for parent_sha1 (if we have no parent), but not for us!
24
- assert_not_equal "0000000000000000000000000000000000000000", commit.token
25
-
26
- assert_equal "robin", commit.author_name
27
-
28
- commit.diffs.each do |d|
29
- assert_equal 40, d.sha1.length
30
- assert_equal 40, d.parent_sha1.length
31
- assert d.path.length > 0
32
- assert d.action =~ /[ACDMRTUXB]/
33
- end
34
- end
35
-
36
- assert_equal Time.gm(2006,6,11,11,28,0), commits[0].author_date
37
- assert_equal Time.gm(2006,6,11,18,32,13), commits[1].author_date
38
- assert_equal Time.gm(2006,6,11, 9,34,17), commits[2].author_date
39
-
40
- assert_equal "Initial Checkin", commits[0].message
41
- assert_equal "added makefile", commits[1].message
42
- assert_equal "added some documentation and licensing info", commits[2].message
43
-
44
- assert_equal '.gitignore', commits[0].diffs[0].path
45
- assert_equal 'A', commits[0].diffs[0].action
46
- assert_equal 'helloworld.c', commits[0].diffs[1].path
47
- assert_equal 'A', commits[0].diffs[1].action
48
- assert_equal 'ohloh_token', commits[0].diffs[2].path
49
- assert_equal 'A', commits[0].diffs[2].action
50
-
51
- assert_equal 'makefile', commits[1].diffs[0].path
52
- assert_equal 'A', commits[1].diffs[0].action
53
- assert_equal 'ohloh_token', commits[1].diffs[1].path
54
- assert_equal 'M', commits[1].diffs[1].action
55
-
56
- assert_equal 'README', commits[2].diffs[0].path
57
- assert_equal 'A', commits[2].diffs[0].action
58
- assert_equal 'helloworld.c', commits[2].diffs[1].path
59
- assert_equal 'M', commits[2].diffs[1].action
60
- assert_equal 'ohloh_token', commits[2].diffs[2].path
61
- assert_equal 'M', commits[2].diffs[2].action
62
- end
63
-
64
- # If the filename includes non-ASCII characters, the filename is in double quotes.
65
- # The quotes must be stripped.
66
- def test_filename_in_quotes
67
- log = <<-LOG
68
- __BEGIN_COMMIT__
69
- Commit: 0546fa73b6951be72956bf4c72c37255034d8bdc
70
- Author: e2jk
71
- Date: Tue, Mar 13 2007 17:08:49 -0700
72
- __BEGIN_COMMENT__
73
- Supprime le dossier des bibliotheques du projet
74
- <unknown>
75
- __END_COMMENT__
76
- :100644 100644 8ffcfcbb647ab353e7e885fb3fd897eef719d64f e4eaafd3ed351461cef016bf606f0ce6af057380 M "Cin\303\251 Library/Cin\303\251 Library.nsi"
77
- LOG
78
-
79
- commits = []
80
- GitStyledParser.parse( log ) do |commit|
81
- commits << commit
82
- end
83
- assert_equal "Cin\303\251 Library/Cin\303\251 Library.nsi", commits[0].diffs[0].path
84
- end
85
-
86
- # Not all commits include file diffs. Need to support that case.
87
- def test_commit_without_diffs
88
- log = <<-LOG
89
- __BEGIN_COMMIT__
90
- Commit: 9abc3b26e395ea5199362d6e19c705eb58842cd8
91
- Author: troth
92
- Date: Tue Feb 11 19:03:03 2003 +0000
93
- __BEGIN_COMMENT__
94
- Remove reference to avr-gcc in depend rule (cut & paste error).
95
- <unknown>
96
- __END_COMMENT__
97
- :100644 100644 a35924054b56a3dd308ac92505b811bdfecee777 f4f4738ae0f49a56d97ba61d7feb09aa35d9e69d M Makefile
98
- __BEGIN_COMMIT__
99
- Commit: 10ed46d82c279d090b664c48a88a95e7ad76de2f
100
- Author: bdean
101
- Date: Sun Feb 9 13:36:47 2003 +0000
102
- __BEGIN_COMMENT__
103
- Test commit in new public repository. Before this time this repo
104
- existed on a private system. Commits made by 'bsd' on the old system
105
- were made by Brian Dean (bdean on the current system).
106
- __END_COMMENT__
107
- __BEGIN_COMMIT__
108
- Commit: 213c3220ff91eedda7323187fed0552e07069400
109
- Author: bsd
110
- Date: Sat Feb 8 04:20:39 2003 +0000
111
- __BEGIN_COMMENT__
112
- The last part of that last commit message should read:
113
-
114
- All others - modify program description.
115
-
116
- __END_COMMENT__
117
- LOG
118
-
119
- commits = []
120
- GitStyledParser.parse( log ) do |commit|
121
- commits << commit
122
- end
123
-
124
- assert commits
125
- assert_equal 3, commits.size
126
-
127
- assert_equal "Remove reference to avr-gcc in depend rule (cut & paste error).", commits[0].message
128
- assert_equal "Test commit in new public repository. Before this time this repo\n"+
129
- "existed on a private system. Commits made by 'bsd' on the old system\n"+
130
- "were made by Brian Dean (bdean on the current system).", commits[1].message
131
-
132
- assert_equal "The last part of that last commit message should read:\n\nAll others - modify program description.\n", commits[2].message
133
-
134
- assert_equal 1, commits[0].diffs.size
135
- assert_equal 0, commits[1].diffs.size
136
- assert_equal 0, commits[2].diffs.size
137
- end
138
-
139
- def test_ignore_submodules
140
- log = <<-LOG
141
- __BEGIN_COMMIT__
142
- Commit: 9abc3b26e395ea5199362d6e19c705eb58842cd8
143
- Author: troth
144
- Date: Tue Feb 11 19:03:03 2003 +0000
145
- __BEGIN_COMMENT__
146
- Remove a submodule from the project
147
- __END_COMMENT__
148
- :160000 000000 f4f4738ae0f49a56d97ba61d7feb09aa35d9e69d 0000000000000000000000000000000000000000 D submodule
149
- __BEGIN_COMMIT__
150
- Commit: 10ed46d82c279d090b664c48a88a95e7ad76de2f
151
- Author: bdean
152
- Date: Sun Feb 9 13:36:47 2003 +0000
153
- __BEGIN_COMMENT__
154
- Add a submodule to the project
155
- __END_COMMENT__
156
- :000000 160000 0000000000000000000000000000000000000000 f4f4738ae0f49a56d97ba61d7feb09aa35d9e69d A submodule
157
- LOG
158
-
159
- commits = []
160
- GitStyledParser.parse( log ) do |commit|
161
- commits << commit
162
- end
163
-
164
- assert commits
165
- assert_equal 2, commits.size
166
-
167
- commits.each do |commit|
168
- assert_equal 0, commit.diffs.size
169
- end
170
- end
171
-
172
- def test_use_email_when_names_are_missing
173
- log = <<-LOG
174
- __BEGIN_COMMIT__
175
- Commit: ea26f7280956f1112a8e68610cb9d6336a94585d
176
- Author: mickeyl
177
- AuthorEmail: mickeyl@openembedded.org
178
- Date: Wed, 11 Jun 2008 00:37:47 +0000
179
- __BEGIN_COMMENT__
180
- fso-image: remove openmoko-sound-system2 in favour of pulseaudio-meta
181
- <unknown>
182
- __END_COMMENT__
183
- :100644 100644 a5bd9a39acc1567586372b63f347fb4df4f20957 72e6bb0df6f21387b2a3e8e1519e4aefea6339a0 M packages/images/fso-image.bb
184
-
185
- __BEGIN_COMMIT__
186
- Commit: fa3ee9d4cefc2db81adadf36da9cacbe92ce96f1
187
- Author:
188
- AuthorEmail: mickeyl@openembedded.org
189
- Date: Wed, 11 Jun 2008 00:37:06 +0000
190
- __BEGIN_COMMENT__
191
- gst-plugins-good 0.10.7 add missing dependency to esound
192
- <unknown>
193
- __END_COMMENT__
194
- :100644 100644 e84c4801f1d7acb0606e37a3a5b8c681182b3659 fb551f5176419f07b7901fb76493c8bb75de20ff M packages/gstreamer/gst-plugins-good_0.10
195
-
196
- LOG
197
-
198
- commits = []
199
- GitStyledParser.parse( log ) do |commit|
200
- commits << commit
201
- end
202
-
203
- assert commits
204
- assert_equal 2, commits.size
205
-
206
- assert_equal 'mickeyl', commits.first.author_name # Use name when present
207
- assert_equal 'mickeyl@openembedded.org', commits.last.author_name # Else use email
208
- end
209
-
210
- # Verifies OTWO-443
211
- def test_empty_merge
212
- with_git_repository('git_with_empty_merge') do |git|
213
- assert_equal 5, git.commit_count
214
- assert_equal 5, git.commits.size
215
- c = git.verbose_commit('ff13970b54e5bc373abf932f0708b89e75c842b4')
216
- assert_equal "Merge branch 'feature'\n", c.message
217
- assert_equal 0, c.diffs.size
218
- end
219
- end
220
- end
221
- end