RBTools 5.1__tar.gz → 5.2__tar.gz

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 (419) hide show
  1. {rbtools-5.1 → rbtools-5.2}/PKG-INFO +25 -9
  2. {rbtools-5.1 → rbtools-5.2}/RBTools.egg-info/PKG-INFO +25 -9
  3. {rbtools-5.1 → rbtools-5.2}/RBTools.egg-info/SOURCES.txt +2 -0
  4. {rbtools-5.1 → rbtools-5.2}/README.md +22 -7
  5. {rbtools-5.1 → rbtools-5.2}/contrib/installers/windows/wix/rbtools.wixproj +1 -1
  6. rbtools-5.2/docs/releasenotes/5.1.1.rst +38 -0
  7. rbtools-5.2/docs/releasenotes/5.2.rst +72 -0
  8. {rbtools-5.1 → rbtools-5.2}/docs/releasenotes/index.rst +2 -0
  9. {rbtools-5.1 → rbtools-5.2}/rbtools/__init__.py +1 -1
  10. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/__init__.py +1 -1
  11. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/clearcase.py +1 -1
  12. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/mercurial.py +2 -2
  13. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/svn.py +76 -50
  14. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/tests/test_svn.py +160 -6
  15. {rbtools-5.1 → rbtools-5.2}/rbtools/commands/base/commands.py +26 -4
  16. {rbtools-5.1 → rbtools-5.2}/rbtools/commands/patch.py +4 -0
  17. {rbtools-5.1 → rbtools-5.2}/rbtools/commands/post.py +1 -1
  18. {rbtools-5.1 → rbtools-5.2}/rbtools/diffs/patches.py +16 -0
  19. {rbtools-5.1 → rbtools-5.2}/rbtools/diffs/tests/test_patch.py +33 -0
  20. {rbtools-5.1 → rbtools-5.2}/rbtools/utils/mimetypes.py +9 -3
  21. {rbtools-5.1 → rbtools-5.2}/AUTHORS +0 -0
  22. {rbtools-5.1 → rbtools-5.2}/COPYING +0 -0
  23. {rbtools-5.1 → rbtools-5.2}/INSTALL +0 -0
  24. {rbtools-5.1 → rbtools-5.2}/MANIFEST.in +0 -0
  25. {rbtools-5.1 → rbtools-5.2}/NEWS +0 -0
  26. {rbtools-5.1 → rbtools-5.2}/RBTools.egg-info/dependency_links.txt +0 -0
  27. {rbtools-5.1 → rbtools-5.2}/RBTools.egg-info/entry_points.txt +0 -0
  28. {rbtools-5.1 → rbtools-5.2}/RBTools.egg-info/requires.txt +0 -0
  29. {rbtools-5.1 → rbtools-5.2}/RBTools.egg-info/top_level.txt +0 -0
  30. {rbtools-5.1 → rbtools-5.2}/contrib/P4V/P4V-Mac-Linux-Tools-Import.xml +0 -0
  31. {rbtools-5.1 → rbtools-5.2}/contrib/P4V/P4V-Windows-RBTools-Install.xml +0 -0
  32. {rbtools-5.1 → rbtools-5.2}/contrib/P4V/README.md +0 -0
  33. {rbtools-5.1 → rbtools-5.2}/contrib/installers/macosx/build-mpkg.sh +0 -0
  34. {rbtools-5.1 → rbtools-5.2}/contrib/installers/macosx/distribution.xml +0 -0
  35. {rbtools-5.1 → rbtools-5.2}/contrib/installers/macosx/resources/background.tiff +0 -0
  36. {rbtools-5.1 → rbtools-5.2}/contrib/installers/macosx/resources/background@2x.tiff +0 -0
  37. {rbtools-5.1 → rbtools-5.2}/contrib/installers/macosx/resources/conclusion.html +0 -0
  38. {rbtools-5.1 → rbtools-5.2}/contrib/installers/macosx/resources/welcome.html +0 -0
  39. {rbtools-5.1 → rbtools-5.2}/contrib/installers/windows/build-installer.bat +0 -0
  40. {rbtools-5.1 → rbtools-5.2}/contrib/installers/windows/scripts/get-version.py +0 -0
  41. {rbtools-5.1 → rbtools-5.2}/contrib/installers/windows/wix/Product_en-us.wxl +0 -0
  42. {rbtools-5.1 → rbtools-5.2}/contrib/installers/windows/wix/bootstrapper.wixproj +0 -0
  43. {rbtools-5.1 → rbtools-5.2}/contrib/installers/windows/wix/bundle.wxs +0 -0
  44. {rbtools-5.1 → rbtools-5.2}/contrib/installers/windows/wix/common.props +0 -0
  45. {rbtools-5.1 → rbtools-5.2}/contrib/installers/windows/wix/defines.wxi +0 -0
  46. {rbtools-5.1 → rbtools-5.2}/contrib/installers/windows/wix/files/favicon.ico +0 -0
  47. {rbtools-5.1 → rbtools-5.2}/contrib/installers/windows/wix/files/logo.png +0 -0
  48. {rbtools-5.1 → rbtools-5.2}/contrib/installers/windows/wix/files/rbt +0 -0
  49. {rbtools-5.1 → rbtools-5.2}/contrib/installers/windows/wix/files/rbt.cmd +0 -0
  50. {rbtools-5.1 → rbtools-5.2}/contrib/installers/windows/wix/product.wxs +0 -0
  51. {rbtools-5.1 → rbtools-5.2}/contrib/installers/windows/wix/rbtools.sln +0 -0
  52. {rbtools-5.1 → rbtools-5.2}/contrib/tools/git-hook-check-approval +0 -0
  53. {rbtools-5.1 → rbtools-5.2}/contrib/tools/git-hook-set-submitted +0 -0
  54. {rbtools-5.1 → rbtools-5.2}/contrib/tools/p4-trigger-script +0 -0
  55. {rbtools-5.1 → rbtools-5.2}/docs/rbtools/Makefile +0 -0
  56. {rbtools-5.1 → rbtools-5.2}/docs/rbtools/_ext/__init__.py +0 -0
  57. {rbtools-5.1 → rbtools-5.2}/docs/rbtools/_ext/rbt_commands.py +0 -0
  58. {rbtools-5.1 → rbtools-5.2}/docs/rbtools/api/coderef/index.rst +0 -0
  59. {rbtools-5.1 → rbtools-5.2}/docs/rbtools/api/index.rst +0 -0
  60. {rbtools-5.1 → rbtools-5.2}/docs/rbtools/api/overview.rst +0 -0
  61. {rbtools-5.1 → rbtools-5.2}/docs/rbtools/api/resource-specific.rst +0 -0
  62. {rbtools-5.1 → rbtools-5.2}/docs/rbtools/api/tutorial.rst +0 -0
  63. {rbtools-5.1 → rbtools-5.2}/docs/rbtools/conf.py +0 -0
  64. {rbtools-5.1 → rbtools-5.2}/docs/rbtools/glossary.rst +0 -0
  65. {rbtools-5.1 → rbtools-5.2}/docs/rbtools/index.rst +0 -0
  66. {rbtools-5.1 → rbtools-5.2}/docs/rbtools/installation.rst +0 -0
  67. {rbtools-5.1 → rbtools-5.2}/docs/rbtools/rbt/commands/alias.rst +0 -0
  68. {rbtools-5.1 → rbtools-5.2}/docs/rbtools/rbt/commands/api-get.rst +0 -0
  69. {rbtools-5.1 → rbtools-5.2}/docs/rbtools/rbt/commands/attach.rst +0 -0
  70. {rbtools-5.1 → rbtools-5.2}/docs/rbtools/rbt/commands/clear-cache.rst +0 -0
  71. {rbtools-5.1 → rbtools-5.2}/docs/rbtools/rbt/commands/close.rst +0 -0
  72. {rbtools-5.1 → rbtools-5.2}/docs/rbtools/rbt/commands/diff.rst +0 -0
  73. {rbtools-5.1 → rbtools-5.2}/docs/rbtools/rbt/commands/index.rst +0 -0
  74. {rbtools-5.1 → rbtools-5.2}/docs/rbtools/rbt/commands/install.rst +0 -0
  75. {rbtools-5.1 → rbtools-5.2}/docs/rbtools/rbt/commands/land.rst +0 -0
  76. {rbtools-5.1 → rbtools-5.2}/docs/rbtools/rbt/commands/list-repo-types.rst +0 -0
  77. {rbtools-5.1 → rbtools-5.2}/docs/rbtools/rbt/commands/login.rst +0 -0
  78. {rbtools-5.1 → rbtools-5.2}/docs/rbtools/rbt/commands/logout.rst +0 -0
  79. {rbtools-5.1 → rbtools-5.2}/docs/rbtools/rbt/commands/patch.rst +0 -0
  80. {rbtools-5.1 → rbtools-5.2}/docs/rbtools/rbt/commands/post.rst +0 -0
  81. {rbtools-5.1 → rbtools-5.2}/docs/rbtools/rbt/commands/publish.rst +0 -0
  82. {rbtools-5.1 → rbtools-5.2}/docs/rbtools/rbt/commands/review.rst +0 -0
  83. {rbtools-5.1 → rbtools-5.2}/docs/rbtools/rbt/commands/setup-completion.rst +0 -0
  84. {rbtools-5.1 → rbtools-5.2}/docs/rbtools/rbt/commands/setup-repo.rst +0 -0
  85. {rbtools-5.1 → rbtools-5.2}/docs/rbtools/rbt/commands/stamp.rst +0 -0
  86. {rbtools-5.1 → rbtools-5.2}/docs/rbtools/rbt/commands/status-update.rst +0 -0
  87. {rbtools-5.1 → rbtools-5.2}/docs/rbtools/rbt/commands/status.rst +0 -0
  88. {rbtools-5.1 → rbtools-5.2}/docs/rbtools/rbt/configuration/authentication.rst +0 -0
  89. {rbtools-5.1 → rbtools-5.2}/docs/rbtools/rbt/configuration/index.rst +0 -0
  90. {rbtools-5.1 → rbtools-5.2}/docs/rbtools/rbt/configuration/repositories.rst +0 -0
  91. {rbtools-5.1 → rbtools-5.2}/docs/rbtools/rbt/configuration/tfs.rst +0 -0
  92. {rbtools-5.1 → rbtools-5.2}/docs/rbtools/rbt/configuration/users.rst +0 -0
  93. {rbtools-5.1 → rbtools-5.2}/docs/rbtools/rbt/index.rst +0 -0
  94. {rbtools-5.1 → rbtools-5.2}/docs/rbtools/workflows/git.rst +0 -0
  95. {rbtools-5.1 → rbtools-5.2}/docs/rbtools/workflows/index.rst +0 -0
  96. {rbtools-5.1 → rbtools-5.2}/docs/rbtools/workflows/perforce.rst +0 -0
  97. {rbtools-5.1 → rbtools-5.2}/docs/rbtools/workflows/sos.rst +0 -0
  98. {rbtools-5.1 → rbtools-5.2}/docs/rbtools/workflows/versionvault.rst +0 -0
  99. {rbtools-5.1 → rbtools-5.2}/docs/releasenotes/0.2-beta-1.rst +0 -0
  100. {rbtools-5.1 → rbtools-5.2}/docs/releasenotes/0.2-beta-2.rst +0 -0
  101. {rbtools-5.1 → rbtools-5.2}/docs/releasenotes/0.2-rc-1.rst +0 -0
  102. {rbtools-5.1 → rbtools-5.2}/docs/releasenotes/0.2.rst +0 -0
  103. {rbtools-5.1 → rbtools-5.2}/docs/releasenotes/0.3.1.rst +0 -0
  104. {rbtools-5.1 → rbtools-5.2}/docs/releasenotes/0.3.2.rst +0 -0
  105. {rbtools-5.1 → rbtools-5.2}/docs/releasenotes/0.3.3.rst +0 -0
  106. {rbtools-5.1 → rbtools-5.2}/docs/releasenotes/0.3.4.rst +0 -0
  107. {rbtools-5.1 → rbtools-5.2}/docs/releasenotes/0.3.rst +0 -0
  108. {rbtools-5.1 → rbtools-5.2}/docs/releasenotes/0.4.1.rst +0 -0
  109. {rbtools-5.1 → rbtools-5.2}/docs/releasenotes/0.4.2.rst +0 -0
  110. {rbtools-5.1 → rbtools-5.2}/docs/releasenotes/0.4.3.rst +0 -0
  111. {rbtools-5.1 → rbtools-5.2}/docs/releasenotes/0.4.rst +0 -0
  112. {rbtools-5.1 → rbtools-5.2}/docs/releasenotes/0.5.1.rst +0 -0
  113. {rbtools-5.1 → rbtools-5.2}/docs/releasenotes/0.5.2.rst +0 -0
  114. {rbtools-5.1 → rbtools-5.2}/docs/releasenotes/0.5.3.rst +0 -0
  115. {rbtools-5.1 → rbtools-5.2}/docs/releasenotes/0.5.4.rst +0 -0
  116. {rbtools-5.1 → rbtools-5.2}/docs/releasenotes/0.5.5.rst +0 -0
  117. {rbtools-5.1 → rbtools-5.2}/docs/releasenotes/0.5.6.rst +0 -0
  118. {rbtools-5.1 → rbtools-5.2}/docs/releasenotes/0.5.7.rst +0 -0
  119. {rbtools-5.1 → rbtools-5.2}/docs/releasenotes/0.5.rst +0 -0
  120. {rbtools-5.1 → rbtools-5.2}/docs/releasenotes/0.6.1.rst +0 -0
  121. {rbtools-5.1 → rbtools-5.2}/docs/releasenotes/0.6.2.rst +0 -0
  122. {rbtools-5.1 → rbtools-5.2}/docs/releasenotes/0.6.3.rst +0 -0
  123. {rbtools-5.1 → rbtools-5.2}/docs/releasenotes/0.6.rst +0 -0
  124. {rbtools-5.1 → rbtools-5.2}/docs/releasenotes/0.7.1.rst +0 -0
  125. {rbtools-5.1 → rbtools-5.2}/docs/releasenotes/0.7.10.rst +0 -0
  126. {rbtools-5.1 → rbtools-5.2}/docs/releasenotes/0.7.11.rst +0 -0
  127. {rbtools-5.1 → rbtools-5.2}/docs/releasenotes/0.7.2.rst +0 -0
  128. {rbtools-5.1 → rbtools-5.2}/docs/releasenotes/0.7.3.rst +0 -0
  129. {rbtools-5.1 → rbtools-5.2}/docs/releasenotes/0.7.4.rst +0 -0
  130. {rbtools-5.1 → rbtools-5.2}/docs/releasenotes/0.7.5.rst +0 -0
  131. {rbtools-5.1 → rbtools-5.2}/docs/releasenotes/0.7.6.rst +0 -0
  132. {rbtools-5.1 → rbtools-5.2}/docs/releasenotes/0.7.7.rst +0 -0
  133. {rbtools-5.1 → rbtools-5.2}/docs/releasenotes/0.7.8.rst +0 -0
  134. {rbtools-5.1 → rbtools-5.2}/docs/releasenotes/0.7.9.rst +0 -0
  135. {rbtools-5.1 → rbtools-5.2}/docs/releasenotes/0.7.rst +0 -0
  136. {rbtools-5.1 → rbtools-5.2}/docs/releasenotes/1.0.1.rst +0 -0
  137. {rbtools-5.1 → rbtools-5.2}/docs/releasenotes/1.0.2.rst +0 -0
  138. {rbtools-5.1 → rbtools-5.2}/docs/releasenotes/1.0.3.rst +0 -0
  139. {rbtools-5.1 → rbtools-5.2}/docs/releasenotes/1.0.rst +0 -0
  140. {rbtools-5.1 → rbtools-5.2}/docs/releasenotes/2.0.1.rst +0 -0
  141. {rbtools-5.1 → rbtools-5.2}/docs/releasenotes/2.0.rst +0 -0
  142. {rbtools-5.1 → rbtools-5.2}/docs/releasenotes/3.0.rst +0 -0
  143. {rbtools-5.1 → rbtools-5.2}/docs/releasenotes/3.1.1.rst +0 -0
  144. {rbtools-5.1 → rbtools-5.2}/docs/releasenotes/3.1.2.rst +0 -0
  145. {rbtools-5.1 → rbtools-5.2}/docs/releasenotes/3.1.rst +0 -0
  146. {rbtools-5.1 → rbtools-5.2}/docs/releasenotes/4.0.rst +0 -0
  147. {rbtools-5.1 → rbtools-5.2}/docs/releasenotes/4.1.rst +0 -0
  148. {rbtools-5.1 → rbtools-5.2}/docs/releasenotes/5.0.rst +0 -0
  149. {rbtools-5.1 → rbtools-5.2}/docs/releasenotes/5.1.rst +0 -0
  150. {rbtools-5.1 → rbtools-5.2}/docs/releasenotes/Makefile +0 -0
  151. {rbtools-5.1 → rbtools-5.2}/docs/releasenotes/_ext/extralinks.py +0 -0
  152. {rbtools-5.1 → rbtools-5.2}/docs/releasenotes/conf.py +0 -0
  153. {rbtools-5.1 → rbtools-5.2}/pyproject.toml +0 -0
  154. {rbtools-5.1 → rbtools-5.2}/rbtools/api/__init__.py +0 -0
  155. {rbtools-5.1 → rbtools-5.2}/rbtools/api/cache.py +0 -0
  156. {rbtools-5.1 → rbtools-5.2}/rbtools/api/capabilities.py +0 -0
  157. {rbtools-5.1 → rbtools-5.2}/rbtools/api/client.py +0 -0
  158. {rbtools-5.1 → rbtools-5.2}/rbtools/api/decode.py +0 -0
  159. {rbtools-5.1 → rbtools-5.2}/rbtools/api/decorators.py +0 -0
  160. {rbtools-5.1 → rbtools-5.2}/rbtools/api/errors.py +0 -0
  161. {rbtools-5.1 → rbtools-5.2}/rbtools/api/factory.py +0 -0
  162. {rbtools-5.1 → rbtools-5.2}/rbtools/api/request.py +0 -0
  163. {rbtools-5.1 → rbtools-5.2}/rbtools/api/resource.py +0 -0
  164. {rbtools-5.1 → rbtools-5.2}/rbtools/api/tests/__init__.py +0 -0
  165. {rbtools-5.1 → rbtools-5.2}/rbtools/api/tests/base.py +0 -0
  166. {rbtools-5.1 → rbtools-5.2}/rbtools/api/tests/test_capabilities.py +0 -0
  167. {rbtools-5.1 → rbtools-5.2}/rbtools/api/tests/test_errors.py +0 -0
  168. {rbtools-5.1 → rbtools-5.2}/rbtools/api/tests/test_factory.py +0 -0
  169. {rbtools-5.1 → rbtools-5.2}/rbtools/api/tests/test_http_request.py +0 -0
  170. {rbtools-5.1 → rbtools-5.2}/rbtools/api/tests/test_resource.py +0 -0
  171. {rbtools-5.1 → rbtools-5.2}/rbtools/api/transport/__init__.py +0 -0
  172. {rbtools-5.1 → rbtools-5.2}/rbtools/api/transport/sync.py +0 -0
  173. {rbtools-5.1 → rbtools-5.2}/rbtools/api/utils.py +0 -0
  174. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/base/__init__.py +0 -0
  175. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/base/patch.py +0 -0
  176. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/base/registry.py +0 -0
  177. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/base/repository.py +0 -0
  178. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/base/scmclient.py +0 -0
  179. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/bazaar.py +0 -0
  180. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/cvs.py +0 -0
  181. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/errors.py +0 -0
  182. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/git.py +0 -0
  183. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/perforce.py +0 -0
  184. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/plastic.py +0 -0
  185. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/sos.py +0 -0
  186. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/tests/__init__.py +0 -0
  187. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/tests/test_base_scmclient.py +0 -0
  188. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/tests/test_bzr.py +0 -0
  189. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/tests/test_clearcase.py +0 -0
  190. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/tests/test_cvs.py +0 -0
  191. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/tests/test_git.py +0 -0
  192. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/tests/test_legacy_patcher.py +0 -0
  193. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/tests/test_mercurial.py +0 -0
  194. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/tests/test_p4.py +0 -0
  195. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/tests/test_plastic.py +0 -0
  196. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/tests/test_scanning.py +0 -0
  197. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/tests/test_scmclient_registry.py +0 -0
  198. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/tests/test_sos.py +0 -0
  199. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/tests/test_tfs.py +0 -0
  200. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/tests/testdata/cvs-repo/CVSROOT/checkoutlist +0 -0
  201. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/tests/testdata/cvs-repo/CVSROOT/checkoutlist,v +0 -0
  202. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/tests/testdata/cvs-repo/CVSROOT/commitinfo +0 -0
  203. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/tests/testdata/cvs-repo/CVSROOT/commitinfo,v +0 -0
  204. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/tests/testdata/cvs-repo/CVSROOT/config +0 -0
  205. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/tests/testdata/cvs-repo/CVSROOT/config,v +0 -0
  206. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/tests/testdata/cvs-repo/CVSROOT/cvswrappers +0 -0
  207. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/tests/testdata/cvs-repo/CVSROOT/cvswrappers,v +0 -0
  208. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/tests/testdata/cvs-repo/CVSROOT/loginfo +0 -0
  209. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/tests/testdata/cvs-repo/CVSROOT/loginfo,v +0 -0
  210. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/tests/testdata/cvs-repo/CVSROOT/modules +0 -0
  211. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/tests/testdata/cvs-repo/CVSROOT/modules,v +0 -0
  212. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/tests/testdata/cvs-repo/CVSROOT/notify +0 -0
  213. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/tests/testdata/cvs-repo/CVSROOT/notify,v +0 -0
  214. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/tests/testdata/cvs-repo/CVSROOT/postadmin +0 -0
  215. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/tests/testdata/cvs-repo/CVSROOT/postadmin,v +0 -0
  216. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/tests/testdata/cvs-repo/CVSROOT/postproxy +0 -0
  217. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/tests/testdata/cvs-repo/CVSROOT/postproxy,v +0 -0
  218. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/tests/testdata/cvs-repo/CVSROOT/posttag +0 -0
  219. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/tests/testdata/cvs-repo/CVSROOT/posttag,v +0 -0
  220. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/tests/testdata/cvs-repo/CVSROOT/postwatch +0 -0
  221. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/tests/testdata/cvs-repo/CVSROOT/postwatch,v +0 -0
  222. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/tests/testdata/cvs-repo/CVSROOT/preproxy +0 -0
  223. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/tests/testdata/cvs-repo/CVSROOT/preproxy,v +0 -0
  224. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/tests/testdata/cvs-repo/CVSROOT/rcsinfo +0 -0
  225. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/tests/testdata/cvs-repo/CVSROOT/rcsinfo,v +0 -0
  226. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/tests/testdata/cvs-repo/CVSROOT/taginfo +0 -0
  227. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/tests/testdata/cvs-repo/CVSROOT/taginfo,v +0 -0
  228. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/tests/testdata/cvs-repo/CVSROOT/val-tags +0 -0
  229. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/tests/testdata/cvs-repo/CVSROOT/verifymsg +0 -0
  230. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/tests/testdata/cvs-repo/CVSROOT/verifymsg,v +0 -0
  231. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/tests/testdata/cvs-repo/test-project/file1,v +0 -0
  232. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/tests/testdata/cvs-repo/test-project/file2,v +0 -0
  233. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/tests/testdata/cvs-repo/test-project/file3,v +0 -0
  234. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/tests/testdata/git-repo/HEAD +0 -0
  235. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/tests/testdata/git-repo/config +0 -0
  236. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/tests/testdata/git-repo/description +0 -0
  237. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/tests/testdata/git-repo/hooks/applypatch-msg.sample +0 -0
  238. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/tests/testdata/git-repo/hooks/commit-msg.sample +0 -0
  239. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/tests/testdata/git-repo/hooks/post-update.sample +0 -0
  240. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/tests/testdata/git-repo/hooks/pre-applypatch.sample +0 -0
  241. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/tests/testdata/git-repo/hooks/pre-commit.sample +0 -0
  242. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/tests/testdata/git-repo/hooks/pre-push.sample +0 -0
  243. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/tests/testdata/git-repo/hooks/pre-rebase.sample +0 -0
  244. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/tests/testdata/git-repo/hooks/prepare-commit-msg.sample +0 -0
  245. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/tests/testdata/git-repo/hooks/update.sample +0 -0
  246. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/tests/testdata/git-repo/info/exclude +0 -0
  247. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/tests/testdata/git-repo/objects/0e/88e512079c31f885b3ced6fab680674a69d8ac +0 -0
  248. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/tests/testdata/git-repo/objects/18/c5c09410ba62e8240c2cabe0822c55a60fc519 +0 -0
  249. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/tests/testdata/git-repo/objects/4b/825dc642cb6eb9a060e54bf8d69288fbee4904 +0 -0
  250. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/tests/testdata/git-repo/objects/5e/98e9540e1b741b5be24fcb33c40c1c8069c1fb +0 -0
  251. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/tests/testdata/git-repo/objects/63/4b3e8ff85bada6f928841a9f2c505560840b3a +0 -0
  252. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/tests/testdata/git-repo/objects/6a/76568cc86d73144323388a2669c6add94a572c +0 -0
  253. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/tests/testdata/git-repo/objects/79/66b68a2d81aaa3707c6200aac1c1c86f91431b +0 -0
  254. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/tests/testdata/git-repo/objects/9d/c1177bba796bd19564d1d84f27a8e4576a204a +0 -0
  255. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/tests/testdata/git-repo/objects/bd/5eb938439b726de969e52fa2d93d5e366811b7 +0 -0
  256. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/tests/testdata/git-repo/objects/c4/1fe7c20a7342965922f2772bea3e514975134a +0 -0
  257. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/tests/testdata/git-repo/objects/e6/a3577b3236ed08fdb3a42e8042bfc415d2ae22 +0 -0
  258. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/tests/testdata/git-repo/packed-refs +0 -0
  259. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/tests/testdata/git-repo/refs/heads/.gitignore +0 -0
  260. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/tests/testdata/git-repo/refs/tags/.gitignore +0 -0
  261. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/tests/testdata/hg-repo/foo.txt +0 -0
  262. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/tests/testdata/homedir/.bazaar/bazaar.conf +0 -0
  263. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/tests/testdata/homedir/.gitconfig +0 -0
  264. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/tests/testdata/homedir/.gitignore +0 -0
  265. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/tests/testdata/svn-repo/README.txt +0 -0
  266. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/tests/testdata/svn-repo/conf/authz +0 -0
  267. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/tests/testdata/svn-repo/conf/passwd +0 -0
  268. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/tests/testdata/svn-repo/conf/svnserve.conf +0 -0
  269. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/tests/testdata/svn-repo/db/current +0 -0
  270. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/tests/testdata/svn-repo/db/format +0 -0
  271. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/tests/testdata/svn-repo/db/fs-type +0 -0
  272. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/tests/testdata/svn-repo/db/fsfs.conf +0 -0
  273. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/tests/testdata/svn-repo/db/min-unpacked-rev +0 -0
  274. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/tests/testdata/svn-repo/db/rep-cache.db-journal +0 -0
  275. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/tests/testdata/svn-repo/db/revprops/0/0 +0 -0
  276. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/tests/testdata/svn-repo/db/revprops/0/1 +0 -0
  277. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/tests/testdata/svn-repo/db/revprops/0/2 +0 -0
  278. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/tests/testdata/svn-repo/db/revprops/0/3 +0 -0
  279. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/tests/testdata/svn-repo/db/revprops/0/4 +0 -0
  280. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/tests/testdata/svn-repo/db/revprops/0/5 +0 -0
  281. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/tests/testdata/svn-repo/db/revprops/0/6 +0 -0
  282. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/tests/testdata/svn-repo/db/revs/0/0 +0 -0
  283. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/tests/testdata/svn-repo/db/revs/0/1 +0 -0
  284. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/tests/testdata/svn-repo/db/revs/0/2 +0 -0
  285. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/tests/testdata/svn-repo/db/revs/0/3 +0 -0
  286. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/tests/testdata/svn-repo/db/revs/0/4 +0 -0
  287. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/tests/testdata/svn-repo/db/revs/0/5 +0 -0
  288. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/tests/testdata/svn-repo/db/revs/0/6 +0 -0
  289. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/tests/testdata/svn-repo/db/transactions/.gitignore +0 -0
  290. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/tests/testdata/svn-repo/db/txn-current +0 -0
  291. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/tests/testdata/svn-repo/db/txn-current-lock +0 -0
  292. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/tests/testdata/svn-repo/db/txn-protorevs/.gitignore +0 -0
  293. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/tests/testdata/svn-repo/db/uuid +0 -0
  294. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/tests/testdata/svn-repo/db/write-lock +0 -0
  295. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/tests/testdata/svn-repo/format +0 -0
  296. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/tests/testdata/svn-repo/hooks/post-commit.tmpl +0 -0
  297. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/tests/testdata/svn-repo/hooks/post-lock.tmpl +0 -0
  298. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/tests/testdata/svn-repo/hooks/post-revprop-change.tmpl +0 -0
  299. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/tests/testdata/svn-repo/hooks/post-unlock.tmpl +0 -0
  300. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/tests/testdata/svn-repo/hooks/pre-commit.tmpl +0 -0
  301. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/tests/testdata/svn-repo/hooks/pre-lock.tmpl +0 -0
  302. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/tests/testdata/svn-repo/hooks/pre-revprop-change.tmpl +0 -0
  303. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/tests/testdata/svn-repo/hooks/pre-unlock.tmpl +0 -0
  304. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/tests/testdata/svn-repo/hooks/start-commit.tmpl +0 -0
  305. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/tests/testdata/svn-repo/locks/db-logs.lock +0 -0
  306. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/tests/testdata/svn-repo/locks/db.lock +0 -0
  307. {rbtools-5.1 → rbtools-5.2}/rbtools/clients/tfs.py +0 -0
  308. {rbtools-5.1 → rbtools-5.2}/rbtools/commands/__init__.py +0 -0
  309. {rbtools-5.1 → rbtools-5.2}/rbtools/commands/alias.py +0 -0
  310. {rbtools-5.1 → rbtools-5.2}/rbtools/commands/api_get.py +0 -0
  311. {rbtools-5.1 → rbtools-5.2}/rbtools/commands/attach.py +0 -0
  312. {rbtools-5.1 → rbtools-5.2}/rbtools/commands/base/__init__.py +0 -0
  313. {rbtools-5.1 → rbtools-5.2}/rbtools/commands/base/errors.py +0 -0
  314. {rbtools-5.1 → rbtools-5.2}/rbtools/commands/base/options.py +0 -0
  315. {rbtools-5.1 → rbtools-5.2}/rbtools/commands/base/output.py +0 -0
  316. {rbtools-5.1 → rbtools-5.2}/rbtools/commands/clearcache.py +0 -0
  317. {rbtools-5.1 → rbtools-5.2}/rbtools/commands/close.py +0 -0
  318. {rbtools-5.1 → rbtools-5.2}/rbtools/commands/conf/completions/bash +0 -0
  319. {rbtools-5.1 → rbtools-5.2}/rbtools/commands/conf/completions/zsh +0 -0
  320. {rbtools-5.1 → rbtools-5.2}/rbtools/commands/diff.py +0 -0
  321. {rbtools-5.1 → rbtools-5.2}/rbtools/commands/info.py +0 -0
  322. {rbtools-5.1 → rbtools-5.2}/rbtools/commands/install.py +0 -0
  323. {rbtools-5.1 → rbtools-5.2}/rbtools/commands/land.py +0 -0
  324. {rbtools-5.1 → rbtools-5.2}/rbtools/commands/list_repo_types.py +0 -0
  325. {rbtools-5.1 → rbtools-5.2}/rbtools/commands/login.py +0 -0
  326. {rbtools-5.1 → rbtools-5.2}/rbtools/commands/logout.py +0 -0
  327. {rbtools-5.1 → rbtools-5.2}/rbtools/commands/main.py +0 -0
  328. {rbtools-5.1 → rbtools-5.2}/rbtools/commands/publish.py +0 -0
  329. {rbtools-5.1 → rbtools-5.2}/rbtools/commands/review.py +0 -0
  330. {rbtools-5.1 → rbtools-5.2}/rbtools/commands/setup_completion.py +0 -0
  331. {rbtools-5.1 → rbtools-5.2}/rbtools/commands/setup_repo.py +0 -0
  332. {rbtools-5.1 → rbtools-5.2}/rbtools/commands/stamp.py +0 -0
  333. {rbtools-5.1 → rbtools-5.2}/rbtools/commands/status.py +0 -0
  334. {rbtools-5.1 → rbtools-5.2}/rbtools/commands/status_update.py +0 -0
  335. {rbtools-5.1 → rbtools-5.2}/rbtools/commands/tests/__init__.py +0 -0
  336. {rbtools-5.1 → rbtools-5.2}/rbtools/commands/tests/test_alias.py +0 -0
  337. {rbtools-5.1 → rbtools-5.2}/rbtools/commands/tests/test_base_output.py +0 -0
  338. {rbtools-5.1 → rbtools-5.2}/rbtools/commands/tests/test_command_initialization.py +0 -0
  339. {rbtools-5.1 → rbtools-5.2}/rbtools/commands/tests/test_main.py +0 -0
  340. {rbtools-5.1 → rbtools-5.2}/rbtools/commands/tests/test_post.py +0 -0
  341. {rbtools-5.1 → rbtools-5.2}/rbtools/commands/tests/test_setup_completion.py +0 -0
  342. {rbtools-5.1 → rbtools-5.2}/rbtools/commands/tests/test_setup_repo.py +0 -0
  343. {rbtools-5.1 → rbtools-5.2}/rbtools/config/__init__.py +0 -0
  344. {rbtools-5.1 → rbtools-5.2}/rbtools/config/config.py +0 -0
  345. {rbtools-5.1 → rbtools-5.2}/rbtools/config/errors.py +0 -0
  346. {rbtools-5.1 → rbtools-5.2}/rbtools/config/loader.py +0 -0
  347. {rbtools-5.1 → rbtools-5.2}/rbtools/config/tests/__init__.py +0 -0
  348. {rbtools-5.1 → rbtools-5.2}/rbtools/config/tests/test_config.py +0 -0
  349. {rbtools-5.1 → rbtools-5.2}/rbtools/config/tests/test_loader.py +0 -0
  350. {rbtools-5.1 → rbtools-5.2}/rbtools/deprecation.py +0 -0
  351. {rbtools-5.1 → rbtools-5.2}/rbtools/diffs/__init__.py +0 -0
  352. {rbtools-5.1 → rbtools-5.2}/rbtools/diffs/errors.py +0 -0
  353. {rbtools-5.1 → rbtools-5.2}/rbtools/diffs/patcher.py +0 -0
  354. {rbtools-5.1 → rbtools-5.2}/rbtools/diffs/tests/__init__.py +0 -0
  355. {rbtools-5.1 → rbtools-5.2}/rbtools/diffs/tests/test_apple_diff_tool.py +0 -0
  356. {rbtools-5.1 → rbtools-5.2}/rbtools/diffs/tests/test_apply_patch_error.py +0 -0
  357. {rbtools-5.1 → rbtools-5.2}/rbtools/diffs/tests/test_diff_file_result.py +0 -0
  358. {rbtools-5.1 → rbtools-5.2}/rbtools/diffs/tests/test_diff_tools_registry.py +0 -0
  359. {rbtools-5.1 → rbtools-5.2}/rbtools/diffs/tests/test_gnu_diff_tool.py +0 -0
  360. {rbtools-5.1 → rbtools-5.2}/rbtools/diffs/tests/test_patcher.py +0 -0
  361. {rbtools-5.1 → rbtools-5.2}/rbtools/diffs/tests/test_unified_diff_writer.py +0 -0
  362. {rbtools-5.1 → rbtools-5.2}/rbtools/diffs/tools/__init__.py +0 -0
  363. {rbtools-5.1 → rbtools-5.2}/rbtools/diffs/tools/backends/__init__.py +0 -0
  364. {rbtools-5.1 → rbtools-5.2}/rbtools/diffs/tools/backends/apple.py +0 -0
  365. {rbtools-5.1 → rbtools-5.2}/rbtools/diffs/tools/backends/gnu.py +0 -0
  366. {rbtools-5.1 → rbtools-5.2}/rbtools/diffs/tools/base/__init__.py +0 -0
  367. {rbtools-5.1 → rbtools-5.2}/rbtools/diffs/tools/base/diff_file_result.py +0 -0
  368. {rbtools-5.1 → rbtools-5.2}/rbtools/diffs/tools/base/diff_tool.py +0 -0
  369. {rbtools-5.1 → rbtools-5.2}/rbtools/diffs/tools/errors.py +0 -0
  370. {rbtools-5.1 → rbtools-5.2}/rbtools/diffs/tools/registry.py +0 -0
  371. {rbtools-5.1 → rbtools-5.2}/rbtools/diffs/writers.py +0 -0
  372. {rbtools-5.1 → rbtools-5.2}/rbtools/helpers/__init__.py +0 -0
  373. {rbtools-5.1 → rbtools-5.2}/rbtools/helpers/hgext.py +0 -0
  374. {rbtools-5.1 → rbtools-5.2}/rbtools/hooks/__init__.py +0 -0
  375. {rbtools-5.1 → rbtools-5.2}/rbtools/hooks/common.py +0 -0
  376. {rbtools-5.1 → rbtools-5.2}/rbtools/hooks/git.py +0 -0
  377. {rbtools-5.1 → rbtools-5.2}/rbtools/testing/__init__.py +0 -0
  378. {rbtools-5.1 → rbtools-5.2}/rbtools/testing/api/__init__.py +0 -0
  379. {rbtools-5.1 → rbtools-5.2}/rbtools/testing/api/payloads.py +0 -0
  380. {rbtools-5.1 → rbtools-5.2}/rbtools/testing/api/transport.py +0 -0
  381. {rbtools-5.1 → rbtools-5.2}/rbtools/testing/commands.py +0 -0
  382. {rbtools-5.1 → rbtools-5.2}/rbtools/testing/scripts/editor.py +0 -0
  383. {rbtools-5.1 → rbtools-5.2}/rbtools/testing/testcase.py +0 -0
  384. {rbtools-5.1 → rbtools-5.2}/rbtools/testing/transport.py +0 -0
  385. {rbtools-5.1 → rbtools-5.2}/rbtools/utils/COPYING.appdirs +0 -0
  386. {rbtools-5.1 → rbtools-5.2}/rbtools/utils/README.appdirs +0 -0
  387. {rbtools-5.1 → rbtools-5.2}/rbtools/utils/__init__.py +0 -0
  388. {rbtools-5.1 → rbtools-5.2}/rbtools/utils/aliases.py +0 -0
  389. {rbtools-5.1 → rbtools-5.2}/rbtools/utils/appdirs.py +0 -0
  390. {rbtools-5.1 → rbtools-5.2}/rbtools/utils/browser.py +0 -0
  391. {rbtools-5.1 → rbtools-5.2}/rbtools/utils/checks.py +0 -0
  392. {rbtools-5.1 → rbtools-5.2}/rbtools/utils/commands.py +0 -0
  393. {rbtools-5.1 → rbtools-5.2}/rbtools/utils/console.py +0 -0
  394. {rbtools-5.1 → rbtools-5.2}/rbtools/utils/diffs.py +0 -0
  395. {rbtools-5.1 → rbtools-5.2}/rbtools/utils/encoding.py +0 -0
  396. {rbtools-5.1 → rbtools-5.2}/rbtools/utils/errors.py +0 -0
  397. {rbtools-5.1 → rbtools-5.2}/rbtools/utils/filesystem.py +0 -0
  398. {rbtools-5.1 → rbtools-5.2}/rbtools/utils/graphs.py +0 -0
  399. {rbtools-5.1 → rbtools-5.2}/rbtools/utils/process.py +0 -0
  400. {rbtools-5.1 → rbtools-5.2}/rbtools/utils/repository.py +0 -0
  401. {rbtools-5.1 → rbtools-5.2}/rbtools/utils/review_request.py +0 -0
  402. {rbtools-5.1 → rbtools-5.2}/rbtools/utils/source_tree.py +0 -0
  403. {rbtools-5.1 → rbtools-5.2}/rbtools/utils/streams.py +0 -0
  404. {rbtools-5.1 → rbtools-5.2}/rbtools/utils/tests/__init__.py +0 -0
  405. {rbtools-5.1 → rbtools-5.2}/rbtools/utils/tests/test_aliases.py +0 -0
  406. {rbtools-5.1 → rbtools-5.2}/rbtools/utils/tests/test_buffered_iterator.py +0 -0
  407. {rbtools-5.1 → rbtools-5.2}/rbtools/utils/tests/test_checks.py +0 -0
  408. {rbtools-5.1 → rbtools-5.2}/rbtools/utils/tests/test_console.py +0 -0
  409. {rbtools-5.1 → rbtools-5.2}/rbtools/utils/tests/test_encoding.py +0 -0
  410. {rbtools-5.1 → rbtools-5.2}/rbtools/utils/tests/test_filesystem.py +0 -0
  411. {rbtools-5.1 → rbtools-5.2}/rbtools/utils/tests/test_mimetypes.py +0 -0
  412. {rbtools-5.1 → rbtools-5.2}/rbtools/utils/tests/test_process.py +0 -0
  413. {rbtools-5.1 → rbtools-5.2}/rbtools/utils/tests/test_repository.py +0 -0
  414. {rbtools-5.1 → rbtools-5.2}/rbtools/utils/tests/test_review_request.py +0 -0
  415. {rbtools-5.1 → rbtools-5.2}/rbtools/utils/tests/test_source_tree.py +0 -0
  416. {rbtools-5.1 → rbtools-5.2}/rbtools/utils/tests/test_web_login.py +0 -0
  417. {rbtools-5.1 → rbtools-5.2}/rbtools/utils/users.py +0 -0
  418. {rbtools-5.1 → rbtools-5.2}/rbtools/utils/web_login.py +0 -0
  419. {rbtools-5.1 → rbtools-5.2}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.4
2
2
  Name: RBTools
3
- Version: 5.1
3
+ Version: 5.2
4
4
  Summary: Command line tools and API for working with code and document reviews on Review Board
5
5
  Author-email: "Beanbag, Inc." <questions@beanbaginc.com>
6
6
  License: MIT
@@ -38,9 +38,15 @@ Requires-Dist: typing_extensions>=4.3.0
38
38
  Requires-Dist: tqdm
39
39
  Requires-Dist: importlib-metadata>=5.0
40
40
  Requires-Dist: importlib-resources>=5.9
41
+ Dynamic: license-file
41
42
 
42
- About RBTools
43
- =============
43
+ RBTools - Command Line Tools for Review Board
44
+ =============================================
45
+
46
+ [![Latest Release](https://img.shields.io/pypi/v/RBTools)](https://pypi.org/project/RBTools)
47
+ [![License](https://img.shields.io/badge/license-MIT-green.svg)](https://opensource.org/licenses/MIT)
48
+ [![Review Board](https://img.shields.io/badge/Review%20Board-d0e6ff?label=reviewed%20with)](https://www.reviewboard.org)
49
+ [![Python](https://img.shields.io/pypi/pyversions/RBTools)](https://pypi.org/project/RBTools)
44
50
 
45
51
  RBTools is a set of command line tools and a rich Python API for use with
46
52
  [Review Board](https://www.reviewboard.org/).
@@ -96,10 +102,20 @@ Getting Support
96
102
  We can help you get going with Review Board and RBTools, and diagnose any
97
103
  issues that may come up.
98
104
 
99
- If you're using RBTools in production, we offer [support
100
- contracts](https://www.reviewboard.org/support/), covering all Beanbag
101
- products. This helps fund the development of Review Board, RBTools, and our
102
- other open source projects.
105
+ We provide more [dedicated, private
106
+ support](https://www.reviewboard.org/support/) for your organization through a
107
+ support contract, offering:
108
+
109
+ * Same-day responses (generally within a few hours, if not sooner)
110
+ * Confidential communications
111
+ * Installation/upgrade assistance
112
+ * Emergency database repair
113
+ * Video/chat meetings (by appointment)
114
+ * Priority fixes for urgent bugs
115
+ * Backports of urgent fixes to older releases (when possible)
116
+
117
+ Support contracts fund the development of Review Board, RBTools, and our other
118
+ open source projects.
103
119
 
104
120
  For basic questions, there's a public community support
105
121
  [discussion list](http://groups.google.com/group/reviewboard/). We generally
@@ -152,7 +168,7 @@ $ pip install -r dev-requirements.txt
152
168
  Running the test suite is easy. Simply run:
153
169
 
154
170
  ```console
155
- $ ./tests/runtests.py
171
+ $ pytest
156
172
  ```
157
173
 
158
174
  from the top of the source tree. You can also run a particular set of tests.
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.4
2
2
  Name: RBTools
3
- Version: 5.1
3
+ Version: 5.2
4
4
  Summary: Command line tools and API for working with code and document reviews on Review Board
5
5
  Author-email: "Beanbag, Inc." <questions@beanbaginc.com>
6
6
  License: MIT
@@ -38,9 +38,15 @@ Requires-Dist: typing_extensions>=4.3.0
38
38
  Requires-Dist: tqdm
39
39
  Requires-Dist: importlib-metadata>=5.0
40
40
  Requires-Dist: importlib-resources>=5.9
41
+ Dynamic: license-file
41
42
 
42
- About RBTools
43
- =============
43
+ RBTools - Command Line Tools for Review Board
44
+ =============================================
45
+
46
+ [![Latest Release](https://img.shields.io/pypi/v/RBTools)](https://pypi.org/project/RBTools)
47
+ [![License](https://img.shields.io/badge/license-MIT-green.svg)](https://opensource.org/licenses/MIT)
48
+ [![Review Board](https://img.shields.io/badge/Review%20Board-d0e6ff?label=reviewed%20with)](https://www.reviewboard.org)
49
+ [![Python](https://img.shields.io/pypi/pyversions/RBTools)](https://pypi.org/project/RBTools)
44
50
 
45
51
  RBTools is a set of command line tools and a rich Python API for use with
46
52
  [Review Board](https://www.reviewboard.org/).
@@ -96,10 +102,20 @@ Getting Support
96
102
  We can help you get going with Review Board and RBTools, and diagnose any
97
103
  issues that may come up.
98
104
 
99
- If you're using RBTools in production, we offer [support
100
- contracts](https://www.reviewboard.org/support/), covering all Beanbag
101
- products. This helps fund the development of Review Board, RBTools, and our
102
- other open source projects.
105
+ We provide more [dedicated, private
106
+ support](https://www.reviewboard.org/support/) for your organization through a
107
+ support contract, offering:
108
+
109
+ * Same-day responses (generally within a few hours, if not sooner)
110
+ * Confidential communications
111
+ * Installation/upgrade assistance
112
+ * Emergency database repair
113
+ * Video/chat meetings (by appointment)
114
+ * Priority fixes for urgent bugs
115
+ * Backports of urgent fixes to older releases (when possible)
116
+
117
+ Support contracts fund the development of Review Board, RBTools, and our other
118
+ open source projects.
103
119
 
104
120
  For basic questions, there's a public community support
105
121
  [discussion list](http://groups.google.com/group/reviewboard/). We generally
@@ -152,7 +168,7 @@ $ pip install -r dev-requirements.txt
152
168
  Running the test suite is easy. Simply run:
153
169
 
154
170
  ```console
155
- $ ./tests/runtests.py
171
+ $ pytest
156
172
  ```
157
173
 
158
174
  from the top of the source tree. You can also run a particular set of tests.
@@ -132,7 +132,9 @@ docs/releasenotes/3.1.rst
132
132
  docs/releasenotes/4.0.rst
133
133
  docs/releasenotes/4.1.rst
134
134
  docs/releasenotes/5.0.rst
135
+ docs/releasenotes/5.1.1.rst
135
136
  docs/releasenotes/5.1.rst
137
+ docs/releasenotes/5.2.rst
136
138
  docs/releasenotes/Makefile
137
139
  docs/releasenotes/conf.py
138
140
  docs/releasenotes/index.rst
@@ -1,5 +1,10 @@
1
- About RBTools
2
- =============
1
+ RBTools - Command Line Tools for Review Board
2
+ =============================================
3
+
4
+ [![Latest Release](https://img.shields.io/pypi/v/RBTools)](https://pypi.org/project/RBTools)
5
+ [![License](https://img.shields.io/badge/license-MIT-green.svg)](https://opensource.org/licenses/MIT)
6
+ [![Review Board](https://img.shields.io/badge/Review%20Board-d0e6ff?label=reviewed%20with)](https://www.reviewboard.org)
7
+ [![Python](https://img.shields.io/pypi/pyversions/RBTools)](https://pypi.org/project/RBTools)
3
8
 
4
9
  RBTools is a set of command line tools and a rich Python API for use with
5
10
  [Review Board](https://www.reviewboard.org/).
@@ -55,10 +60,20 @@ Getting Support
55
60
  We can help you get going with Review Board and RBTools, and diagnose any
56
61
  issues that may come up.
57
62
 
58
- If you're using RBTools in production, we offer [support
59
- contracts](https://www.reviewboard.org/support/), covering all Beanbag
60
- products. This helps fund the development of Review Board, RBTools, and our
61
- other open source projects.
63
+ We provide more [dedicated, private
64
+ support](https://www.reviewboard.org/support/) for your organization through a
65
+ support contract, offering:
66
+
67
+ * Same-day responses (generally within a few hours, if not sooner)
68
+ * Confidential communications
69
+ * Installation/upgrade assistance
70
+ * Emergency database repair
71
+ * Video/chat meetings (by appointment)
72
+ * Priority fixes for urgent bugs
73
+ * Backports of urgent fixes to older releases (when possible)
74
+
75
+ Support contracts fund the development of Review Board, RBTools, and our other
76
+ open source projects.
62
77
 
63
78
  For basic questions, there's a public community support
64
79
  [discussion list](http://groups.google.com/group/reviewboard/). We generally
@@ -111,7 +126,7 @@ $ pip install -r dev-requirements.txt
111
126
  Running the test suite is easy. Simply run:
112
127
 
113
128
  ```console
114
- $ ./tests/runtests.py
129
+ $ pytest
115
130
  ```
116
131
 
117
132
  from the top of the source tree. You can also run a particular set of tests.
@@ -63,6 +63,6 @@
63
63
 
64
64
  <!-- Sign the installer -->
65
65
  <Target Name="SignMsi">
66
- <Exec Command='"$(SignToolPath)" sign /fd SHA256 /sha1 $(CertificateThumbprint) /t $(TimestampUrl) "%(SignMsi.FullPath)"' />
66
+ <Exec Command='"$(SignToolPath)" sign /debug /fd SHA256 /sha1 $(CertificateThumbprint) /t $(TimestampUrl) "%(SignMsi.FullPath)"' />
67
67
  </Target>
68
68
  </Project>
@@ -0,0 +1,38 @@
1
+ .. default-intersphinx:: rbt5.x rb-latest
2
+
3
+
4
+ ===========================
5
+ RBTools 5.1.1 Release Notes
6
+ ===========================
7
+
8
+ **Release date:** December 3, 2024
9
+
10
+
11
+ Installation
12
+ ============
13
+
14
+ Follow our :ref:`installation guide <rbtools-installation>` to install RBTools.
15
+
16
+ To learn more, see:
17
+
18
+ * `Documentation <https://www.reviewboard.org/docs/rbtools/5.x/>`_
19
+ * `RBTools on PyPI <https://pypi.org/project/rbtools/>`_
20
+ * `RBTools on GitHub <https://github.com/reviewboard/rbtools/>`_
21
+
22
+
23
+ Bug Fixes
24
+ =========
25
+
26
+ rbt patch
27
+ ---------
28
+
29
+ * Fixed a remaining bug with :option:`rbt patch --px` and Subversion
30
+ leading to a crash.
31
+
32
+
33
+ Contributors
34
+ ============
35
+
36
+ * Christian Hammond
37
+ * David Trowbridge
38
+ * Michelle Aubin
@@ -0,0 +1,72 @@
1
+ .. default-intersphinx:: rbt5.x rb-latest
2
+
3
+ =========================
4
+ RBTools 5.2 Release Notes
5
+ =========================
6
+
7
+ **Release date:** March 24, 2025
8
+
9
+
10
+ Installation
11
+ ============
12
+
13
+ Follow our :ref:`installation guide <rbtools-installation>` to install RBTools.
14
+
15
+ To learn more, see:
16
+
17
+ * `Documentation <https://www.reviewboard.org/docs/rbtools/5.x/>`_
18
+ * `RBTools on PyPI <https://pypi.org/project/rbtools/>`_
19
+ * `RBTools on GitHub <https://github.com/reviewboard/rbtools/>`_
20
+
21
+
22
+ Bug Fixes
23
+ =========
24
+
25
+ rbt patch
26
+ ---------
27
+
28
+ * Fixed running :option`rbt patch --print` when the Review Board server URL is
29
+ defined via the :rbtconfig:`TREES` setting.
30
+
31
+ * Fixed patching on SVN repositories when the working directory has no overlap
32
+ with the patch's base directory.
33
+
34
+ :rbtcommand:`rbt patch` attempted to be smart about applying patches when the
35
+ current working directory was different from the working directory that the
36
+ Review Request was originally created from. Unfortunately, this broke
37
+ applying patches across different branches. This has been fixed to skip any
38
+ filtering when there is no overlap between the patch's base directory and the
39
+ current working directory.
40
+
41
+
42
+ rbt post
43
+ --------
44
+
45
+ * Fixed MIME type guessing when :command:`file` was not available.
46
+
47
+ RBTools 5.1 added a fallback method for detecting the MIME type of binary
48
+ files included in diffs for when the :command:`file` command is not present.
49
+ This had a couple issues that could cause crashes in some situations.
50
+
51
+
52
+ IBM ClearCase / HCL DevOps Code ClearCase
53
+ -----------------------------------------
54
+
55
+ * Fixed repository matching when posting against Review Board servers older
56
+ than 7.0.1.
57
+
58
+
59
+ Mercurial
60
+ ---------
61
+
62
+ * Fixed file revision parsing to avoid unwanted debug output from the
63
+ :command:`hg` command.
64
+
65
+
66
+ Contributors
67
+ ============
68
+
69
+ * André Klitzing
70
+ * Christian Hammond
71
+ * David Trowbridge
72
+ * Michelle Aubin
@@ -11,6 +11,8 @@ RBTools Release Notes
11
11
  .. toctree::
12
12
  :maxdepth: 1
13
13
 
14
+ 5.2
15
+ 5.1.1
14
16
  5.1
15
17
  5.0
16
18
 
@@ -10,7 +10,7 @@ Beanbag Tools. They're largely used for packaging purposes.
10
10
  #:
11
11
  #: (Major, Minor, Micro, Patch, alpha/beta/rc/final, Release Number, Released)
12
12
  #:
13
- VERSION = (5, 1, 0, 0, 'final', 0, True)
13
+ VERSION = (5, 2, 0, 0, 'final', 0, True)
14
14
 
15
15
 
16
16
  def get_version_string():
@@ -113,7 +113,7 @@ def scan_usable_client(
113
113
  config: RBToolsConfig,
114
114
  options: argparse.Namespace,
115
115
  client_name: Optional[str] = None,
116
- ) -> tuple[RepositoryInfo, BaseSCMClient]:
116
+ ) -> tuple[Optional[RepositoryInfo], Optional[BaseSCMClient]]:
117
117
  """Scan for a usable SCMClient.
118
118
 
119
119
  Args:
@@ -399,7 +399,7 @@ class ClearCaseClient(BaseSCMClient):
399
399
  # Pack were failing when we tried to make a query that included the
400
400
  # VersionVault name. We therefore only include it when we know the server
401
401
  # can use server_tool_ids instead.
402
- server_tool_names = 'ClearCase'
402
+ server_tool_names = 'ClearCase,VersionVault / ClearCase'
403
403
  server_tool_ids = ['clearcase', 'versionvault']
404
404
 
405
405
  requires_diff_tool = True
@@ -792,9 +792,9 @@ class MercurialClient(BaseSCMClient):
792
792
  str:
793
793
  The global revision ID of the commit.
794
794
  """
795
- # --debug ensures that we get the full ID.
796
795
  identify = self._execute(
797
- [self._exe, 'identify', '--debug', '-i', '--hidden', '-r',
796
+ [self._exe, 'identify', '-i', '--hidden',
797
+ '--template', '{node}', '-r',
798
798
  str(revision)],
799
799
  ignore_errors=True, none_on_ignored_error=True)
800
800
 
@@ -72,6 +72,7 @@ class SVNPatcher(SCMClientPatcher['SVNClient']):
72
72
  self,
73
73
  *,
74
74
  patch: Patch,
75
+ base_dir: Optional[str] = None,
75
76
  ) -> Optional[int]:
76
77
  """Return the default path prefix strip level for a patch.
77
78
 
@@ -80,29 +81,40 @@ class SVNPatcher(SCMClientPatcher['SVNClient']):
80
81
 
81
82
  For Subversion, we always strip off any leading ``/``.
82
83
 
84
+ Version Changed:
85
+ 5.0.2:
86
+ * Added the ``base_dir`` argument and changed to prefer that
87
+ if present.
88
+
83
89
  Args:
84
90
  patch (rbtools.diffs.patches.Patch):
85
91
  The path to generate a default prefix strip level for.
86
92
 
93
+ base_dir (str, optional):
94
+ The base directory to use when computing the prefix level,
95
+ if available.
96
+
97
+ Version Added:
98
+ 5.0.2
99
+
87
100
  Returns:
88
101
  int:
89
102
  The prefix strip level, or ``None`` if a clear one could not be
90
103
  determined.
91
104
  """
92
- repository_info = self.repository_info
93
-
94
- if repository_info is not None:
95
- base_path = repository_info.base_path
96
-
97
- if base_path == '/':
98
- # We always need to strip off the leading forward slash.
99
- return 1
100
- elif base_path:
101
- # We strip all leading directories from base_path. The last
102
- # directory will not be suffixed with a slash.
103
- return base_path.count('/') + 1
104
-
105
- return None
105
+ if (not base_dir and
106
+ (repository_info := self.repository_info) is not None):
107
+ base_dir = repository_info.base_path
108
+
109
+ if base_dir == '/':
110
+ # We always need to strip off the leading forward slash.
111
+ return 1
112
+ elif base_dir:
113
+ # We strip all leading directories from base_dir. The last
114
+ # directory will not be suffixed with a slash.
115
+ return base_dir.count('/') + 1
116
+ else:
117
+ return None
106
118
 
107
119
  def apply_single_patch(
108
120
  self,
@@ -110,7 +122,7 @@ class SVNPatcher(SCMClientPatcher['SVNClient']):
110
122
  patch: Patch,
111
123
  patch_num: int,
112
124
  ) -> PatchResult:
113
- """Internal function to apply a single patch.
125
+ """Apply a single patch.
114
126
 
115
127
  This will take a single patch and apply it using Subversion.
116
128
 
@@ -140,19 +152,43 @@ class SVNPatcher(SCMClientPatcher['SVNClient']):
140
152
  repository_info = self.repository_info
141
153
 
142
154
  if repository_info is not None:
143
- base_path = repository_info.base_path or ''
155
+ checkout_base_dir = repository_info.base_path or ''
144
156
  else:
145
- base_path = ''
157
+ checkout_base_dir = ''
146
158
 
147
159
  patch_file = str(patch.path)
148
- base_dir = patch.base_dir
160
+ patch_base_dir = patch.base_dir
161
+
162
+ in_subdir = (patch_base_dir and
163
+ checkout_base_dir != patch_base_dir and
164
+ checkout_base_dir.startswith(patch_base_dir))
165
+
166
+ prefix_level = patch.prefix_level
167
+
168
+ if prefix_level is None:
169
+ # If we're in a subdirectory of where the patch was created, we
170
+ # want to use the checkout directory to compute the prefix level.
171
+ # If there's no overlap (or if the checkout and patch base
172
+ # directories match), we use the patch basedir to compute the
173
+ # prefix level and we hope that things apply cleanly.
174
+ if in_subdir:
175
+ base_dir = checkout_base_dir
176
+ else:
177
+ base_dir = patch_base_dir
149
178
 
150
- if base_dir and not base_dir.startswith(base_path):
151
- # The patch was created in either a higher level directory or a
152
- # directory not under this one. We should exclude files from the
153
- # patch that are not under this directory.
154
- excluded, empty = self._exclude_files_not_in_tree(patch_file,
155
- base_path)
179
+ prefix_level = self.get_default_prefix_level(
180
+ patch=patch, base_dir=base_dir)
181
+
182
+ # Set this back so we can refer to it later when handling empty
183
+ # files.
184
+ patch.prefix_level = prefix_level
185
+
186
+ if in_subdir:
187
+ # The patch was created in a higher-level directory. Log a warning
188
+ # and filter out any files which are not present in the current
189
+ # directory.
190
+ excluded, empty = self._exclude_files_not_in_tree(
191
+ patch_file, checkout_base_dir)
156
192
 
157
193
  if excluded:
158
194
  logger.warning(
@@ -161,7 +197,7 @@ class SVNPatcher(SCMClientPatcher['SVNClient']):
161
197
  'not under the current directory have been '
162
198
  'excluded. To apply all files in this '
163
199
  'patch, apply this patch from the %s directory.',
164
- base_dir)
200
+ patch_base_dir)
165
201
 
166
202
  if empty:
167
203
  logger.warning('All files were excluded from the patch.')
@@ -169,15 +205,6 @@ class SVNPatcher(SCMClientPatcher['SVNClient']):
169
205
  # Build the command line.
170
206
  cmd: list[str] = ['patch']
171
207
 
172
- prefix_level = patch.prefix_level
173
-
174
- if prefix_level is None:
175
- prefix_level = self.get_default_prefix_level(patch=patch)
176
-
177
- # Set this back so we can refer to it later when handling empty
178
- # files.
179
- patch.prefix_level = prefix_level
180
-
181
208
  if prefix_level is not None and prefix_level >= 0:
182
209
  cmd.append(f'--strip={prefix_level}')
183
210
 
@@ -338,27 +365,26 @@ class SVNPatcher(SCMClientPatcher['SVNClient']):
338
365
 
339
366
  filtered_patch_name = make_tempfile()
340
367
 
341
- with open(filtered_patch_name, 'wb') as filtered_patch:
342
- with open(patch_file, 'rb') as original_patch:
343
- include_file = True
344
-
345
- INDEX_FILE_RE = SVNClient.INDEX_FILE_RE
368
+ with open(filtered_patch_name, 'wb') as filtered_patch, \
369
+ open(patch_file, 'rb') as original_patch:
370
+ include_file = True
346
371
 
347
- for line in original_patch.readlines():
348
- m = INDEX_FILE_RE.match(line)
372
+ INDEX_FILE_RE = SVNClient.INDEX_FILE_RE
349
373
 
350
- if m:
351
- filename = m.group(1).decode('utf-8')
374
+ for line in original_patch.readlines():
375
+ m = INDEX_FILE_RE.match(line)
352
376
 
353
- include_file = filename.startswith(base_path)
377
+ if m:
378
+ filename = m.group(1).decode('utf-8')
379
+ include_file = filename.startswith(base_path)
354
380
 
355
- if not include_file:
356
- excluded_files = True
357
- else:
358
- empty_patch = False
381
+ if not include_file:
382
+ excluded_files = True
383
+ else:
384
+ empty_patch = False
359
385
 
360
- if include_file:
361
- filtered_patch.write(line)
386
+ if include_file:
387
+ filtered_patch.write(line)
362
388
 
363
389
  os.rename(filtered_patch_name, patch_file)
364
390