RBTools 5.3__tar.gz → 7.0__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.
- {rbtools-5.3 → rbtools-7.0}/AUTHORS +2 -1
- {rbtools-5.3 → rbtools-7.0}/PKG-INFO +7 -7
- {rbtools-5.3 → rbtools-7.0}/RBTools.egg-info/PKG-INFO +7 -7
- {rbtools-5.3 → rbtools-7.0}/RBTools.egg-info/SOURCES.txt +88 -8
- {rbtools-5.3 → rbtools-7.0}/RBTools.egg-info/requires.txt +3 -3
- {rbtools-5.3 → rbtools-7.0}/contrib/installers/windows/build-installer.bat +218 -26
- {rbtools-5.3 → rbtools-7.0}/contrib/installers/windows/wix/bootstrapper.wixproj +6 -4
- {rbtools-5.3 → rbtools-7.0}/contrib/installers/windows/wix/common.props +7 -2
- {rbtools-5.3 → rbtools-7.0}/contrib/installers/windows/wix/rbtools.wixproj +6 -6
- {rbtools-5.3 → rbtools-7.0}/docs/rbtools/_ext/rbt_commands.py +65 -33
- {rbtools-5.3 → rbtools-7.0}/docs/rbtools/api/coderef/index.rst +83 -3
- {rbtools-5.3 → rbtools-7.0}/docs/rbtools/api/index.rst +0 -1
- rbtools-7.0/docs/rbtools/api/overview.rst +401 -0
- {rbtools-5.3 → rbtools-7.0}/docs/rbtools/api/tutorial.rst +37 -44
- {rbtools-5.3/docs/rbtools/rbt/configuration → rbtools-7.0/docs/rbtools}/authentication.rst +9 -3
- {rbtools-5.3 → rbtools-7.0}/docs/rbtools/conf.py +28 -9
- {rbtools-5.3 → rbtools-7.0}/docs/rbtools/index.rst +21 -16
- {rbtools-5.3 → rbtools-7.0}/docs/rbtools/installation.rst +1 -2
- rbtools-7.0/docs/rbtools/rbt/commands/info.rst +13 -0
- {rbtools-5.3 → rbtools-7.0}/docs/rbtools/rbt/commands/land.rst +2 -2
- {rbtools-5.3 → rbtools-7.0}/docs/rbtools/rbt/commands/login.rst +4 -4
- {rbtools-5.3 → rbtools-7.0}/docs/rbtools/rbt/commands/post.rst +41 -12
- {rbtools-5.3 → rbtools-7.0}/docs/rbtools/rbt/commands/status-update.rst +2 -2
- rbtools-7.0/docs/rbtools/rbt/configuration/aliases.rst +98 -0
- rbtools-7.0/docs/rbtools/rbt/configuration/index.rst +43 -0
- {rbtools-5.3 → rbtools-7.0}/docs/rbtools/rbt/configuration/repositories.rst +70 -42
- {rbtools-5.3 → rbtools-7.0}/docs/rbtools/rbt/configuration/tfs.rst +1 -1
- {rbtools-5.3 → rbtools-7.0}/docs/rbtools/rbt/configuration/users.rst +130 -110
- {rbtools-5.3 → rbtools-7.0}/docs/rbtools/workflows/clearcase.rst +2 -2
- {rbtools-5.3 → rbtools-7.0}/docs/rbtools/workflows/git.rst +3 -3
- {rbtools-5.3 → rbtools-7.0}/docs/rbtools/workflows/index.rst +3 -5
- rbtools-7.0/docs/rbtools/workflows/jujutsu.rst +373 -0
- {rbtools-5.3 → rbtools-7.0}/docs/rbtools/workflows/sos.rst +1 -1
- {rbtools-5.3 → rbtools-7.0}/docs/releasenotes/0.6.3.rst +2 -2
- {rbtools-5.3 → rbtools-7.0}/docs/releasenotes/0.7.1.rst +1 -1
- {rbtools-5.3 → rbtools-7.0}/docs/releasenotes/0.7.10.rst +1 -1
- {rbtools-5.3 → rbtools-7.0}/docs/releasenotes/0.7.2.rst +1 -1
- {rbtools-5.3 → rbtools-7.0}/docs/releasenotes/0.7.3.rst +1 -1
- {rbtools-5.3 → rbtools-7.0}/docs/releasenotes/0.7.5.rst +1 -1
- {rbtools-5.3 → rbtools-7.0}/docs/releasenotes/0.7.6.rst +1 -1
- {rbtools-5.3 → rbtools-7.0}/docs/releasenotes/0.7.7.rst +1 -1
- {rbtools-5.3 → rbtools-7.0}/docs/releasenotes/0.7.8.rst +1 -1
- {rbtools-5.3 → rbtools-7.0}/docs/releasenotes/0.7.rst +7 -7
- {rbtools-5.3 → rbtools-7.0}/docs/releasenotes/1.0.2.rst +2 -2
- {rbtools-5.3 → rbtools-7.0}/docs/releasenotes/1.0.3.rst +2 -2
- {rbtools-5.3 → rbtools-7.0}/docs/releasenotes/1.0.rst +1 -1
- {rbtools-5.3 → rbtools-7.0}/docs/releasenotes/2.0.rst +1 -1
- rbtools-7.0/docs/releasenotes/6.0.rst +135 -0
- rbtools-7.0/docs/releasenotes/7.0.rst +313 -0
- {rbtools-5.3 → rbtools-7.0}/docs/releasenotes/_ext/extralinks.py +4 -3
- {rbtools-5.3 → rbtools-7.0}/docs/releasenotes/conf.py +20 -17
- {rbtools-5.3 → rbtools-7.0}/docs/releasenotes/index.rst +17 -0
- {rbtools-5.3 → rbtools-7.0}/pyproject.toml +6 -6
- {rbtools-5.3 → rbtools-7.0}/rbtools/__init__.py +24 -22
- {rbtools-5.3 → rbtools-7.0}/rbtools/api/cache.py +51 -43
- {rbtools-5.3 → rbtools-7.0}/rbtools/api/capabilities.py +10 -3
- {rbtools-5.3 → rbtools-7.0}/rbtools/api/client.py +73 -8
- {rbtools-5.3 → rbtools-7.0}/rbtools/api/decode.py +17 -10
- {rbtools-5.3 → rbtools-7.0}/rbtools/api/decorators.py +13 -14
- {rbtools-5.3 → rbtools-7.0}/rbtools/api/errors.py +87 -80
- {rbtools-5.3 → rbtools-7.0}/rbtools/api/factory.py +37 -8
- {rbtools-5.3 → rbtools-7.0}/rbtools/api/request.py +297 -107
- rbtools-7.0/rbtools/api/resource/__init__.py +307 -0
- rbtools-7.0/rbtools/api/resource/api_token.py +100 -0
- rbtools-7.0/rbtools/api/resource/archived_review_request.py +86 -0
- rbtools-7.0/rbtools/api/resource/base.py +2177 -0
- rbtools-7.0/rbtools/api/resource/base_archived_object.py +135 -0
- rbtools-7.0/rbtools/api/resource/base_comment.py +86 -0
- rbtools-7.0/rbtools/api/resource/base_diff_commit.py +63 -0
- rbtools-7.0/rbtools/api/resource/base_review.py +197 -0
- rbtools-7.0/rbtools/api/resource/base_review_group.py +102 -0
- rbtools-7.0/rbtools/api/resource/base_review_request.py +103 -0
- rbtools-7.0/rbtools/api/resource/base_user.py +139 -0
- rbtools-7.0/rbtools/api/resource/change.py +101 -0
- rbtools-7.0/rbtools/api/resource/default_reviewer.py +86 -0
- rbtools-7.0/rbtools/api/resource/diff.py +342 -0
- rbtools-7.0/rbtools/api/resource/diff_comment.py +187 -0
- rbtools-7.0/rbtools/api/resource/diff_commit.py +72 -0
- rbtools-7.0/rbtools/api/resource/diff_context.py +76 -0
- rbtools-7.0/rbtools/api/resource/diff_file_attachment.py +200 -0
- rbtools-7.0/rbtools/api/resource/draft_diff_commit.py +175 -0
- rbtools-7.0/rbtools/api/resource/draft_file_attachment.py +88 -0
- rbtools-7.0/rbtools/api/resource/draft_screenshot.py +73 -0
- rbtools-7.0/rbtools/api/resource/extension.py +89 -0
- rbtools-7.0/rbtools/api/resource/file_attachment.py +119 -0
- rbtools-7.0/rbtools/api/resource/file_attachment_comment.py +163 -0
- rbtools-7.0/rbtools/api/resource/file_diff.py +270 -0
- rbtools-7.0/rbtools/api/resource/general_comment.py +90 -0
- rbtools-7.0/rbtools/api/resource/hosting_service.py +147 -0
- rbtools-7.0/rbtools/api/resource/hosting_service_account.py +102 -0
- rbtools-7.0/rbtools/api/resource/last_update.py +57 -0
- rbtools-7.0/rbtools/api/resource/mixins.py +199 -0
- rbtools-7.0/rbtools/api/resource/muted_review_request.py +86 -0
- rbtools-7.0/rbtools/api/resource/oauth_application.py +142 -0
- rbtools-7.0/rbtools/api/resource/oauth_token.py +55 -0
- rbtools-7.0/rbtools/api/resource/plain_text.py +25 -0
- rbtools-7.0/rbtools/api/resource/remote_repository.py +99 -0
- rbtools-7.0/rbtools/api/resource/repository.py +306 -0
- rbtools-7.0/rbtools/api/resource/repository_branch.py +76 -0
- rbtools-7.0/rbtools/api/resource/repository_commit.py +89 -0
- rbtools-7.0/rbtools/api/resource/repository_group.py +38 -0
- rbtools-7.0/rbtools/api/resource/repository_info.py +21 -0
- rbtools-7.0/rbtools/api/resource/repository_user.py +38 -0
- rbtools-7.0/rbtools/api/resource/review.py +138 -0
- rbtools-7.0/rbtools/api/resource/review_group.py +71 -0
- rbtools-7.0/rbtools/api/resource/review_group_user.py +38 -0
- rbtools-7.0/rbtools/api/resource/review_reply.py +89 -0
- rbtools-7.0/rbtools/api/resource/review_request.py +767 -0
- rbtools-7.0/rbtools/api/resource/review_request_draft.py +158 -0
- rbtools-7.0/rbtools/api/resource/root.py +4365 -0
- rbtools-7.0/rbtools/api/resource/screenshot.py +107 -0
- rbtools-7.0/rbtools/api/resource/screenshot_comment.py +37 -0
- rbtools-7.0/rbtools/api/resource/search.py +64 -0
- rbtools-7.0/rbtools/api/resource/server_info.py +21 -0
- rbtools-7.0/rbtools/api/resource/session.py +60 -0
- rbtools-7.0/rbtools/api/resource/status_update.py +158 -0
- rbtools-7.0/rbtools/api/resource/user.py +187 -0
- rbtools-7.0/rbtools/api/resource/user_file_attachment.py +76 -0
- rbtools-7.0/rbtools/api/resource/validate_diff.py +78 -0
- rbtools-7.0/rbtools/api/resource/validate_diff_commit.py +91 -0
- rbtools-7.0/rbtools/api/resource/validation.py +80 -0
- rbtools-7.0/rbtools/api/resource/watched.py +83 -0
- rbtools-7.0/rbtools/api/resource/watched_review_group.py +38 -0
- rbtools-7.0/rbtools/api/resource/watched_review_request.py +38 -0
- rbtools-7.0/rbtools/api/resource/webhook.py +91 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/api/tests/base.py +21 -13
- rbtools-7.0/rbtools/api/tests/test_auth_handlers.py +437 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/api/tests/test_errors.py +73 -75
- {rbtools-5.3 → rbtools-7.0}/rbtools/api/tests/test_factory.py +48 -19
- {rbtools-5.3 → rbtools-7.0}/rbtools/api/tests/test_http_request.py +16 -14
- {rbtools-5.3 → rbtools-7.0}/rbtools/api/tests/test_resource.py +144 -82
- {rbtools-5.3 → rbtools-7.0}/rbtools/api/transport/__init__.py +34 -10
- {rbtools-5.3 → rbtools-7.0}/rbtools/api/transport/sync.py +99 -45
- {rbtools-5.3 → rbtools-7.0}/rbtools/clients/__init__.py +56 -83
- {rbtools-5.3 → rbtools-7.0}/rbtools/clients/base/registry.py +11 -7
- {rbtools-5.3 → rbtools-7.0}/rbtools/clients/base/repository.py +17 -12
- {rbtools-5.3 → rbtools-7.0}/rbtools/clients/base/scmclient.py +219 -297
- {rbtools-5.3 → rbtools-7.0}/rbtools/clients/bazaar.py +44 -21
- {rbtools-5.3 → rbtools-7.0}/rbtools/clients/clearcase.py +366 -204
- {rbtools-5.3 → rbtools-7.0}/rbtools/clients/cvs.py +35 -11
- {rbtools-5.3 → rbtools-7.0}/rbtools/clients/errors.py +8 -6
- {rbtools-5.3 → rbtools-7.0}/rbtools/clients/git.py +602 -261
- rbtools-7.0/rbtools/clients/jujutsu.py +1633 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/clients/mercurial.py +407 -196
- {rbtools-5.3 → rbtools-7.0}/rbtools/clients/perforce.py +451 -162
- {rbtools-5.3 → rbtools-7.0}/rbtools/clients/plastic.py +35 -16
- {rbtools-5.3 → rbtools-7.0}/rbtools/clients/sos.py +89 -43
- {rbtools-5.3 → rbtools-7.0}/rbtools/clients/svn.py +351 -169
- {rbtools-5.3 → rbtools-7.0}/rbtools/clients/tests/__init__.py +25 -19
- {rbtools-5.3 → rbtools-7.0}/rbtools/clients/tests/test_base_scmclient.py +7 -48
- {rbtools-5.3 → rbtools-7.0}/rbtools/clients/tests/test_bzr.py +28 -60
- {rbtools-5.3 → rbtools-7.0}/rbtools/clients/tests/test_clearcase.py +162 -69
- {rbtools-5.3 → rbtools-7.0}/rbtools/clients/tests/test_cvs.py +14 -34
- {rbtools-5.3 → rbtools-7.0}/rbtools/clients/tests/test_git.py +959 -152
- rbtools-7.0/rbtools/clients/tests/test_jujutsu.py +2687 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/clients/tests/test_mercurial.py +1075 -145
- {rbtools-5.3 → rbtools-7.0}/rbtools/clients/tests/test_p4.py +969 -44
- {rbtools-5.3 → rbtools-7.0}/rbtools/clients/tests/test_plastic.py +2 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/clients/tests/test_scanning.py +14 -14
- {rbtools-5.3 → rbtools-7.0}/rbtools/clients/tests/test_scmclient_registry.py +14 -9
- {rbtools-5.3 → rbtools-7.0}/rbtools/clients/tests/test_sos.py +40 -44
- {rbtools-5.3 → rbtools-7.0}/rbtools/clients/tests/test_svn.py +817 -199
- {rbtools-5.3 → rbtools-7.0}/rbtools/clients/tests/test_tfs.py +31 -28
- rbtools-7.0/rbtools/clients/tests/testdata/svn-repo/conf/hooks-env.tmpl +19 -0
- rbtools-7.0/rbtools/clients/tests/testdata/svn-repo/db/current +1 -0
- rbtools-7.0/rbtools/clients/tests/testdata/svn-repo/db/format +3 -0
- rbtools-7.0/rbtools/clients/tests/testdata/svn-repo/db/fsfs.conf +200 -0
- rbtools-7.0/rbtools/clients/tests/testdata/svn-repo/db/revprops/0/7 +13 -0
- rbtools-7.0/rbtools/clients/tests/testdata/svn-repo/db/revs/0/0 +0 -0
- rbtools-7.0/rbtools/clients/tests/testdata/svn-repo/db/revs/0/1 +0 -0
- rbtools-7.0/rbtools/clients/tests/testdata/svn-repo/db/revs/0/2 +0 -0
- rbtools-7.0/rbtools/clients/tests/testdata/svn-repo/db/revs/0/3 +0 -0
- rbtools-7.0/rbtools/clients/tests/testdata/svn-repo/db/revs/0/4 +0 -0
- rbtools-7.0/rbtools/clients/tests/testdata/svn-repo/db/revs/0/5 +0 -0
- rbtools-7.0/rbtools/clients/tests/testdata/svn-repo/db/revs/0/6 +0 -0
- rbtools-7.0/rbtools/clients/tests/testdata/svn-repo/db/revs/0/7 +0 -0
- rbtools-7.0/rbtools/clients/tests/testdata/svn-repo/db/txn-current +1 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/clients/tests/testdata/svn-repo/db/uuid +1 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/clients/tests/testdata/svn-repo/hooks/post-commit.tmpl +20 -8
- rbtools-7.0/rbtools/clients/tests/testdata/svn-repo/hooks/post-lock.tmpl +64 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/clients/tests/testdata/svn-repo/hooks/post-revprop-change.tmpl +18 -5
- {rbtools-5.3 → rbtools-7.0}/rbtools/clients/tests/testdata/svn-repo/hooks/post-unlock.tmpl +28 -9
- {rbtools-5.3 → rbtools-7.0}/rbtools/clients/tests/testdata/svn-repo/hooks/pre-commit.tmpl +22 -12
- {rbtools-5.3 → rbtools-7.0}/rbtools/clients/tests/testdata/svn-repo/hooks/pre-lock.tmpl +28 -6
- {rbtools-5.3 → rbtools-7.0}/rbtools/clients/tests/testdata/svn-repo/hooks/pre-revprop-change.tmpl +17 -4
- {rbtools-5.3 → rbtools-7.0}/rbtools/clients/tests/testdata/svn-repo/hooks/pre-unlock.tmpl +28 -6
- {rbtools-5.3 → rbtools-7.0}/rbtools/clients/tests/testdata/svn-repo/hooks/start-commit.tmpl +29 -13
- {rbtools-5.3 → rbtools-7.0}/rbtools/clients/tfs.py +95 -66
- rbtools-7.0/rbtools/commands/__init__.py +108 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/commands/alias.py +27 -16
- {rbtools-5.3 → rbtools-7.0}/rbtools/commands/api_get.py +2 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/commands/attach.py +11 -7
- {rbtools-5.3 → rbtools-7.0}/rbtools/commands/base/__init__.py +4 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/commands/base/commands.py +558 -204
- {rbtools-5.3 → rbtools-7.0}/rbtools/commands/base/options.py +108 -33
- {rbtools-5.3 → rbtools-7.0}/rbtools/commands/base/output.py +51 -12
- {rbtools-5.3 → rbtools-7.0}/rbtools/commands/clearcache.py +3 -1
- {rbtools-5.3 → rbtools-7.0}/rbtools/commands/close.py +39 -19
- {rbtools-5.3 → rbtools-7.0}/rbtools/commands/diff.py +11 -5
- rbtools-7.0/rbtools/commands/info.py +243 -0
- rbtools-7.0/rbtools/commands/install.py +287 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/commands/land.py +135 -65
- {rbtools-5.3 → rbtools-7.0}/rbtools/commands/list_repo_types.py +10 -2
- rbtools-7.0/rbtools/commands/login.py +182 -0
- rbtools-7.0/rbtools/commands/logout.py +66 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/commands/patch.py +256 -181
- {rbtools-5.3 → rbtools-7.0}/rbtools/commands/post.py +540 -379
- {rbtools-5.3 → rbtools-7.0}/rbtools/commands/publish.py +34 -11
- {rbtools-5.3 → rbtools-7.0}/rbtools/commands/review.py +74 -50
- {rbtools-5.3 → rbtools-7.0}/rbtools/commands/setup_completion.py +3 -5
- {rbtools-5.3 → rbtools-7.0}/rbtools/commands/setup_repo.py +6 -6
- {rbtools-5.3 → rbtools-7.0}/rbtools/commands/stamp.py +45 -21
- {rbtools-5.3 → rbtools-7.0}/rbtools/commands/status.py +43 -26
- {rbtools-5.3 → rbtools-7.0}/rbtools/commands/status_update.py +92 -47
- {rbtools-5.3 → rbtools-7.0}/rbtools/commands/tests/test_alias.py +1 -1
- rbtools-7.0/rbtools/commands/tests/test_command_auth_session.py +306 -0
- rbtools-7.0/rbtools/commands/tests/test_command_initialization.py +622 -0
- rbtools-7.0/rbtools/commands/tests/test_info.py +345 -0
- rbtools-7.0/rbtools/commands/tests/test_login.py +170 -0
- rbtools-7.0/rbtools/commands/tests/test_logout.py +108 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/commands/tests/test_main.py +38 -23
- rbtools-7.0/rbtools/commands/tests/test_patch.py +371 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/commands/tests/test_post.py +110 -0
- rbtools-7.0/rbtools/commands/tests/test_review.py +383 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/commands/tests/test_setup_completion.py +13 -5
- {rbtools-5.3 → rbtools-7.0}/rbtools/commands/tests/test_setup_repo.py +4 -5
- {rbtools-5.3 → rbtools-7.0}/rbtools/config/__init__.py +4 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/config/config.py +84 -48
- {rbtools-5.3 → rbtools-7.0}/rbtools/config/errors.py +7 -9
- {rbtools-5.3 → rbtools-7.0}/rbtools/config/loader.py +4 -1
- {rbtools-5.3 → rbtools-7.0}/rbtools/config/tests/test_config.py +5 -2
- {rbtools-5.3 → rbtools-7.0}/rbtools/deprecation.py +11 -20
- {rbtools-5.3 → rbtools-7.0}/rbtools/diffs/errors.py +7 -12
- {rbtools-5.3 → rbtools-7.0}/rbtools/diffs/patcher.py +378 -78
- {rbtools-5.3 → rbtools-7.0}/rbtools/diffs/patches.py +261 -73
- {rbtools-5.3 → rbtools-7.0}/rbtools/diffs/tests/test_apple_diff_tool.py +4 -2
- {rbtools-5.3 → rbtools-7.0}/rbtools/diffs/tests/test_apply_patch_error.py +0 -16
- {rbtools-5.3 → rbtools-7.0}/rbtools/diffs/tests/test_diff_file_result.py +2 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/diffs/tests/test_diff_tools_registry.py +2 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/diffs/tests/test_gnu_diff_tool.py +2 -0
- rbtools-7.0/rbtools/diffs/tests/test_patch.py +422 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/diffs/tests/test_patcher.py +251 -37
- {rbtools-5.3 → rbtools-7.0}/rbtools/diffs/tests/test_unified_diff_writer.py +2 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/diffs/tools/backends/apple.py +8 -3
- {rbtools-5.3 → rbtools-7.0}/rbtools/diffs/tools/backends/gnu.py +9 -4
- {rbtools-5.3 → rbtools-7.0}/rbtools/diffs/tools/base/__init__.py +2 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/diffs/tools/base/diff_file_result.py +10 -7
- {rbtools-5.3 → rbtools-7.0}/rbtools/diffs/tools/base/diff_tool.py +11 -6
- {rbtools-5.3 → rbtools-7.0}/rbtools/diffs/tools/errors.py +12 -8
- {rbtools-5.3 → rbtools-7.0}/rbtools/diffs/tools/registry.py +17 -11
- {rbtools-5.3 → rbtools-7.0}/rbtools/diffs/writers.py +19 -14
- {rbtools-5.3 → rbtools-7.0}/rbtools/hooks/common.py +12 -6
- {rbtools-5.3 → rbtools-7.0}/rbtools/hooks/git.py +2 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/testing/__init__.py +5 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/testing/api/payloads.py +3 -1
- {rbtools-5.3 → rbtools-7.0}/rbtools/testing/api/transport.py +54 -14
- {rbtools-5.3 → rbtools-7.0}/rbtools/testing/commands.py +41 -23
- {rbtools-5.3 → rbtools-7.0}/rbtools/testing/testcase.py +66 -6
- {rbtools-5.3 → rbtools-7.0}/rbtools/testing/transport.py +2 -4
- rbtools-7.0/rbtools/ui/__init__.py +5 -0
- rbtools-7.0/rbtools/ui/console.py +986 -0
- rbtools-7.0/rbtools/ui/tests/__init__.py +5 -0
- rbtools-7.0/rbtools/ui/tests/test_console.py +350 -0
- rbtools-7.0/rbtools/ui/theme.py +110 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/utils/aliases.py +6 -1
- {rbtools-5.3 → rbtools-7.0}/rbtools/utils/commands.py +33 -30
- rbtools-7.0/rbtools/utils/commit_messages.py +263 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/utils/console.py +69 -38
- {rbtools-5.3 → rbtools-7.0}/rbtools/utils/diffs.py +9 -5
- {rbtools-5.3 → rbtools-7.0}/rbtools/utils/encoding.py +5 -4
- {rbtools-5.3 → rbtools-7.0}/rbtools/utils/errors.py +2 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/utils/filesystem.py +10 -90
- {rbtools-5.3 → rbtools-7.0}/rbtools/utils/graphs.py +2 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/utils/mimetypes.py +13 -8
- {rbtools-5.3 → rbtools-7.0}/rbtools/utils/process.py +111 -37
- {rbtools-5.3 → rbtools-7.0}/rbtools/utils/repository.py +31 -15
- {rbtools-5.3 → rbtools-7.0}/rbtools/utils/review_request.py +26 -31
- {rbtools-5.3 → rbtools-7.0}/rbtools/utils/source_tree.py +18 -15
- {rbtools-5.3 → rbtools-7.0}/rbtools/utils/streams.py +10 -4
- {rbtools-5.3 → rbtools-7.0}/rbtools/utils/tests/test_aliases.py +2 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/utils/tests/test_buffered_iterator.py +2 -0
- rbtools-7.0/rbtools/utils/tests/test_commit_messages.py +206 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/utils/tests/test_console.py +2 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/utils/tests/test_filesystem.py +2 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/utils/tests/test_process.py +20 -6
- {rbtools-5.3 → rbtools-7.0}/rbtools/utils/tests/test_repository.py +2 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/utils/tests/test_review_request.py +2 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/utils/tests/test_source_tree.py +15 -15
- rbtools-7.0/rbtools/utils/users.py +387 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/utils/web_login.py +177 -27
- {rbtools-5.3 → rbtools-7.0}/setup.cfg +1 -1
- rbtools-5.3/docs/rbtools/api/overview.rst +0 -183
- rbtools-5.3/docs/rbtools/api/resource-specific.rst +0 -150
- rbtools-5.3/docs/rbtools/rbt/configuration/index.rst +0 -11
- rbtools-5.3/rbtools/api/resource.py +0 -1695
- rbtools-5.3/rbtools/clients/base/patch.py +0 -30
- rbtools-5.3/rbtools/clients/tests/test_legacy_patcher.py +0 -147
- rbtools-5.3/rbtools/clients/tests/testdata/svn-repo/db/current +0 -1
- rbtools-5.3/rbtools/clients/tests/testdata/svn-repo/db/format +0 -2
- rbtools-5.3/rbtools/clients/tests/testdata/svn-repo/db/fsfs.conf +0 -38
- rbtools-5.3/rbtools/clients/tests/testdata/svn-repo/db/revs/0/0 +0 -11
- rbtools-5.3/rbtools/clients/tests/testdata/svn-repo/db/revs/0/1 +0 -0
- rbtools-5.3/rbtools/clients/tests/testdata/svn-repo/db/revs/0/2 +0 -0
- rbtools-5.3/rbtools/clients/tests/testdata/svn-repo/db/revs/0/3 +0 -0
- rbtools-5.3/rbtools/clients/tests/testdata/svn-repo/db/revs/0/4 +0 -0
- rbtools-5.3/rbtools/clients/tests/testdata/svn-repo/db/revs/0/5 +0 -0
- rbtools-5.3/rbtools/clients/tests/testdata/svn-repo/db/revs/0/6 +0 -0
- rbtools-5.3/rbtools/clients/tests/testdata/svn-repo/db/txn-current +0 -1
- rbtools-5.3/rbtools/clients/tests/testdata/svn-repo/hooks/post-lock.tmpl +0 -44
- rbtools-5.3/rbtools/commands/__init__.py +0 -264
- rbtools-5.3/rbtools/commands/info.py +0 -91
- rbtools-5.3/rbtools/commands/install.py +0 -222
- rbtools-5.3/rbtools/commands/login.py +0 -90
- rbtools-5.3/rbtools/commands/logout.py +0 -35
- rbtools-5.3/rbtools/commands/tests/test_command_initialization.py +0 -111
- rbtools-5.3/rbtools/diffs/tests/test_patch.py +0 -165
- rbtools-5.3/rbtools/utils/COPYING.appdirs +0 -23
- rbtools-5.3/rbtools/utils/README.appdirs +0 -3
- rbtools-5.3/rbtools/utils/appdirs.py +0 -552
- rbtools-5.3/rbtools/utils/users.py +0 -201
- {rbtools-5.3 → rbtools-7.0}/COPYING +0 -0
- {rbtools-5.3 → rbtools-7.0}/INSTALL +0 -0
- {rbtools-5.3 → rbtools-7.0}/MANIFEST.in +0 -0
- {rbtools-5.3 → rbtools-7.0}/NEWS +0 -0
- {rbtools-5.3 → rbtools-7.0}/RBTools.egg-info/dependency_links.txt +0 -0
- {rbtools-5.3 → rbtools-7.0}/RBTools.egg-info/entry_points.txt +0 -0
- {rbtools-5.3 → rbtools-7.0}/RBTools.egg-info/top_level.txt +0 -0
- {rbtools-5.3 → rbtools-7.0}/README.md +0 -0
- {rbtools-5.3 → rbtools-7.0}/contrib/P4V/P4V-Mac-Linux-Tools-Import.xml +0 -0
- {rbtools-5.3 → rbtools-7.0}/contrib/P4V/P4V-Windows-RBTools-Install.xml +0 -0
- {rbtools-5.3 → rbtools-7.0}/contrib/P4V/README.md +0 -0
- {rbtools-5.3 → rbtools-7.0}/contrib/installers/macosx/build-mpkg.sh +0 -0
- {rbtools-5.3 → rbtools-7.0}/contrib/installers/macosx/distribution.xml +0 -0
- {rbtools-5.3 → rbtools-7.0}/contrib/installers/macosx/resources/background.tiff +0 -0
- {rbtools-5.3 → rbtools-7.0}/contrib/installers/macosx/resources/background@2x.tiff +0 -0
- {rbtools-5.3 → rbtools-7.0}/contrib/installers/macosx/resources/conclusion.html +0 -0
- {rbtools-5.3 → rbtools-7.0}/contrib/installers/macosx/resources/welcome.html +0 -0
- {rbtools-5.3 → rbtools-7.0}/contrib/installers/windows/scripts/get-version.py +0 -0
- {rbtools-5.3 → rbtools-7.0}/contrib/installers/windows/wix/Product_en-us.wxl +0 -0
- {rbtools-5.3 → rbtools-7.0}/contrib/installers/windows/wix/bundle.wxs +0 -0
- {rbtools-5.3 → rbtools-7.0}/contrib/installers/windows/wix/defines.wxi +0 -0
- {rbtools-5.3 → rbtools-7.0}/contrib/installers/windows/wix/files/favicon.ico +0 -0
- {rbtools-5.3 → rbtools-7.0}/contrib/installers/windows/wix/files/logo.png +0 -0
- {rbtools-5.3 → rbtools-7.0}/contrib/installers/windows/wix/files/rbt +0 -0
- {rbtools-5.3 → rbtools-7.0}/contrib/installers/windows/wix/files/rbt.cmd +0 -0
- {rbtools-5.3 → rbtools-7.0}/contrib/installers/windows/wix/product.wxs +0 -0
- {rbtools-5.3 → rbtools-7.0}/contrib/installers/windows/wix/rbtools.sln +0 -0
- {rbtools-5.3 → rbtools-7.0}/contrib/tools/git-hook-check-approval +0 -0
- {rbtools-5.3 → rbtools-7.0}/contrib/tools/git-hook-set-submitted +0 -0
- {rbtools-5.3 → rbtools-7.0}/contrib/tools/p4-trigger-script +0 -0
- {rbtools-5.3 → rbtools-7.0}/docs/rbtools/Makefile +0 -0
- {rbtools-5.3 → rbtools-7.0}/docs/rbtools/_ext/__init__.py +0 -0
- {rbtools-5.3 → rbtools-7.0}/docs/rbtools/glossary.rst +0 -0
- {rbtools-5.3 → rbtools-7.0}/docs/rbtools/rbt/commands/alias.rst +0 -0
- {rbtools-5.3 → rbtools-7.0}/docs/rbtools/rbt/commands/api-get.rst +0 -0
- {rbtools-5.3 → rbtools-7.0}/docs/rbtools/rbt/commands/attach.rst +0 -0
- {rbtools-5.3 → rbtools-7.0}/docs/rbtools/rbt/commands/clear-cache.rst +0 -0
- {rbtools-5.3 → rbtools-7.0}/docs/rbtools/rbt/commands/close.rst +0 -0
- {rbtools-5.3 → rbtools-7.0}/docs/rbtools/rbt/commands/diff.rst +0 -0
- {rbtools-5.3 → rbtools-7.0}/docs/rbtools/rbt/commands/index.rst +0 -0
- {rbtools-5.3 → rbtools-7.0}/docs/rbtools/rbt/commands/install.rst +0 -0
- {rbtools-5.3 → rbtools-7.0}/docs/rbtools/rbt/commands/list-repo-types.rst +0 -0
- {rbtools-5.3 → rbtools-7.0}/docs/rbtools/rbt/commands/logout.rst +0 -0
- {rbtools-5.3 → rbtools-7.0}/docs/rbtools/rbt/commands/patch.rst +0 -0
- {rbtools-5.3 → rbtools-7.0}/docs/rbtools/rbt/commands/publish.rst +0 -0
- {rbtools-5.3 → rbtools-7.0}/docs/rbtools/rbt/commands/review.rst +0 -0
- {rbtools-5.3 → rbtools-7.0}/docs/rbtools/rbt/commands/setup-completion.rst +0 -0
- {rbtools-5.3 → rbtools-7.0}/docs/rbtools/rbt/commands/setup-repo.rst +0 -0
- {rbtools-5.3 → rbtools-7.0}/docs/rbtools/rbt/commands/stamp.rst +0 -0
- {rbtools-5.3 → rbtools-7.0}/docs/rbtools/rbt/commands/status.rst +0 -0
- {rbtools-5.3 → rbtools-7.0}/docs/rbtools/rbt/index.rst +0 -0
- {rbtools-5.3 → rbtools-7.0}/docs/rbtools/redirects.json +0 -0
- {rbtools-5.3 → rbtools-7.0}/docs/rbtools/workflows/perforce.rst +0 -0
- {rbtools-5.3 → rbtools-7.0}/docs/releasenotes/0.2-beta-1.rst +0 -0
- {rbtools-5.3 → rbtools-7.0}/docs/releasenotes/0.2-beta-2.rst +0 -0
- {rbtools-5.3 → rbtools-7.0}/docs/releasenotes/0.2-rc-1.rst +0 -0
- {rbtools-5.3 → rbtools-7.0}/docs/releasenotes/0.2.rst +0 -0
- {rbtools-5.3 → rbtools-7.0}/docs/releasenotes/0.3.1.rst +0 -0
- {rbtools-5.3 → rbtools-7.0}/docs/releasenotes/0.3.2.rst +0 -0
- {rbtools-5.3 → rbtools-7.0}/docs/releasenotes/0.3.3.rst +0 -0
- {rbtools-5.3 → rbtools-7.0}/docs/releasenotes/0.3.4.rst +0 -0
- {rbtools-5.3 → rbtools-7.0}/docs/releasenotes/0.3.rst +0 -0
- {rbtools-5.3 → rbtools-7.0}/docs/releasenotes/0.4.1.rst +0 -0
- {rbtools-5.3 → rbtools-7.0}/docs/releasenotes/0.4.2.rst +0 -0
- {rbtools-5.3 → rbtools-7.0}/docs/releasenotes/0.4.3.rst +0 -0
- {rbtools-5.3 → rbtools-7.0}/docs/releasenotes/0.4.rst +0 -0
- {rbtools-5.3 → rbtools-7.0}/docs/releasenotes/0.5.1.rst +0 -0
- {rbtools-5.3 → rbtools-7.0}/docs/releasenotes/0.5.2.rst +0 -0
- {rbtools-5.3 → rbtools-7.0}/docs/releasenotes/0.5.3.rst +0 -0
- {rbtools-5.3 → rbtools-7.0}/docs/releasenotes/0.5.4.rst +0 -0
- {rbtools-5.3 → rbtools-7.0}/docs/releasenotes/0.5.5.rst +0 -0
- {rbtools-5.3 → rbtools-7.0}/docs/releasenotes/0.5.6.rst +0 -0
- {rbtools-5.3 → rbtools-7.0}/docs/releasenotes/0.5.7.rst +0 -0
- {rbtools-5.3 → rbtools-7.0}/docs/releasenotes/0.5.rst +0 -0
- {rbtools-5.3 → rbtools-7.0}/docs/releasenotes/0.6.1.rst +0 -0
- {rbtools-5.3 → rbtools-7.0}/docs/releasenotes/0.6.2.rst +0 -0
- {rbtools-5.3 → rbtools-7.0}/docs/releasenotes/0.6.rst +0 -0
- {rbtools-5.3 → rbtools-7.0}/docs/releasenotes/0.7.11.rst +0 -0
- {rbtools-5.3 → rbtools-7.0}/docs/releasenotes/0.7.4.rst +0 -0
- {rbtools-5.3 → rbtools-7.0}/docs/releasenotes/0.7.9.rst +0 -0
- {rbtools-5.3 → rbtools-7.0}/docs/releasenotes/1.0.1.rst +0 -0
- {rbtools-5.3 → rbtools-7.0}/docs/releasenotes/2.0.1.rst +0 -0
- {rbtools-5.3 → rbtools-7.0}/docs/releasenotes/3.0.rst +0 -0
- {rbtools-5.3 → rbtools-7.0}/docs/releasenotes/3.1.1.rst +0 -0
- {rbtools-5.3 → rbtools-7.0}/docs/releasenotes/3.1.2.rst +0 -0
- {rbtools-5.3 → rbtools-7.0}/docs/releasenotes/3.1.rst +0 -0
- {rbtools-5.3 → rbtools-7.0}/docs/releasenotes/4.0.rst +0 -0
- {rbtools-5.3 → rbtools-7.0}/docs/releasenotes/4.1.rst +0 -0
- {rbtools-5.3 → rbtools-7.0}/docs/releasenotes/5.0.rst +0 -0
- {rbtools-5.3 → rbtools-7.0}/docs/releasenotes/5.1.1.rst +0 -0
- {rbtools-5.3 → rbtools-7.0}/docs/releasenotes/5.1.rst +0 -0
- {rbtools-5.3 → rbtools-7.0}/docs/releasenotes/5.2.1.rst +0 -0
- {rbtools-5.3 → rbtools-7.0}/docs/releasenotes/5.2.rst +0 -0
- {rbtools-5.3 → rbtools-7.0}/docs/releasenotes/5.3.rst +0 -0
- {rbtools-5.3 → rbtools-7.0}/docs/releasenotes/Makefile +0 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/api/__init__.py +0 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/api/tests/__init__.py +0 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/api/tests/test_capabilities.py +0 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/api/utils.py +0 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/clients/base/__init__.py +0 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/clients/tests/testdata/cvs-repo/CVSROOT/checkoutlist +0 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/clients/tests/testdata/cvs-repo/CVSROOT/checkoutlist,v +0 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/clients/tests/testdata/cvs-repo/CVSROOT/commitinfo +0 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/clients/tests/testdata/cvs-repo/CVSROOT/commitinfo,v +0 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/clients/tests/testdata/cvs-repo/CVSROOT/config +0 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/clients/tests/testdata/cvs-repo/CVSROOT/config,v +0 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/clients/tests/testdata/cvs-repo/CVSROOT/cvswrappers +0 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/clients/tests/testdata/cvs-repo/CVSROOT/cvswrappers,v +0 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/clients/tests/testdata/cvs-repo/CVSROOT/loginfo +0 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/clients/tests/testdata/cvs-repo/CVSROOT/loginfo,v +0 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/clients/tests/testdata/cvs-repo/CVSROOT/modules +0 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/clients/tests/testdata/cvs-repo/CVSROOT/modules,v +0 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/clients/tests/testdata/cvs-repo/CVSROOT/notify +0 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/clients/tests/testdata/cvs-repo/CVSROOT/notify,v +0 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/clients/tests/testdata/cvs-repo/CVSROOT/postadmin +0 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/clients/tests/testdata/cvs-repo/CVSROOT/postadmin,v +0 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/clients/tests/testdata/cvs-repo/CVSROOT/postproxy +0 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/clients/tests/testdata/cvs-repo/CVSROOT/postproxy,v +0 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/clients/tests/testdata/cvs-repo/CVSROOT/posttag +0 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/clients/tests/testdata/cvs-repo/CVSROOT/posttag,v +0 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/clients/tests/testdata/cvs-repo/CVSROOT/postwatch +0 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/clients/tests/testdata/cvs-repo/CVSROOT/postwatch,v +0 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/clients/tests/testdata/cvs-repo/CVSROOT/preproxy +0 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/clients/tests/testdata/cvs-repo/CVSROOT/preproxy,v +0 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/clients/tests/testdata/cvs-repo/CVSROOT/rcsinfo +0 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/clients/tests/testdata/cvs-repo/CVSROOT/rcsinfo,v +0 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/clients/tests/testdata/cvs-repo/CVSROOT/taginfo +0 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/clients/tests/testdata/cvs-repo/CVSROOT/taginfo,v +0 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/clients/tests/testdata/cvs-repo/CVSROOT/val-tags +0 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/clients/tests/testdata/cvs-repo/CVSROOT/verifymsg +0 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/clients/tests/testdata/cvs-repo/CVSROOT/verifymsg,v +0 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/clients/tests/testdata/cvs-repo/test-project/file1,v +0 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/clients/tests/testdata/cvs-repo/test-project/file2,v +0 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/clients/tests/testdata/cvs-repo/test-project/file3,v +0 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/clients/tests/testdata/git-repo/HEAD +0 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/clients/tests/testdata/git-repo/config +0 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/clients/tests/testdata/git-repo/description +0 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/clients/tests/testdata/git-repo/hooks/applypatch-msg.sample +0 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/clients/tests/testdata/git-repo/hooks/commit-msg.sample +0 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/clients/tests/testdata/git-repo/hooks/post-update.sample +0 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/clients/tests/testdata/git-repo/hooks/pre-applypatch.sample +0 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/clients/tests/testdata/git-repo/hooks/pre-commit.sample +0 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/clients/tests/testdata/git-repo/hooks/pre-push.sample +0 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/clients/tests/testdata/git-repo/hooks/pre-rebase.sample +0 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/clients/tests/testdata/git-repo/hooks/prepare-commit-msg.sample +0 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/clients/tests/testdata/git-repo/hooks/update.sample +0 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/clients/tests/testdata/git-repo/info/exclude +0 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/clients/tests/testdata/git-repo/objects/0e/88e512079c31f885b3ced6fab680674a69d8ac +0 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/clients/tests/testdata/git-repo/objects/18/c5c09410ba62e8240c2cabe0822c55a60fc519 +0 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/clients/tests/testdata/git-repo/objects/4b/825dc642cb6eb9a060e54bf8d69288fbee4904 +0 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/clients/tests/testdata/git-repo/objects/5e/98e9540e1b741b5be24fcb33c40c1c8069c1fb +0 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/clients/tests/testdata/git-repo/objects/63/4b3e8ff85bada6f928841a9f2c505560840b3a +0 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/clients/tests/testdata/git-repo/objects/6a/76568cc86d73144323388a2669c6add94a572c +0 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/clients/tests/testdata/git-repo/objects/79/66b68a2d81aaa3707c6200aac1c1c86f91431b +0 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/clients/tests/testdata/git-repo/objects/9d/c1177bba796bd19564d1d84f27a8e4576a204a +0 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/clients/tests/testdata/git-repo/objects/bd/5eb938439b726de969e52fa2d93d5e366811b7 +0 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/clients/tests/testdata/git-repo/objects/c4/1fe7c20a7342965922f2772bea3e514975134a +0 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/clients/tests/testdata/git-repo/objects/e6/a3577b3236ed08fdb3a42e8042bfc415d2ae22 +0 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/clients/tests/testdata/git-repo/packed-refs +0 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/clients/tests/testdata/git-repo/refs/heads/.gitignore +0 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/clients/tests/testdata/git-repo/refs/tags/.gitignore +0 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/clients/tests/testdata/hg-repo/foo.txt +0 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/clients/tests/testdata/homedir/.bazaar/bazaar.conf +0 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/clients/tests/testdata/homedir/.gitconfig +0 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/clients/tests/testdata/homedir/.gitignore +0 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/clients/tests/testdata/svn-repo/README.txt +0 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/clients/tests/testdata/svn-repo/conf/authz +0 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/clients/tests/testdata/svn-repo/conf/passwd +0 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/clients/tests/testdata/svn-repo/conf/svnserve.conf +0 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/clients/tests/testdata/svn-repo/db/fs-type +0 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/clients/tests/testdata/svn-repo/db/min-unpacked-rev +0 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/clients/tests/testdata/svn-repo/db/rep-cache.db-journal +0 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/clients/tests/testdata/svn-repo/db/revprops/0/0 +0 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/clients/tests/testdata/svn-repo/db/revprops/0/1 +0 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/clients/tests/testdata/svn-repo/db/revprops/0/2 +0 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/clients/tests/testdata/svn-repo/db/revprops/0/3 +0 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/clients/tests/testdata/svn-repo/db/revprops/0/4 +0 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/clients/tests/testdata/svn-repo/db/revprops/0/5 +0 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/clients/tests/testdata/svn-repo/db/revprops/0/6 +0 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/clients/tests/testdata/svn-repo/db/transactions/.gitignore +0 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/clients/tests/testdata/svn-repo/db/txn-current-lock +0 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/clients/tests/testdata/svn-repo/db/txn-protorevs/.gitignore +0 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/clients/tests/testdata/svn-repo/db/write-lock +0 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/clients/tests/testdata/svn-repo/format +0 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/clients/tests/testdata/svn-repo/locks/db-logs.lock +0 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/clients/tests/testdata/svn-repo/locks/db.lock +0 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/commands/base/errors.py +0 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/commands/conf/completions/bash +0 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/commands/conf/completions/zsh +0 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/commands/main.py +0 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/commands/tests/__init__.py +0 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/commands/tests/test_base_output.py +0 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/config/tests/__init__.py +0 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/config/tests/test_loader.py +0 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/diffs/__init__.py +0 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/diffs/tests/__init__.py +0 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/diffs/tools/__init__.py +0 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/diffs/tools/backends/__init__.py +0 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/helpers/__init__.py +0 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/helpers/hgext.py +0 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/hooks/__init__.py +0 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/testing/api/__init__.py +0 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/testing/scripts/editor.py +0 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/utils/__init__.py +0 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/utils/browser.py +0 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/utils/checks.py +0 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/utils/tests/__init__.py +0 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/utils/tests/test_checks.py +0 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/utils/tests/test_encoding.py +0 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/utils/tests/test_mimetypes.py +0 -0
- {rbtools-5.3 → rbtools-7.0}/rbtools/utils/tests/test_web_login.py +0 -0
|
@@ -29,12 +29,12 @@ Contributors:
|
|
|
29
29
|
* Anthony Cruz
|
|
30
30
|
* Anthony Hache
|
|
31
31
|
* Azad Salahli
|
|
32
|
-
* Barret Rennie
|
|
33
32
|
* Bartosz Gołek
|
|
34
33
|
* Ben (full name unknown)
|
|
35
34
|
* Ben Asher
|
|
36
35
|
* Ben Hollis
|
|
37
36
|
* Ben Jackson
|
|
37
|
+
* Beth Rennie
|
|
38
38
|
* Bogdana Popa
|
|
39
39
|
* Bradley Baetz
|
|
40
40
|
* Brandon Martin
|
|
@@ -45,6 +45,7 @@ Contributors:
|
|
|
45
45
|
* Chris Eagan
|
|
46
46
|
* Chris Hunt
|
|
47
47
|
* Chris Liu
|
|
48
|
+
* Conor Burgess
|
|
48
49
|
* Craig Silverstein
|
|
49
50
|
* Damian
|
|
50
51
|
* Dana Lacoste
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: RBTools
|
|
3
|
-
Version:
|
|
3
|
+
Version: 7.0
|
|
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
|
|
@@ -16,26 +16,26 @@ Classifier: Natural Language :: English
|
|
|
16
16
|
Classifier: Operating System :: OS Independent
|
|
17
17
|
Classifier: Programming Language :: Python
|
|
18
18
|
Classifier: Programming Language :: Python :: 3
|
|
19
|
-
Classifier: Programming Language :: Python :: 3.8
|
|
20
|
-
Classifier: Programming Language :: Python :: 3.9
|
|
21
19
|
Classifier: Programming Language :: Python :: 3.10
|
|
22
20
|
Classifier: Programming Language :: Python :: 3.11
|
|
23
21
|
Classifier: Programming Language :: Python :: 3.12
|
|
22
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
23
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
24
24
|
Classifier: Topic :: Software Development
|
|
25
25
|
Classifier: Topic :: Software Development :: Quality Assurance
|
|
26
|
-
Requires-Python: >=3.
|
|
26
|
+
Requires-Python: >=3.10
|
|
27
27
|
Description-Content-Type: text/markdown
|
|
28
28
|
License-File: COPYING
|
|
29
29
|
License-File: AUTHORS
|
|
30
|
+
Requires-Dist: appdirs~=1.4.4
|
|
30
31
|
Requires-Dist: certifi>=2023.5.7
|
|
31
|
-
Requires-Dist: colorama
|
|
32
32
|
Requires-Dist: housekeeping~=1.1
|
|
33
33
|
Requires-Dist: packaging>=21.3
|
|
34
34
|
Requires-Dist: puremagic
|
|
35
35
|
Requires-Dist: pydiffx~=1.1.0
|
|
36
|
-
Requires-Dist:
|
|
36
|
+
Requires-Dist: rich~=15.0
|
|
37
|
+
Requires-Dist: typelets~=1.1.0
|
|
37
38
|
Requires-Dist: typing_extensions>=4.3.0
|
|
38
|
-
Requires-Dist: tqdm
|
|
39
39
|
Requires-Dist: importlib-metadata>=5.0
|
|
40
40
|
Requires-Dist: importlib-resources>=5.9
|
|
41
41
|
Dynamic: license-file
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: RBTools
|
|
3
|
-
Version:
|
|
3
|
+
Version: 7.0
|
|
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
|
|
@@ -16,26 +16,26 @@ Classifier: Natural Language :: English
|
|
|
16
16
|
Classifier: Operating System :: OS Independent
|
|
17
17
|
Classifier: Programming Language :: Python
|
|
18
18
|
Classifier: Programming Language :: Python :: 3
|
|
19
|
-
Classifier: Programming Language :: Python :: 3.8
|
|
20
|
-
Classifier: Programming Language :: Python :: 3.9
|
|
21
19
|
Classifier: Programming Language :: Python :: 3.10
|
|
22
20
|
Classifier: Programming Language :: Python :: 3.11
|
|
23
21
|
Classifier: Programming Language :: Python :: 3.12
|
|
22
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
23
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
24
24
|
Classifier: Topic :: Software Development
|
|
25
25
|
Classifier: Topic :: Software Development :: Quality Assurance
|
|
26
|
-
Requires-Python: >=3.
|
|
26
|
+
Requires-Python: >=3.10
|
|
27
27
|
Description-Content-Type: text/markdown
|
|
28
28
|
License-File: COPYING
|
|
29
29
|
License-File: AUTHORS
|
|
30
|
+
Requires-Dist: appdirs~=1.4.4
|
|
30
31
|
Requires-Dist: certifi>=2023.5.7
|
|
31
|
-
Requires-Dist: colorama
|
|
32
32
|
Requires-Dist: housekeeping~=1.1
|
|
33
33
|
Requires-Dist: packaging>=21.3
|
|
34
34
|
Requires-Dist: puremagic
|
|
35
35
|
Requires-Dist: pydiffx~=1.1.0
|
|
36
|
-
Requires-Dist:
|
|
36
|
+
Requires-Dist: rich~=15.0
|
|
37
|
+
Requires-Dist: typelets~=1.1.0
|
|
37
38
|
Requires-Dist: typing_extensions>=4.3.0
|
|
38
|
-
Requires-Dist: tqdm
|
|
39
39
|
Requires-Dist: importlib-metadata>=5.0
|
|
40
40
|
Requires-Dist: importlib-resources>=5.9
|
|
41
41
|
Dynamic: license-file
|
|
@@ -39,6 +39,7 @@ contrib/tools/git-hook-check-approval
|
|
|
39
39
|
contrib/tools/git-hook-set-submitted
|
|
40
40
|
contrib/tools/p4-trigger-script
|
|
41
41
|
docs/rbtools/Makefile
|
|
42
|
+
docs/rbtools/authentication.rst
|
|
42
43
|
docs/rbtools/conf.py
|
|
43
44
|
docs/rbtools/glossary.rst
|
|
44
45
|
docs/rbtools/index.rst
|
|
@@ -48,7 +49,6 @@ docs/rbtools/_ext/__init__.py
|
|
|
48
49
|
docs/rbtools/_ext/rbt_commands.py
|
|
49
50
|
docs/rbtools/api/index.rst
|
|
50
51
|
docs/rbtools/api/overview.rst
|
|
51
|
-
docs/rbtools/api/resource-specific.rst
|
|
52
52
|
docs/rbtools/api/tutorial.rst
|
|
53
53
|
docs/rbtools/api/coderef/index.rst
|
|
54
54
|
docs/rbtools/rbt/index.rst
|
|
@@ -59,6 +59,7 @@ docs/rbtools/rbt/commands/clear-cache.rst
|
|
|
59
59
|
docs/rbtools/rbt/commands/close.rst
|
|
60
60
|
docs/rbtools/rbt/commands/diff.rst
|
|
61
61
|
docs/rbtools/rbt/commands/index.rst
|
|
62
|
+
docs/rbtools/rbt/commands/info.rst
|
|
62
63
|
docs/rbtools/rbt/commands/install.rst
|
|
63
64
|
docs/rbtools/rbt/commands/land.rst
|
|
64
65
|
docs/rbtools/rbt/commands/list-repo-types.rst
|
|
@@ -73,7 +74,7 @@ docs/rbtools/rbt/commands/setup-repo.rst
|
|
|
73
74
|
docs/rbtools/rbt/commands/stamp.rst
|
|
74
75
|
docs/rbtools/rbt/commands/status-update.rst
|
|
75
76
|
docs/rbtools/rbt/commands/status.rst
|
|
76
|
-
docs/rbtools/rbt/configuration/
|
|
77
|
+
docs/rbtools/rbt/configuration/aliases.rst
|
|
77
78
|
docs/rbtools/rbt/configuration/index.rst
|
|
78
79
|
docs/rbtools/rbt/configuration/repositories.rst
|
|
79
80
|
docs/rbtools/rbt/configuration/tfs.rst
|
|
@@ -81,6 +82,7 @@ docs/rbtools/rbt/configuration/users.rst
|
|
|
81
82
|
docs/rbtools/workflows/clearcase.rst
|
|
82
83
|
docs/rbtools/workflows/git.rst
|
|
83
84
|
docs/rbtools/workflows/index.rst
|
|
85
|
+
docs/rbtools/workflows/jujutsu.rst
|
|
84
86
|
docs/rbtools/workflows/perforce.rst
|
|
85
87
|
docs/rbtools/workflows/sos.rst
|
|
86
88
|
docs/releasenotes/0.2-beta-1.rst
|
|
@@ -138,6 +140,8 @@ docs/releasenotes/5.1.rst
|
|
|
138
140
|
docs/releasenotes/5.2.1.rst
|
|
139
141
|
docs/releasenotes/5.2.rst
|
|
140
142
|
docs/releasenotes/5.3.rst
|
|
143
|
+
docs/releasenotes/6.0.rst
|
|
144
|
+
docs/releasenotes/7.0.rst
|
|
141
145
|
docs/releasenotes/Makefile
|
|
142
146
|
docs/releasenotes/conf.py
|
|
143
147
|
docs/releasenotes/index.rst
|
|
@@ -153,10 +157,73 @@ rbtools/api/decorators.py
|
|
|
153
157
|
rbtools/api/errors.py
|
|
154
158
|
rbtools/api/factory.py
|
|
155
159
|
rbtools/api/request.py
|
|
156
|
-
rbtools/api/resource.py
|
|
157
160
|
rbtools/api/utils.py
|
|
161
|
+
rbtools/api/resource/__init__.py
|
|
162
|
+
rbtools/api/resource/api_token.py
|
|
163
|
+
rbtools/api/resource/archived_review_request.py
|
|
164
|
+
rbtools/api/resource/base.py
|
|
165
|
+
rbtools/api/resource/base_archived_object.py
|
|
166
|
+
rbtools/api/resource/base_comment.py
|
|
167
|
+
rbtools/api/resource/base_diff_commit.py
|
|
168
|
+
rbtools/api/resource/base_review.py
|
|
169
|
+
rbtools/api/resource/base_review_group.py
|
|
170
|
+
rbtools/api/resource/base_review_request.py
|
|
171
|
+
rbtools/api/resource/base_user.py
|
|
172
|
+
rbtools/api/resource/change.py
|
|
173
|
+
rbtools/api/resource/default_reviewer.py
|
|
174
|
+
rbtools/api/resource/diff.py
|
|
175
|
+
rbtools/api/resource/diff_comment.py
|
|
176
|
+
rbtools/api/resource/diff_commit.py
|
|
177
|
+
rbtools/api/resource/diff_context.py
|
|
178
|
+
rbtools/api/resource/diff_file_attachment.py
|
|
179
|
+
rbtools/api/resource/draft_diff_commit.py
|
|
180
|
+
rbtools/api/resource/draft_file_attachment.py
|
|
181
|
+
rbtools/api/resource/draft_screenshot.py
|
|
182
|
+
rbtools/api/resource/extension.py
|
|
183
|
+
rbtools/api/resource/file_attachment.py
|
|
184
|
+
rbtools/api/resource/file_attachment_comment.py
|
|
185
|
+
rbtools/api/resource/file_diff.py
|
|
186
|
+
rbtools/api/resource/general_comment.py
|
|
187
|
+
rbtools/api/resource/hosting_service.py
|
|
188
|
+
rbtools/api/resource/hosting_service_account.py
|
|
189
|
+
rbtools/api/resource/last_update.py
|
|
190
|
+
rbtools/api/resource/mixins.py
|
|
191
|
+
rbtools/api/resource/muted_review_request.py
|
|
192
|
+
rbtools/api/resource/oauth_application.py
|
|
193
|
+
rbtools/api/resource/oauth_token.py
|
|
194
|
+
rbtools/api/resource/plain_text.py
|
|
195
|
+
rbtools/api/resource/remote_repository.py
|
|
196
|
+
rbtools/api/resource/repository.py
|
|
197
|
+
rbtools/api/resource/repository_branch.py
|
|
198
|
+
rbtools/api/resource/repository_commit.py
|
|
199
|
+
rbtools/api/resource/repository_group.py
|
|
200
|
+
rbtools/api/resource/repository_info.py
|
|
201
|
+
rbtools/api/resource/repository_user.py
|
|
202
|
+
rbtools/api/resource/review.py
|
|
203
|
+
rbtools/api/resource/review_group.py
|
|
204
|
+
rbtools/api/resource/review_group_user.py
|
|
205
|
+
rbtools/api/resource/review_reply.py
|
|
206
|
+
rbtools/api/resource/review_request.py
|
|
207
|
+
rbtools/api/resource/review_request_draft.py
|
|
208
|
+
rbtools/api/resource/root.py
|
|
209
|
+
rbtools/api/resource/screenshot.py
|
|
210
|
+
rbtools/api/resource/screenshot_comment.py
|
|
211
|
+
rbtools/api/resource/search.py
|
|
212
|
+
rbtools/api/resource/server_info.py
|
|
213
|
+
rbtools/api/resource/session.py
|
|
214
|
+
rbtools/api/resource/status_update.py
|
|
215
|
+
rbtools/api/resource/user.py
|
|
216
|
+
rbtools/api/resource/user_file_attachment.py
|
|
217
|
+
rbtools/api/resource/validate_diff.py
|
|
218
|
+
rbtools/api/resource/validate_diff_commit.py
|
|
219
|
+
rbtools/api/resource/validation.py
|
|
220
|
+
rbtools/api/resource/watched.py
|
|
221
|
+
rbtools/api/resource/watched_review_group.py
|
|
222
|
+
rbtools/api/resource/watched_review_request.py
|
|
223
|
+
rbtools/api/resource/webhook.py
|
|
158
224
|
rbtools/api/tests/__init__.py
|
|
159
225
|
rbtools/api/tests/base.py
|
|
226
|
+
rbtools/api/tests/test_auth_handlers.py
|
|
160
227
|
rbtools/api/tests/test_capabilities.py
|
|
161
228
|
rbtools/api/tests/test_errors.py
|
|
162
229
|
rbtools/api/tests/test_factory.py
|
|
@@ -170,6 +237,7 @@ rbtools/clients/clearcase.py
|
|
|
170
237
|
rbtools/clients/cvs.py
|
|
171
238
|
rbtools/clients/errors.py
|
|
172
239
|
rbtools/clients/git.py
|
|
240
|
+
rbtools/clients/jujutsu.py
|
|
173
241
|
rbtools/clients/mercurial.py
|
|
174
242
|
rbtools/clients/perforce.py
|
|
175
243
|
rbtools/clients/plastic.py
|
|
@@ -177,7 +245,6 @@ rbtools/clients/sos.py
|
|
|
177
245
|
rbtools/clients/svn.py
|
|
178
246
|
rbtools/clients/tfs.py
|
|
179
247
|
rbtools/clients/base/__init__.py
|
|
180
|
-
rbtools/clients/base/patch.py
|
|
181
248
|
rbtools/clients/base/registry.py
|
|
182
249
|
rbtools/clients/base/repository.py
|
|
183
250
|
rbtools/clients/base/scmclient.py
|
|
@@ -187,7 +254,7 @@ rbtools/clients/tests/test_bzr.py
|
|
|
187
254
|
rbtools/clients/tests/test_clearcase.py
|
|
188
255
|
rbtools/clients/tests/test_cvs.py
|
|
189
256
|
rbtools/clients/tests/test_git.py
|
|
190
|
-
rbtools/clients/tests/
|
|
257
|
+
rbtools/clients/tests/test_jujutsu.py
|
|
191
258
|
rbtools/clients/tests/test_mercurial.py
|
|
192
259
|
rbtools/clients/tests/test_p4.py
|
|
193
260
|
rbtools/clients/tests/test_plastic.py
|
|
@@ -264,6 +331,7 @@ rbtools/clients/tests/testdata/homedir/.bazaar/bazaar.conf
|
|
|
264
331
|
rbtools/clients/tests/testdata/svn-repo/README.txt
|
|
265
332
|
rbtools/clients/tests/testdata/svn-repo/format
|
|
266
333
|
rbtools/clients/tests/testdata/svn-repo/conf/authz
|
|
334
|
+
rbtools/clients/tests/testdata/svn-repo/conf/hooks-env.tmpl
|
|
267
335
|
rbtools/clients/tests/testdata/svn-repo/conf/passwd
|
|
268
336
|
rbtools/clients/tests/testdata/svn-repo/conf/svnserve.conf
|
|
269
337
|
rbtools/clients/tests/testdata/svn-repo/db/current
|
|
@@ -283,6 +351,7 @@ rbtools/clients/tests/testdata/svn-repo/db/revprops/0/3
|
|
|
283
351
|
rbtools/clients/tests/testdata/svn-repo/db/revprops/0/4
|
|
284
352
|
rbtools/clients/tests/testdata/svn-repo/db/revprops/0/5
|
|
285
353
|
rbtools/clients/tests/testdata/svn-repo/db/revprops/0/6
|
|
354
|
+
rbtools/clients/tests/testdata/svn-repo/db/revprops/0/7
|
|
286
355
|
rbtools/clients/tests/testdata/svn-repo/db/revs/0/0
|
|
287
356
|
rbtools/clients/tests/testdata/svn-repo/db/revs/0/1
|
|
288
357
|
rbtools/clients/tests/testdata/svn-repo/db/revs/0/2
|
|
@@ -290,6 +359,7 @@ rbtools/clients/tests/testdata/svn-repo/db/revs/0/3
|
|
|
290
359
|
rbtools/clients/tests/testdata/svn-repo/db/revs/0/4
|
|
291
360
|
rbtools/clients/tests/testdata/svn-repo/db/revs/0/5
|
|
292
361
|
rbtools/clients/tests/testdata/svn-repo/db/revs/0/6
|
|
362
|
+
rbtools/clients/tests/testdata/svn-repo/db/revs/0/7
|
|
293
363
|
rbtools/clients/tests/testdata/svn-repo/db/transactions/.gitignore
|
|
294
364
|
rbtools/clients/tests/testdata/svn-repo/db/txn-protorevs/.gitignore
|
|
295
365
|
rbtools/clients/tests/testdata/svn-repo/hooks/post-commit.tmpl
|
|
@@ -336,9 +406,15 @@ rbtools/commands/conf/completions/zsh
|
|
|
336
406
|
rbtools/commands/tests/__init__.py
|
|
337
407
|
rbtools/commands/tests/test_alias.py
|
|
338
408
|
rbtools/commands/tests/test_base_output.py
|
|
409
|
+
rbtools/commands/tests/test_command_auth_session.py
|
|
339
410
|
rbtools/commands/tests/test_command_initialization.py
|
|
411
|
+
rbtools/commands/tests/test_info.py
|
|
412
|
+
rbtools/commands/tests/test_login.py
|
|
413
|
+
rbtools/commands/tests/test_logout.py
|
|
340
414
|
rbtools/commands/tests/test_main.py
|
|
415
|
+
rbtools/commands/tests/test_patch.py
|
|
341
416
|
rbtools/commands/tests/test_post.py
|
|
417
|
+
rbtools/commands/tests/test_review.py
|
|
342
418
|
rbtools/commands/tests/test_setup_completion.py
|
|
343
419
|
rbtools/commands/tests/test_setup_repo.py
|
|
344
420
|
rbtools/config/__init__.py
|
|
@@ -384,14 +460,17 @@ rbtools/testing/api/__init__.py
|
|
|
384
460
|
rbtools/testing/api/payloads.py
|
|
385
461
|
rbtools/testing/api/transport.py
|
|
386
462
|
rbtools/testing/scripts/editor.py
|
|
387
|
-
rbtools/
|
|
388
|
-
rbtools/
|
|
463
|
+
rbtools/ui/__init__.py
|
|
464
|
+
rbtools/ui/console.py
|
|
465
|
+
rbtools/ui/theme.py
|
|
466
|
+
rbtools/ui/tests/__init__.py
|
|
467
|
+
rbtools/ui/tests/test_console.py
|
|
389
468
|
rbtools/utils/__init__.py
|
|
390
469
|
rbtools/utils/aliases.py
|
|
391
|
-
rbtools/utils/appdirs.py
|
|
392
470
|
rbtools/utils/browser.py
|
|
393
471
|
rbtools/utils/checks.py
|
|
394
472
|
rbtools/utils/commands.py
|
|
473
|
+
rbtools/utils/commit_messages.py
|
|
395
474
|
rbtools/utils/console.py
|
|
396
475
|
rbtools/utils/diffs.py
|
|
397
476
|
rbtools/utils/encoding.py
|
|
@@ -410,6 +489,7 @@ rbtools/utils/tests/__init__.py
|
|
|
410
489
|
rbtools/utils/tests/test_aliases.py
|
|
411
490
|
rbtools/utils/tests/test_buffered_iterator.py
|
|
412
491
|
rbtools/utils/tests/test_checks.py
|
|
492
|
+
rbtools/utils/tests/test_commit_messages.py
|
|
413
493
|
rbtools/utils/tests/test_console.py
|
|
414
494
|
rbtools/utils/tests/test_encoding.py
|
|
415
495
|
rbtools/utils/tests/test_filesystem.py
|
|
@@ -30,15 +30,25 @@ set DEPS_DIR=%BUILD_BASE%\deps
|
|
|
30
30
|
::-------------------------------------------------------------------------
|
|
31
31
|
:: Dependencies
|
|
32
32
|
::-------------------------------------------------------------------------
|
|
33
|
-
set PYTHON_VERSION=3.
|
|
33
|
+
set PYTHON_VERSION=3.13.15
|
|
34
34
|
|
|
35
35
|
set PYTHON_URL_BASE=https://www.python.org/ftp/python
|
|
36
36
|
|
|
37
37
|
set PYTHON_X64_FILENAME=python-%PYTHON_VERSION%-amd64.exe
|
|
38
38
|
set PYTHON_X64_URL=%PYTHON_URL_BASE%/%PYTHON_VERSION%/%PYTHON_X64_FILENAME%
|
|
39
|
-
set
|
|
39
|
+
set PYTHON_X64_SHA256=edec09c4853aeae9ac36efb8c9f95b6b8e2fee65eee56d9767a8b7c69c574403
|
|
40
40
|
set PYTHON_X64_DEP=%DEPS_DIR%\python-%PYTHON_VERSION%-x64
|
|
41
41
|
|
|
42
|
+
set NUGET_VERSION=6.9.1
|
|
43
|
+
set NUGET_URL=https://dist.nuget.org/win-x86-commandline/v%NUGET_VERSION%/nuget.exe
|
|
44
|
+
set NUGET_SHA256=82bb13e2365e1e5ee7d0975618dcf90b279427de8a7ecb338b9b78bfc457d51b
|
|
45
|
+
set NUGET_DIR=%DEPS_DIR%\nuget-%NUGET_VERSION%
|
|
46
|
+
set NUGET_EXE=%NUGET_DIR%\nuget.exe
|
|
47
|
+
|
|
48
|
+
set TRUSTED_SIGNING_CLIENT_VERSION=1.0.60
|
|
49
|
+
set TRUSTED_SIGNING_CLIENT_DIR=%DEPS_DIR%\Microsoft.Trusted.Signing.Client.%TRUSTED_SIGNING_CLIENT_VERSION%
|
|
50
|
+
set AZURE_SIGN_DLIB_PATH=%TRUSTED_SIGNING_CLIENT_DIR%\bin\x64\Azure.CodeSigning.Dlib.dll
|
|
51
|
+
|
|
42
52
|
|
|
43
53
|
::-------------------------------------------------------------------------
|
|
44
54
|
:: Binaries
|
|
@@ -49,12 +59,6 @@ set BUNDLED_PYTHON_X64=%BUNDLED_PYTHON_X64_DIR%\python.exe
|
|
|
49
59
|
call :SetMSBuildPath || goto :Abort
|
|
50
60
|
|
|
51
61
|
|
|
52
|
-
::-------------------------------------------------------------------------
|
|
53
|
-
:: Signing certificate
|
|
54
|
-
::-------------------------------------------------------------------------
|
|
55
|
-
set CERT_THUMBPRINT_SHA1=88b278d63d192543884faa8cd97cc77ef74ef897
|
|
56
|
-
|
|
57
|
-
|
|
58
62
|
::-------------------------------------------------------------------------
|
|
59
63
|
:: Begin the installation process
|
|
60
64
|
::-------------------------------------------------------------------------
|
|
@@ -63,9 +67,12 @@ if not exist "%BUILD_STAGE%" mkdir "%BUILD_STAGE%"
|
|
|
63
67
|
|
|
64
68
|
call :InstallPython ^
|
|
65
69
|
x64 %PYTHON_X64_DEP% %PYTHON_X64_FILENAME% ^
|
|
66
|
-
%PYTHON_X64_URL% %
|
|
70
|
+
%PYTHON_X64_URL% %PYTHON_X64_SHA256% ^
|
|
67
71
|
|| goto :Abort
|
|
68
72
|
|
|
73
|
+
call :InstallNuGet || goto :Abort
|
|
74
|
+
call :InstallTrustedSigningClient || goto :Abort
|
|
75
|
+
call :GenerateSigningMetadata || goto :Abort
|
|
69
76
|
call :CreateBuildDirectory || goto :Abort
|
|
70
77
|
call :InstallPackages || goto :Abort
|
|
71
78
|
call :InstallRBTools || goto :Abort
|
|
@@ -80,14 +87,14 @@ exit /B 0
|
|
|
80
87
|
::-------------------------------------------------------------------------
|
|
81
88
|
:: Installs Python
|
|
82
89
|
::-------------------------------------------------------------------------
|
|
83
|
-
:InstallPython arch dep_path python_filename url
|
|
90
|
+
:InstallPython arch dep_path python_filename url sha256
|
|
84
91
|
setlocal
|
|
85
92
|
|
|
86
93
|
set _arch=%~1
|
|
87
94
|
set _dep_path=%~2
|
|
88
95
|
set _python_filename=%~3
|
|
89
96
|
set _url=%~4
|
|
90
|
-
set
|
|
97
|
+
set _sha256=%~5
|
|
91
98
|
|
|
92
99
|
echo.
|
|
93
100
|
echo == Installing Python [%_arch%] ==
|
|
@@ -99,7 +106,7 @@ if not exist "%_dep_path%" (
|
|
|
99
106
|
if not exist "%_PYTHON_INSTALLER%" (
|
|
100
107
|
echo Preparing to download Python v%PYTHON_VERSION% [%_arch%]...
|
|
101
108
|
|
|
102
|
-
call :DownloadAndVerify %_url% "%_PYTHON_INSTALLER%" %
|
|
109
|
+
call :DownloadAndVerify %_url% "%_PYTHON_INSTALLER%" SHA256 %_sha256%
|
|
103
110
|
if %errorlevel% neq 0 exit /b 1
|
|
104
111
|
|
|
105
112
|
echo Downloaded to %_PYTHON_INSTALLER%
|
|
@@ -130,6 +137,158 @@ if not exist "%_dep_path%" (
|
|
|
130
137
|
exit /B 0
|
|
131
138
|
|
|
132
139
|
|
|
140
|
+
::-------------------------------------------------------------------------
|
|
141
|
+
:: Download nuget.exe.
|
|
142
|
+
::
|
|
143
|
+
:: This is needed for part of the Azure Artifact Signing setup.
|
|
144
|
+
::-------------------------------------------------------------------------
|
|
145
|
+
:InstallNuGet
|
|
146
|
+
setlocal
|
|
147
|
+
|
|
148
|
+
echo.
|
|
149
|
+
echo == Installing NuGet [%NUGET_VERSION%] ==
|
|
150
|
+
|
|
151
|
+
if not exist "%NUGET_DIR%" mkdir "%NUGET_DIR%"
|
|
152
|
+
|
|
153
|
+
call :DownloadAndVerify %NUGET_URL% "%NUGET_EXE%" SHA256 %NUGET_SHA256%
|
|
154
|
+
|
|
155
|
+
if ERRORLEVEL 1 (
|
|
156
|
+
call :DeleteIfExists "%NUGET_EXE%"
|
|
157
|
+
exit /B 1
|
|
158
|
+
)
|
|
159
|
+
|
|
160
|
+
exit /B 0
|
|
161
|
+
|
|
162
|
+
|
|
163
|
+
::-------------------------------------------------------------------------
|
|
164
|
+
:: Install the Azure Trusted Signing client.
|
|
165
|
+
::
|
|
166
|
+
:: This installs to the dependency tree so signtool.exe can find it.
|
|
167
|
+
::-------------------------------------------------------------------------
|
|
168
|
+
:InstallTrustedSigningClient
|
|
169
|
+
setlocal
|
|
170
|
+
|
|
171
|
+
echo.
|
|
172
|
+
echo == Installing Microsoft.Trusted.Signing.Client [%TRUSTED_SIGNING_CLIENT_VERSION%] ==
|
|
173
|
+
|
|
174
|
+
if not exist "%TRUSTED_SIGNING_CLIENT_DIR%" (
|
|
175
|
+
"%NUGET_EXE%" install Microsoft.Trusted.Signing.Client ^
|
|
176
|
+
-Version %TRUSTED_SIGNING_CLIENT_VERSION% ^
|
|
177
|
+
-OutputDirectory "%DEPS_DIR%" ^
|
|
178
|
+
-NonInteractive
|
|
179
|
+
if %errorlevel% neq 0 exit /B 1
|
|
180
|
+
)
|
|
181
|
+
|
|
182
|
+
if not exist "%AZURE_SIGN_DLIB_PATH%" (
|
|
183
|
+
echo Could not find the Azure Trusted Signing dlib at:
|
|
184
|
+
echo %AZURE_SIGN_DLIB_PATH%
|
|
185
|
+
exit /B 1
|
|
186
|
+
)
|
|
187
|
+
|
|
188
|
+
exit /B 0
|
|
189
|
+
|
|
190
|
+
|
|
191
|
+
::-------------------------------------------------------------------------
|
|
192
|
+
:: Generate the Azure Trusted Signing metadata JSON file.
|
|
193
|
+
::
|
|
194
|
+
:: This will populate the file from environment variables describing the
|
|
195
|
+
:: Artifact Signing account and certificate profile to use. The result will
|
|
196
|
+
:: be passed to signtool.exe in the build stage.
|
|
197
|
+
::-------------------------------------------------------------------------
|
|
198
|
+
:GenerateSigningMetadata
|
|
199
|
+
setlocal
|
|
200
|
+
|
|
201
|
+
echo.
|
|
202
|
+
echo == Generating Azure Trusted Signing metadata ==
|
|
203
|
+
|
|
204
|
+
call :TrimTrailingSpaces "%AZURE_TRUSTED_SIGNING_ENDPOINT%" _endpoint
|
|
205
|
+
call :TrimTrailingSpaces "%AZURE_TRUSTED_SIGNING_ACCOUNT%" _account
|
|
206
|
+
call :TrimTrailingSpaces "%AZURE_TRUSTED_SIGNING_CERT_PROFILE%" _cert_profile
|
|
207
|
+
|
|
208
|
+
if "%_endpoint%" == "" (
|
|
209
|
+
echo AZURE_TRUSTED_SIGNING_ENDPOINT must be set.
|
|
210
|
+
exit /B 1
|
|
211
|
+
)
|
|
212
|
+
|
|
213
|
+
if "%_account%" == "" (
|
|
214
|
+
echo AZURE_TRUSTED_SIGNING_ACCOUNT must be set.
|
|
215
|
+
exit /B 1
|
|
216
|
+
)
|
|
217
|
+
|
|
218
|
+
if "%_cert_profile%" == "" (
|
|
219
|
+
echo AZURE_TRUSTED_SIGNING_CERT_PROFILE must be set.
|
|
220
|
+
exit /B 1
|
|
221
|
+
)
|
|
222
|
+
|
|
223
|
+
set _metadata_file=%DEPS_DIR%\trusted-signing-metadata.json
|
|
224
|
+
|
|
225
|
+
(
|
|
226
|
+
echo {
|
|
227
|
+
echo "Endpoint": "%_endpoint%",
|
|
228
|
+
echo "CodeSigningAccountName": "%_account%",
|
|
229
|
+
echo "CertificateProfileName": "%_cert_profile%"
|
|
230
|
+
echo }
|
|
231
|
+
) > "%_metadata_file%"
|
|
232
|
+
|
|
233
|
+
endlocal & set AZURE_SIGN_METADATA_FILE=%_metadata_file%
|
|
234
|
+
exit /B 0
|
|
235
|
+
|
|
236
|
+
|
|
237
|
+
::-------------------------------------------------------------------------
|
|
238
|
+
:: Get a token for communicating with Azure.
|
|
239
|
+
::
|
|
240
|
+
:: This assumes the build process is running within an EC2 instance. It
|
|
241
|
+
:: will exchange the instance's identity for an Azure AD federated token,
|
|
242
|
+
:: which lets signtool.exe talk to Azure.
|
|
243
|
+
::
|
|
244
|
+
:: The resulting token is good for a period of time, and is considered
|
|
245
|
+
:: sensitive data. It's stored under a non-guessable name in the temp
|
|
246
|
+
:: directory, and should be deleted once done.
|
|
247
|
+
::-------------------------------------------------------------------------
|
|
248
|
+
:GetFederatedToken
|
|
249
|
+
setlocal
|
|
250
|
+
|
|
251
|
+
echo.
|
|
252
|
+
echo == Requesting an Azure federated token via AWS ==
|
|
253
|
+
|
|
254
|
+
call :TrimTrailingSpaces "%AZURE_TENANT_ID%" _tenant_id
|
|
255
|
+
call :TrimTrailingSpaces "%AZURE_CLIENT_ID%" _client_id
|
|
256
|
+
|
|
257
|
+
if "%_tenant_id%" == "" (
|
|
258
|
+
echo AZURE_TENANT_ID must be set.
|
|
259
|
+
exit /B 1
|
|
260
|
+
)
|
|
261
|
+
|
|
262
|
+
if "%_client_id%" == "" (
|
|
263
|
+
echo AZURE_CLIENT_ID must be set.
|
|
264
|
+
exit /B 1
|
|
265
|
+
)
|
|
266
|
+
|
|
267
|
+
where aws >NUL 2>&1
|
|
268
|
+
if %errorlevel% neq 0 (
|
|
269
|
+
echo The AWS CLI ^(aws.exe^) must be installed and on PATH.
|
|
270
|
+
exit /B 1
|
|
271
|
+
)
|
|
272
|
+
|
|
273
|
+
set _token_file=%TEMP%\rbtools-azure-token-%RANDOM%%RANDOM%.jwt
|
|
274
|
+
|
|
275
|
+
aws sts get-web-identity-token ^
|
|
276
|
+
--audience "api://AzureADTokenExchange" ^
|
|
277
|
+
--signing-algorithm RS256 ^
|
|
278
|
+
--duration-seconds 3600 ^
|
|
279
|
+
--query WebIdentityToken ^
|
|
280
|
+
--output text > "%_token_file%"
|
|
281
|
+
|
|
282
|
+
if %errorlevel% neq 0 (
|
|
283
|
+
echo Failed to obtain an AWS web identity token.
|
|
284
|
+
call :DeleteIfExists "%_token_file%"
|
|
285
|
+
exit /B 1
|
|
286
|
+
)
|
|
287
|
+
|
|
288
|
+
endlocal & set "AZURE_FEDERATED_TOKEN_FILE=%_token_file%" & set "AZURE_TENANT_ID=%_tenant_id%" & set "AZURE_CLIENT_ID=%_client_id%"
|
|
289
|
+
exit /B 0
|
|
290
|
+
|
|
291
|
+
|
|
133
292
|
::-------------------------------------------------------------------------
|
|
134
293
|
:: Populates the build directory from dependencies
|
|
135
294
|
::-------------------------------------------------------------------------
|
|
@@ -247,9 +406,14 @@ if ERRORLEVEL 1 exit /B 1
|
|
|
247
406
|
|
|
248
407
|
set _rbtools_version=%_return1%
|
|
249
408
|
|
|
409
|
+
:: Fetch the token as late as possible, so nothing can fail and accidentally
|
|
410
|
+
:: leave it sitting around before we get a chance to clean it up.
|
|
411
|
+
call :GetFederatedToken
|
|
412
|
+
if ERRORLEVEL 1 exit /B 1
|
|
413
|
+
|
|
250
414
|
set _wix_path=%CD%\wix
|
|
251
415
|
set _sln_file=%_wix_path%\rbtools.sln
|
|
252
|
-
set _timestamp_url=http://timestamp.
|
|
416
|
+
set _timestamp_url=http://timestamp.acs.microsoft.com
|
|
253
417
|
|
|
254
418
|
echo.
|
|
255
419
|
echo == Building the RBTools installer [x64] ==
|
|
@@ -261,11 +425,16 @@ echo == Building the RBTools installer [x64] ==
|
|
|
261
425
|
/p:Root="%BUILD_ROOT_X64%" ^
|
|
262
426
|
/p:OutputPath="%BUILD_STAGE%\\" ^
|
|
263
427
|
/p:SourcePath="%_wix_path%" ^
|
|
264
|
-
/p:
|
|
428
|
+
/p:AzureSignDlibPath="%AZURE_SIGN_DLIB_PATH%" ^
|
|
429
|
+
/p:AzureSignMetadataFile="%AZURE_SIGN_METADATA_FILE%" ^
|
|
265
430
|
/p:TimestampUrl=%_timestamp_url% ^
|
|
266
431
|
"%_sln_file%"
|
|
267
432
|
|
|
268
|
-
|
|
433
|
+
set _msbuild_result=%ERRORLEVEL%
|
|
434
|
+
|
|
435
|
+
call :DeleteIfExists "%AZURE_FEDERATED_TOKEN_FILE%"
|
|
436
|
+
|
|
437
|
+
if %_msbuild_result% neq 0 exit /B 1
|
|
269
438
|
|
|
270
439
|
mkdir "%BUILD_DEST%" 2>&1
|
|
271
440
|
dir "%BUILD_STAGE%" /S
|
|
@@ -345,18 +514,19 @@ exit /B 0
|
|
|
345
514
|
::-------------------------------------------------------------------------
|
|
346
515
|
:: Downloads and verifies a file from a URL.
|
|
347
516
|
::-------------------------------------------------------------------------
|
|
348
|
-
:DownloadAndVerify url dest expected_hash
|
|
517
|
+
:DownloadAndVerify url dest algorithm expected_hash
|
|
349
518
|
setlocal
|
|
350
519
|
|
|
351
520
|
set _url=%~1
|
|
352
521
|
set _dest=%~2
|
|
353
|
-
set
|
|
522
|
+
set _algorithm=%~3
|
|
523
|
+
set _expected_hash=%~4
|
|
354
524
|
|
|
355
525
|
if not exist "%_dest%" (
|
|
356
526
|
call :DownloadFile %_url% "%_dest%" || exit /B 1
|
|
357
527
|
)
|
|
358
528
|
|
|
359
|
-
call :
|
|
529
|
+
call :VerifyHash "%_dest%" %_algorithm% %_expected_hash% || exit /B 1
|
|
360
530
|
|
|
361
531
|
exit /B 0
|
|
362
532
|
|
|
@@ -380,21 +550,20 @@ exit /B 0
|
|
|
380
550
|
|
|
381
551
|
|
|
382
552
|
::-------------------------------------------------------------------------
|
|
383
|
-
:: Verifies the
|
|
553
|
+
:: Verifies the checksum of a file against a given hash algorithm.
|
|
384
554
|
::-------------------------------------------------------------------------
|
|
385
|
-
:
|
|
555
|
+
:VerifyHash filename algorithm expected_hash
|
|
386
556
|
setlocal
|
|
387
557
|
|
|
388
558
|
set _filename=%~1
|
|
389
|
-
set
|
|
559
|
+
set _algorithm=%~2
|
|
560
|
+
set _expected_hash=%~3
|
|
390
561
|
|
|
391
|
-
echo Verifying that %_filename% has
|
|
562
|
+
echo Verifying that %_filename% has %_algorithm% hash %_expected_hash%...
|
|
392
563
|
|
|
393
564
|
PowerShell -NoProfile -Command ^
|
|
394
|
-
"$
|
|
395
|
-
"$
|
|
396
|
-
"$hash = [System.BitConverter]::ToString($md5.ComputeHash($file));"^
|
|
397
|
-
"$hash = $hash.toLower().Replace('-', '');"^
|
|
565
|
+
"$hash = (Get-FileHash -Path '%_filename%' -Algorithm %_algorithm%).Hash;"^
|
|
566
|
+
"$hash = $hash.ToLower();"^
|
|
398
567
|
"if ($hash -eq '%_expected_hash%') {"^
|
|
399
568
|
" Write-Host '%_filename% has a valid hash.';"^
|
|
400
569
|
" exit 0;"^
|
|
@@ -408,6 +577,29 @@ echo Hash verified.
|
|
|
408
577
|
exit /B 0
|
|
409
578
|
|
|
410
579
|
|
|
580
|
+
::-------------------------------------------------------------------------
|
|
581
|
+
:: Trims trailing spaces from a value.
|
|
582
|
+
::
|
|
583
|
+
:: This is used with environment variables to strip any trailing spaces.
|
|
584
|
+
:: This can happen pretty easily, since `set A=B && set C=D` will set
|
|
585
|
+
:: `A="B "`, and Azure can't handle this.
|
|
586
|
+
::-------------------------------------------------------------------------
|
|
587
|
+
:TrimTrailingSpaces value varname
|
|
588
|
+
setlocal EnableDelayedExpansion
|
|
589
|
+
|
|
590
|
+
set "_str=%~1"
|
|
591
|
+
|
|
592
|
+
:TrimTrailingSpacesLoop
|
|
593
|
+
|
|
594
|
+
if defined _str if "!_str:~-1!" == " " (
|
|
595
|
+
set "_str=!_str:~0,-1!"
|
|
596
|
+
goto :TrimTrailingSpacesLoop
|
|
597
|
+
)
|
|
598
|
+
|
|
599
|
+
endlocal & set "%~2=%_str%"
|
|
600
|
+
exit /B 0
|
|
601
|
+
|
|
602
|
+
|
|
411
603
|
::-------------------------------------------------------------------------
|
|
412
604
|
:: Deletes a file or directory if it exists.
|
|
413
605
|
::-------------------------------------------------------------------------
|