diff --git a/github3/repos/repo.py b/github3/repos/repo.py
index 68479d83..3659ad60 100644
--- a/github3/repos/repo.py
+++ b/github3/repos/repo.py
@@ -2352,11 +2352,13 @@ class _Repository(models.GitHubCore):
         json = self._json(self._get(url, headers=self.PREVIEW_HEADERS), 200)
         return self._instance_or_null(topics.Topics, json)
 
-    def tree(self, sha):
+    def tree(self, sha, recursive=False):
         """Get a tree.
 
         :param str sha:
             (required), sha of the object for this tree
+        :param bool recursive:
+            (optional), whether to fetch the tree recursively
         :returns:
             the tree
         :rtype:
@@ -2365,7 +2367,8 @@ class _Repository(models.GitHubCore):
         json = None
         if sha:
             url = self._build_url('git', 'trees', sha, base_url=self._api)
-            json = self._json(self._get(url), 200)
+            params = {'recursive': 1} if recursive else None
+            json = self._json(self._get(url, params=params), 200)
         return self._instance_or_null(git.Tree, json)
 
     def weekly_commit_count(self):

Add recursive option to `repository.tree(sha, recursive=False)`
# Overview

GitHub Tree API allow to get tree recursively - https://developer.github.com/v3/git/trees/#get-a-tree-recursively

# Ideas

It should be pretty simple for now it works even like this (a hack):
```python
repository.tree('sha?recursive=1')
```


<bountysource-plugin>
---
Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/39848100-add-recursive-option-to-repository-tree-sha-recursive-false?utm_campaign=plugin&utm_content=tracker%2F183477&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F183477&utm_medium=issues&utm_source=github).
</bountysource-plugin>
diff --git a/tests/cassettes/Repository_tree_recursive.json b/tests/cassettes/Repository_tree_recursive.json
new file mode 100644
index 00000000..a839f788
--- /dev/null
+++ b/tests/cassettes/Repository_tree_recursive.json
@@ -0,0 +1,1 @@
+{"http_interactions": [{"request": {"body": {"string": "", "encoding": "utf-8"}, "headers": {"Accept-Encoding": ["gzip, deflate"], "Accept": ["application/vnd.github.v3.full+json"], "User-Agent": ["github3.py/1.1.0"], "Accept-Charset": ["utf-8"], "Connection": ["keep-alive"], "Content-Type": ["application/json"]}, "method": "GET", "uri": "https://api.github.com/repos/sigmavirus24/github3.py"}, "response": {"body": {"string": "", "base64_string": "H4sIAAAAAAAAA62YXW/iOBSG/0qUm7lYSoD0gyJVs5Wm6nSlzszOdndHvUEmMcStE0e2AwNR//u+tgMEpIG23ou2kPo8fn3sc3KO65Cl4Si+6Pcu+v1OWIiUjs2T8P7TzeIr/4Mnt5cr8uP7PCmeV19WNwv8/AwxkOQUo2ZMZ9Uk7pZLPJtWnI+bfyg2y8mcyUoNTqOdUWJRUBmO6pCLGSvAaA8Fxcw+OO0N496unD/P//nxhSdPd737T7PV/fXVFQaTOdFEjivJAcq0LtUoitxDFXfdvJWiMhGFpoXuJiKPqsjhP86vToGYyQZil40He7CSNRxnDJiK9iRnOud7GtzU1mRv8FRwLhag7Ks+NlG0sTS+thRWzN5JgWUdCZ1ROA9LejGOYEq/XZS1qrHFSuPgGI7CjkiavllYYwdZ5oS81JGkpbDAaqISyUrNRPF2gTvWoAk5IwVbkffRYK0AMdLeLsVawZrOcRbfbu7M6qiUbE6SpXGNpAllczj7ncg9exD1sjSB/TcOhXE903RM0twE6pRwRV86oZ1eY5B90EHYvfb07yaClG52FRN+Zp3g7kMekICziSRyGUyFDBjCVpJE47gGC+Sa4PZOf64mH1Tw/eavh+D62x2GwAbxDZ8yuDUgRRpQOROFyFkSLMiyG9wFCyGfA1EE35Y6w59B96ITxN1T8+usY03i7jnWizmfNws7mAjsXu7E9u7qDOnIFh9EINoBgKRnuvTiGPs6wu8mPBNkDjIRkmhxLAcdFrgDqqP2V3M0NSW5l3ALACgTws+TFgAQU6qir4qUwwu3HBWtw7Go8onLoK8JwsNoR4BWovDaKCj18uAGUkfrJI/QKpLMD7tm1JH7ZHebzLykGntgJlxMvDh470YWUkcqI+61pse+6gzVMHagkk69pRrGBqql535bmQayQeKdqrH1XjrXjKhuPMpJMavIzI+6gWDXzZt/RlZHa6LDsbOlAGkKPskmlX+S23KMUleKIN79XLrFbKG2vjlcNR1xQKtOsi7Ic3aszDhMbBA7x/5/wJpzuo82349XRcflGkYdbXOyS/oN3ce7TdZf62zP0XQXXkdizYjq30qiM5O5MFVJJPUR3SCiekJQu3W73TqjxFbpOWokvwh2BKCITDIUoT466zUDVU9OtC3+p0ZmimaAC5J6+XYDAdBto49WR2jvf4nG10ugBbSJOeNUaVF47tCG0mYXQrMpS17TAB0Otx1Q/VGxIqEdwnkHp1azhOEco243u4iCk/p5yBGwDNw7uMaHUxxpL69L6hh15BrXlJZcLL2zUAtjglhSNEvpmGg0OYNef3DSi0/68UP/cnQ2HJ3FjxhTlenOmOFJ78KMGfRGp/EoPjdjykplLcx6SL8/iofNEKTV5lzjE+5BfnEH0epTzM0G2EplW8Pft2ajX9ziNGYJxwHdi6TXzznff9cdN4XUTOS0RO3Ruu5xdnEXjk5xoZGKRHWZMMtiK4w7G/R7uEpq1RiJqArsxrB31gkXRKMcxtu8/XBdm2AS1zCaiYkau8gPR1pWpu/Fk1KKJ5po1X62zTatgQv2zLYds7E0BdTmiesWGw2DyyHyM5NSNDdbBdLDJs3ilqppvEVJi0bTWv4F7vA4S2ihsPLa9I5Yg73mwRKaq7mvzVdVpj/tXZ/D227XfWzfAibnD7f86fHfs9Xjw/VViP7fNaYjq7IlIRyZydf+bNyb0impuB67RgFaUnQ4XJRGDdWmK18rt7h2edU4I45f/gNOlGsFpBQAAA==", "encoding": "utf-8"}, "headers": {"X-XSS-Protection": ["1; mode=block"], "Content-Security-Policy": ["default-src 'none'"], "Access-Control-Expose-Headers": ["ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval"], "Transfer-Encoding": ["chunked"], "Last-Modified": ["Fri, 13 Jul 2018 20:43:36 GMT"], "Access-Control-Allow-Origin": ["*"], "X-Frame-Options": ["deny"], "Status": ["200 OK"], "X-GitHub-Request-Id": ["E1EC:7DB5:6324ACB:D9BA5FB:5B491D6D"], "ETag": ["W/\"67946538aee98117443868c5d535c21d\""], "Date": ["Fri, 13 Jul 2018 21:45:17 GMT"], "X-RateLimit-Remaining": ["50"], "Strict-Transport-Security": ["max-age=31536000; includeSubdomains; preload"], "Server": ["GitHub.com"], "X-GitHub-Media-Type": ["github.v3; param=full; format=json"], "X-Content-Type-Options": ["nosniff"], "Content-Encoding": ["gzip"], "X-Runtime-rack": ["0.058705"], "Vary": ["Accept"], "X-RateLimit-Limit": ["60"], "Cache-Control": ["public, max-age=60, s-maxage=60"], "Referrer-Policy": ["origin-when-cross-origin, strict-origin-when-cross-origin"], "Content-Type": ["application/json; charset=utf-8"], "X-RateLimit-Reset": ["1531519836"]}, "status": {"message": "OK", "code": 200}, "url": "https://api.github.com/repos/sigmavirus24/github3.py"}, "recorded_at": "2018-07-13T21:45:17"}, {"request": {"body": {"string": "", "encoding": "utf-8"}, "headers": {"Accept-Encoding": ["gzip, deflate"], "Accept": ["application/vnd.github.v3.full+json"], "User-Agent": ["github3.py/1.1.0"], "Accept-Charset": ["utf-8"], "Connection": ["keep-alive"], "Content-Type": ["application/json"]}, "method": "GET", "uri": "https://api.github.com/repos/sigmavirus24/github3.py/git/trees/52a3f30e05cf434285e775979f01f1a8355049a7?recursive=1"}, "response": {"body": {"string": "", "base64_string": "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", "encoding": "utf-8"}, "headers": {"X-XSS-Protection": ["1; mode=block"], "Content-Security-Policy": ["default-src 'none'"], "Access-Control-Expose-Headers": ["ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval"], "Transfer-Encoding": ["chunked"], "Last-Modified": ["Fri, 13 Jul 2018 20:43:36 GMT"], "Access-Control-Allow-Origin": ["*"], "X-Frame-Options": ["deny"], "Status": ["200 OK"], "X-GitHub-Request-Id": ["E1EC:7DB5:6324AD0:D9BA611:5B491D6D"], "ETag": ["W/\"a533bd9d3c8208fc3fbb2893cd6f3be8\""], "Date": ["Fri, 13 Jul 2018 21:45:17 GMT"], "X-RateLimit-Remaining": ["47"], "Strict-Transport-Security": ["max-age=31536000; includeSubdomains; preload"], "Server": ["GitHub.com"], "X-GitHub-Media-Type": ["github.v3; param=full; format=json"], "X-Content-Type-Options": ["nosniff"], "Content-Encoding": ["gzip"], "X-Runtime-rack": ["0.050961"], "Vary": ["Accept"], "X-RateLimit-Limit": ["60"], "Cache-Control": ["public, max-age=60, s-maxage=60"], "Referrer-Policy": ["origin-when-cross-origin, strict-origin-when-cross-origin"], "Content-Type": ["application/json; charset=utf-8"], "X-RateLimit-Reset": ["1531519836"]}, "status": {"message": "OK", "code": 200}, "url": "https://api.github.com/repos/sigmavirus24/github3.py/git/trees/52a3f30e05cf434285e775979f01f1a8355049a7?recursive=1"}, "recorded_at": "2018-07-13T21:45:17"}], "recorded_with": "betamax/0.8.1"}
\ No newline at end of file
diff --git a/tests/integration/test_repos_repo.py b/tests/integration/test_repos_repo.py
index dce6785b..8d924b8e 100644
--- a/tests/integration/test_repos_repo.py
+++ b/tests/integration/test_repos_repo.py
@@ -1280,6 +1280,18 @@ class TestRepository(helper.IntegrationHelper):
             tree = repository.tree('52a3f30e05cf434285e775979f01f1a8355049a7')
 
         assert isinstance(tree, github3.git.Tree)
+        assert len(tree.tree) == 18
+
+    def test_tree_recursive(self):
+        """Test the ability to retrieve a tree recursively."""
+        cassette_name = self.cassette_name('tree_recursive')
+        with self.recorder.use_cassette(cassette_name):
+            repository = self.gh.repository('sigmavirus24', 'github3.py')
+            tree = repository.tree(
+                '52a3f30e05cf434285e775979f01f1a8355049a7', recursive=True)
+
+        assert isinstance(tree, github3.git.Tree)
+        assert len(tree.tree) == 275
 
     def test_weekly_commit_count(self):
         """
diff --git a/tests/unit/test_repos_repo.py b/tests/unit/test_repos_repo.py
index 1152bfc1..b0e60aca 100644
--- a/tests/unit/test_repos_repo.py
+++ b/tests/unit/test_repos_repo.py
@@ -1024,7 +1024,8 @@ class TestRepository(helper.UnitHelper):
         self.instance.tree('fake-sha')
 
         self.session.get.assert_called_once_with(
-            url_for('git/trees/fake-sha')
+            url_for('git/trees/fake-sha'),
+            params=None
         )
 
     def test_tree_required_sha(self):
@@ -1033,6 +1034,15 @@ class TestRepository(helper.UnitHelper):
 
         assert self.session.get.called is False
 
+    def test_tree_optional_recursive(self):
+        """Verify the request for recursively retrieving a tree."""
+        self.instance.tree('fake-sha', recursive=True)
+
+        self.session.get.assert_called_once_with(
+            url_for('git/trees/fake-sha'),
+            params={'recursive': 1}
+        )
+
     def test_str(self):
         """Verify instance string is formatted correctly."""
         owner = self.instance.owner

pip install -e .[test]
parse_log_pytest
requirements.txt
pytest pytest-xdist betamax betamax_matchers
apt-get update apt-get install -y gcc
3.6
dev-requirements.txt
pytest --no-header -rA --tb=line --color=no -p no:cacheprovider -W ignore::DeprecationWarning
attrs==22.2.0
betamax==0.8.1
betamax-matchers==0.4.0
certifi==2021.5.30
charset-normalizer==2.0.12
distlib==0.3.9
execnet==1.9.0
filelock==3.4.1
-e git+https://github.com/sigmavirus24/github3.py.git@bb40e7e89441f9d2c084e4a26fb4a2a9a0a4c305#egg=github3.py
idna==3.10
importlib-metadata==4.8.3
importlib-resources==5.4.0
iniconfig==1.1.1
mock==1.0.1
packaging==21.3
platformdirs==2.4.0
pluggy==1.0.0
py==1.11.0
pyparsing==3.1.4
pytest==7.0.1
pytest-xdist==3.0.2
python-dateutil==2.9.0.post0
requests==2.27.1
requests-toolbelt==1.0.0
six==1.17.0
swebench-matterhorn @ file:///swebench_matterhorn
toml==0.10.2
tomli==1.2.3
tox==3.28.0
typing_extensions==4.1.1
uritemplate==4.1.1
urllib3==1.26.20
virtualenv==20.17.1
zipp==3.6.0

name: github3.py
channels:
  - defaults
  - https://repo.anaconda.com/pkgs/main
  - https://repo.anaconda.com/pkgs/r
  - conda-forge
dependencies:
  - _libgcc_mutex=0.1=main
  - _openmp_mutex=5.1=1_gnu
  - ca-certificates=2025.2.25=h06a4308_0
  - certifi=2021.5.30=py36h06a4308_0
  - ld_impl_linux-64=2.40=h12ee557_0
  - libffi=3.3=he6710b0_2
  - libgcc-ng=11.2.0=h1234567_1
  - libgomp=11.2.0=h1234567_1
  - libstdcxx-ng=11.2.0=h1234567_1
  - ncurses=6.4=h6a678d5_0
  - openssl=1.1.1w=h7f8727e_0
  - pip=21.2.2=py36h06a4308_0
  - python=3.6.13=h12debd9_1
  - readline=8.2=h5eee18b_0
  - setuptools=58.0.4=py36h06a4308_0
  - sqlite=3.45.3=h5eee18b_0
  - tk=8.6.14=h39e8969_0
  - xz=5.6.4=h5eee18b_1
  - zlib=1.2.13=h5eee18b_1
  - pip:
      - attrs==22.2.0
      - betamax==0.8.1
      - betamax-matchers==0.4.0
      - charset-normalizer==2.0.12
      - distlib==0.3.9
      - execnet==1.9.0
      - filelock==3.4.1
      - idna==3.10
      - importlib-metadata==4.8.3
      - importlib-resources==5.4.0
      - iniconfig==1.1.1
      - mock==1.0.1
      - packaging==21.3
      - platformdirs==2.4.0
      - pluggy==1.0.0
      - py==1.11.0
      - pyparsing==3.1.4
      - pytest==7.0.1
      - pytest-xdist==3.0.2
      - python-dateutil==2.9.0.post0
      - requests==2.27.1
      - requests-toolbelt==1.0.0
      - six==1.17.0
      - swebench-matterhorn==0.0.0
      - toml==0.10.2
      - tomli==1.2.3
      - tox==3.28.0
      - typing-extensions==4.1.1
      - uritemplate==4.1.1
      - urllib3==1.26.20
      - virtualenv==20.17.1
      - wheel==0.21.0
      - zipp==3.6.0
prefix: /opt/conda/envs/github3.py

tests/integration/test_repos_repo.py::TestRepository::test_tree_recursive tests/unit/test_repos_repo.py::TestRepository::test_tree tests/unit/test_repos_repo.py::TestRepository::test_tree_optional_recursive
tests/integration/test_repos_repo.py::TestRepository::test_add_collaborator tests/integration/test_repos_repo.py::TestRepository::test_archive_a_repository tests/integration/test_repos_repo.py::TestRepository::test_create_deployment tests/integration/test_repos_repo.py::TestRepository::test_assignees tests/integration/test_repos_repo.py::TestRepository::test_delete_subscription tests/integration/test_repos_repo.py::TestRepository::test_issue_events tests/integration/test_repos_repo.py::TestRepository::test_deployment tests/integration/test_repos_repo.py::TestRepository::test_deployments tests/integration/test_repos_repo.py::TestRepository::test_blob tests/integration/test_repos_repo.py::TestRepository::test_issue_with_multiple_assignees tests/integration/test_repos_repo.py::TestRepository::test_branch tests/integration/test_repos_repo.py::TestRepository::test_directory_contents tests/integration/test_repos_repo.py::TestRepository::test_create_empty_blob tests/integration/test_repos_repo.py::TestRepository::test_branches tests/integration/test_repos_repo.py::TestRepository::test_directory_contents_for_a_file tests/integration/test_repos_repo.py::TestRepository::test_create_file tests/integration/test_repos_repo.py::TestRepository::test_code_frequency tests/integration/test_repos_repo.py::TestRepository::test_collaborators tests/integration/test_repos_repo.py::TestRepository::test_edit tests/integration/test_repos_repo.py::TestRepository::test_create_fork tests/integration/test_repos_repo.py::TestRepository::test_create_hook tests/integration/test_repos_repo.py::TestRepository::test_comments tests/integration/test_repos_repo.py::TestRepository::test_create_issue tests/integration/test_repos_repo.py::TestRepository::test_commit_activity tests/integration/test_repos_repo.py::TestRepository::test_commit_comment tests/integration/test_repos_repo.py::TestRepository::test_commits tests/integration/test_repos_repo.py::TestRepository::test_events tests/integration/test_repos_repo.py::TestRepository::test_create_issue_both_assignee_and_assignees tests/integration/test_repos_repo.py::TestRepository::test_compare_commits tests/integration/test_repos_repo.py::TestRepository::test_file_contents tests/integration/test_repos_repo.py::TestRepository::test_create_issue_multiple_assignees tests/integration/test_repos_repo.py::TestRepository::test_create_key tests/integration/test_repos_repo.py::TestRepository::test_create_label tests/integration/test_repos_repo.py::TestRepository::test_issues_accepts_state_all tests/integration/test_repos_repo.py::TestRepository::test_create_milestone tests/integration/test_repos_repo.py::TestRepository::test_issues_sorts_ascendingly tests/integration/test_repos_repo.py::TestRepository::test_key tests/integration/test_repos_repo.py::TestRepository::test_create_project tests/integration/test_repos_repo.py::TestRepository::test_keys tests/integration/test_repos_repo.py::TestRepository::test_label tests/integration/test_repos_repo.py::TestRepository::test_create_pull tests/integration/test_repos_repo.py::TestRepository::test_labels tests/integration/test_repos_repo.py::TestRepository::test_create_pull_from_issue tests/integration/test_repos_repo.py::TestRepository::test_create_ref tests/integration/test_repos_repo.py::TestRepository::test_languages tests/integration/test_repos_repo.py::TestRepository::test_create_release tests/integration/test_repos_repo.py::TestRepository::test_contributor_statistics tests/integration/test_repos_repo.py::TestRepository::test_forks tests/integration/test_repos_repo.py::TestRepository::test_latest_release tests/integration/test_repos_repo.py::TestRepository::test_create_status tests/integration/test_repos_repo.py::TestRepository::test_license tests/integration/test_repos_repo.py::TestRepository::test_create_tag tests/integration/test_repos_repo.py::TestRepository::test_mark_notifications tests/integration/test_repos_repo.py::TestRepository::test_delete tests/integration/test_repos_repo.py::TestRepository::test_contributors tests/integration/test_repos_repo.py::TestRepository::test_git_commit tests/integration/test_repos_repo.py::TestRepository::test_merge tests/integration/test_repos_repo.py::TestRepository::test_delete_key tests/integration/test_repos_repo.py::TestRepository::test_milestone tests/integration/test_repos_repo.py::TestRepository::test_create_blob tests/integration/test_repos_repo.py::TestRepository::test_create_branch_ref tests/integration/test_repos_repo.py::TestRepository::test_milestones tests/integration/test_repos_repo.py::TestRepository::test_create_comment tests/integration/test_repos_repo.py::TestRepository::test_subscribers tests/integration/test_repos_repo.py::TestRepository::test_hook tests/integration/test_repos_repo.py::TestRepository::test_subscription tests/integration/test_repos_repo.py::TestRepository::test_hooks tests/integration/test_repos_repo.py::TestRepository::test_create_commit tests/integration/test_repos_repo.py::TestRepository::test_create_commit_with_empty_committer tests/integration/test_repos_repo.py::TestRepository::test_ignore tests/integration/test_repos_repo.py::TestRepository::test_protected_branches tests/integration/test_repos_repo.py::TestRepository::test_pull_request tests/integration/test_repos_repo.py::TestRepository::test_tag tests/integration/test_repos_repo.py::TestRepository::test_import_issue tests/integration/test_repos_repo.py::TestRepository::test_tags tests/integration/test_repos_repo.py::TestRepository::test_import_issue_with_comments tests/integration/test_repos_repo.py::TestRepository::test_teams tests/integration/test_repos_repo.py::TestRepository::test_topics tests/integration/test_repos_repo.py::TestRepository::test_imported_issue tests/integration/test_repos_repo.py::TestRepository::test_pull_requests tests/integration/test_repos_repo.py::TestRepository::test_tree tests/integration/test_repos_repo.py::TestRepository::test_pull_requests_accepts_sort_and_direction tests/integration/test_repos_repo.py::TestRepository::test_imported_issues tests/integration/test_repos_repo.py::TestRepository::test_is_assignee tests/integration/test_repos_repo.py::TestRepository::test_is_collaborator tests/integration/test_repos_repo.py::TestRepository::test_readme tests/integration/test_repos_repo.py::TestRepository::test_issue tests/integration/test_repos_repo.py::TestRepository::test_ref tests/integration/test_repos_repo.py::TestRepository::test_weekly_commit_count tests/integration/test_repos_repo.py::TestRepoComment::test_delete tests/integration/test_repos_repo.py::TestContents::test_delete tests/integration/test_repos_repo.py::TestRepoComment::test_edit tests/integration/test_repos_repo.py::TestRepository::test_network_events tests/integration/test_repos_repo.py::TestRepoCommit::test_diff tests/integration/test_repos_repo.py::TestRepository::test_notifications tests/integration/test_repos_repo.py::TestContents::test_update tests/integration/test_repos_repo.py::TestRepository::test_original_license tests/integration/test_repos_repo.py::TestRepoCommit::test_patch tests/integration/test_repos_repo.py::TestHook::test_delete tests/integration/test_repos_repo.py::TestRepository::test_refs tests/integration/test_repos_repo.py::TestRepository::test_refs_raises_unprocessable_exception tests/integration/test_repos_repo.py::TestHook::test_edit tests/integration/test_repos_repo.py::TestRepository::test_release tests/integration/test_repos_repo.py::TestRepository::test_project tests/integration/test_repos_repo.py::TestRepository::test_release_from_tag tests/integration/test_repos_repo.py::TestHook::test_ping tests/integration/test_repos_repo.py::TestRepository::test_releases tests/integration/test_repos_repo.py::TestRepository::test_projects tests/integration/test_repos_repo.py::TestHook::test_test tests/integration/test_repos_repo.py::TestRepository::test_remove_collaborator tests/integration/test_repos_repo.py::TestRepository::test_replace_topics tests/unit/test_repos_repo.py::TestRepository::test_create_label tests/unit/test_repos_repo.py::TestRepository::test_create_fork_to_organization tests/unit/test_repos_repo.py::TestRepository::test_create_label_required_color tests/integration/test_repos_repo.py::TestRepository::test_stargazers tests/unit/test_repos_repo.py::TestRepository::test_create_hook tests/integration/test_repos_repo.py::TestRepository::test_statuses tests/unit/test_repos_repo.py::TestRepository::test_create_label_required_name tests/integration/test_repos_repo.py::TestRepository::test_subscribe tests/unit/test_repos_repo.py::TestRepository::test_create_hook_requires_valid_config tests/unit/test_repos_repo.py::TestRepository::test_create_hook_requires_valid_name tests/unit/test_repos_repo.py::TestRepository::test_create_ref_requires_a_non_None_sha tests/unit/test_repos_repo.py::TestRepository::test_create_label_required_name_and_color tests/unit/test_repos_repo.py::TestRepository::test_create_hook_requires_valid_name_and_config tests/unit/test_repos_repo.py::TestRepository::test_create_ref_requires_a_reference_start_with_refs tests/unit/test_repos_repo.py::TestRepository::test_create_milestone tests/unit/test_repos_repo.py::TestRepository::test_create_issue tests/unit/test_repos_repo.py::TestRepository::test_create_ref_requires_a_reference_with_two_slashes tests/unit/test_repos_repo.py::TestRepository::test_create_milestone_accepted_state tests/unit/test_repos_repo.py::TestRepository::test_create_ref_requires_a_truthy_sha tests/unit/test_repos_repo.py::TestRepository::test_create_project tests/unit/test_repos_repo.py::TestRepository::test_create_issue_multiple_assignees tests/unit/test_repos_repo.py::TestRepository::test_create_status tests/unit/test_repos_repo.py::TestRepository::test_create_pull tests/unit/test_repos_repo.py::TestRepository::test_create_status_required_sha tests/unit/test_repos_repo.py::TestRepository::test_create_pull_from_issue tests/unit/test_repos_repo.py::TestRepository::test_create_issue_require_valid_issue tests/unit/test_repos_repo.py::TestRepository::test_create_status_required_sha_and_state tests/unit/test_repos_repo.py::TestRepository::test_create_pull_from_issue_required_issue_number tests/unit/test_repos_repo.py::TestRepository::test_create_key tests/unit/test_repos_repo.py::TestRepository::test_create_pull_private tests/unit/test_repos_repo.py::TestRepository::test_create_status_required_state tests/unit/test_repos_repo.py::TestRepository::test_create_key_readonly tests/unit/test_repos_repo.py::TestRepository::test_create_tag_that_is_not_lightweight tests/integration/test_repos_repo.py::TestComparison::test_diff tests/unit/test_repos_repo.py::TestRepository::test_create_pull_private_required_data tests/unit/test_repos_repo.py::TestRepository::test_create_key_requires_a_valid_key tests/unit/test_repos_repo.py::TestRepository::test_create_tree tests/unit/test_repos_repo.py::TestRepository::test_create_key_requires_a_valid_title tests/unit/test_repos_repo.py::TestRepository::test_create_tree_rejects_invalid_trees tests/unit/test_repos_repo.py::TestRepository::test_create_ref tests/unit/test_repos_repo.py::TestRepository::test_create_key_requires_a_valid_title_and_key tests/unit/test_repos_repo.py::TestRepository::test_git_commit_required_sha tests/unit/test_repos_repo.py::TestRepository::test_create_tree_with_base_tree tests/unit/test_repos_repo.py::TestRepository::test_delete_key tests/unit/test_repos_repo.py::TestRepository::test_hook tests/unit/test_repos_repo.py::TestRepository::test_delete_key_required_id tests/unit/test_repos_repo.py::TestRepository::test_delete tests/unit/test_repos_repo.py::TestRepository::test_issue_required_number tests/unit/test_repos_repo.py::TestRepository::test_delete_subscription tests/unit/test_repos_repo.py::TestRepository::test_hook_required_hook tests/unit/test_repos_repo.py::TestRepository::test_deployment tests/unit/test_repos_repo.py::TestRepository::test_key tests/unit/test_repos_repo.py::TestRepository::test_import_issue tests/unit/test_repos_repo.py::TestRepository::test_deployment_requires_positive_int tests/unit/test_repos_repo.py::TestRepository::test_key_requires_positive_id tests/unit/test_repos_repo.py::TestRepository::test_imported_issue tests/unit/test_repos_repo.py::TestRepository::test_label tests/unit/test_repos_repo.py::TestRepository::test_directory_contents tests/unit/test_repos_repo.py::TestRepository::test_label_required_name tests/unit/test_repos_repo.py::TestRepository::test_is_assignee tests/unit/test_repos_repo.py::TestRepository::test_directory_contents_with_ref tests/unit/test_repos_repo.py::TestRepository::test_latest_pages_build tests/unit/test_repos_repo.py::TestRepository::test_edit tests/unit/test_repos_repo.py::TestRepository::test_is_assignee_required_username tests/unit/test_repos_repo.py::TestRepository::test_edit_required_name tests/unit/test_repos_repo.py::TestRepository::test_is_collaborator tests/unit/test_repos_repo.py::TestRepository::test_latest_release tests/unit/test_repos_repo.py::TestRepository::test_file_contents tests/unit/test_repos_repo.py::TestRepository::test_mark_notifications tests/unit/test_repos_repo.py::TestRepository::test_is_collaborator_required_username tests/unit/test_repos_repo.py::TestRepository::test_git_commit tests/unit/test_repos_repo.py::TestRepository::test_issue tests/unit/test_repos_repo.py::TestRepository::test_mark_notifications_required_last_read tests/unit/test_repos_repo.py::TestRepository::test_readme tests/unit/test_repos_repo.py::TestRepository::test_merge_no_message tests/unit/test_repos_repo.py::TestRepository::test_merge tests/unit/test_repos_repo.py::TestRepository::test_ref tests/unit/test_repos_repo.py::TestRepository::test_milestone tests/unit/test_repos_repo.py::TestRepository::test_ref_required_ref tests/unit/test_repos_repo.py::TestRepository::test_str tests/unit/test_repos_repo.py::TestRepository::test_milestone_requires_positive_id tests/unit/test_repos_repo.py::TestRepository::test_release_from_tag tests/unit/test_repos_repo.py::TestRepository::test_subscription tests/unit/test_repos_repo.py::TestRepository::test_pages tests/unit/test_repos_repo.py::TestRepository::test_remove_collaborator tests/unit/test_repos_repo.py::TestRepository::test_parent tests/unit/test_repos_repo.py::TestRepository::test_tag tests/unit/test_repos_repo.py::TestRepository::test_remove_collaborator_required_username tests/unit/test_repos_repo.py::TestRepository::test_permission tests/unit/test_repos_repo.py::TestRepository::test_tag_required_sha tests/unit/test_repos_repo.py::TestRepository::test_replace_topics tests/unit/test_repos_repo.py::TestRepository::test_topics tests/unit/test_repos_repo.py::TestRepository::test_project tests/unit/test_repos_repo.py::TestRepository::test_source tests/unit/test_repos_repo.py::TestRepository::test_pull_request tests/unit/test_repos_repo.py::TestRepository::test_pull_request_required_number tests/integration/test_repos_repo.py::TestComparison::test_patch tests/unit/test_repos_repo.py::TestRepository::test_weekly_commit_count tests/unit/test_repos_repo.py::TestRepositoryIterator::test_collaborators_valid_affiliation tests/unit/test_repos_repo.py::TestRepository::test_tree_required_sha tests/unit/test_repos_repo.py::TestRepositoryIterator::test_assignees tests/unit/test_repos_repo.py::TestRepositoryIterator::test_comments tests/unit/test_repos_repo.py::TestRepositoryIterator::test_contributor_statistics tests/unit/test_repos_repo.py::TestRepository::test_add_collaborator tests/unit/test_repos_repo.py::TestRepositoryIterator::test_branches tests/unit/test_repos_repo.py::TestRepositoryIterator::test_commit_activity tests/unit/test_repos_repo.py::TestRepositoryIterator::test_branches_protected tests/unit/test_repos_repo.py::TestRepositoryIterator::test_contributors tests/unit/test_repos_repo.py::TestRepository::test_add_null_collaborator tests/unit/test_repos_repo.py::TestRepositoryIterator::test_commits tests/unit/test_repos_repo.py::TestRepositoryIterator::test_code_frequency tests/unit/test_repos_repo.py::TestRepositoryIterator::test_contributors_with_anon tests/unit/test_repos_repo.py::TestRepository::test_asset tests/unit/test_repos_repo.py::TestRepositoryIterator::test_collaborators tests/unit/test_repos_repo.py::TestRepositoryIterator::test_commits_per_page tests/unit/test_repos_repo.py::TestRepository::test_asset_requires_a_positive_id tests/unit/test_repos_repo.py::TestRepositoryIterator::test_deployments tests/unit/test_repos_repo.py::TestRepositoryIterator::test_events tests/unit/test_repos_repo.py::TestRepositoryIterator::test_collaborators_invalid_affiliation tests/unit/test_repos_repo.py::TestRepository::test_create_branch_ref tests/unit/test_repos_repo.py::TestRepositoryIterator::test_commits_sha_path tests/unit/test_repos_repo.py::TestRepository::test_create_file tests/unit/test_repos_repo.py::TestRepositoryIterator::test_milestones tests/unit/test_repos_repo.py::TestRepositoryIterator::test_forks tests/unit/test_repos_repo.py::TestRepositoryIterator::test_commits_since_until_datetime tests/unit/test_repos_repo.py::TestRepository::test_create_file_required_content tests/unit/test_repos_repo.py::TestRepositoryIterator::test_hooks tests/unit/test_repos_repo.py::TestRepositoryIterator::test_network_events tests/unit/test_repos_repo.py::TestRepositoryIterator::test_imported_issues tests/unit/test_repos_repo.py::TestRepositoryIterator::test_pull_requests_ignore_invalid_state tests/unit/test_repos_repo.py::TestRepository::test_create_fork tests/unit/test_repos_repo.py::TestRepositoryIterator::test_notifications tests/unit/test_repos_repo.py::TestRepositoryIterator::test_issue_events tests/unit/test_repos_repo.py::TestRepositoryIterator::test_refs tests/unit/test_repos_repo.py::TestRepositoryIterator::test_pages_builds tests/unit/test_repos_repo.py::TestRepositoryIterator::test_issues tests/unit/test_repos_repo.py::TestRepositoryIterator::test_statuses tests/unit/test_repos_repo.py::TestRepositoryIterator::test_refs_with_a_subspace tests/unit/test_repos_repo.py::TestRepositoryIterator::test_projects tests/unit/test_repos_repo.py::TestRepositoryIterator::test_keys tests/unit/test_repos_repo.py::TestRepositoryIterator::test_statuses_requires_a_sha tests/unit/test_repos_repo.py::TestRepositoryIterator::test_releases tests/unit/test_repos_repo.py::TestRepositoryIterator::test_pull_requests tests/unit/test_repos_repo.py::TestRepositoryIterator::test_subscribers tests/unit/test_repos_repo.py::TestRepositoryIterator::test_stargazers tests/unit/test_repos_repo.py::TestRepositoryIterator::test_labels tests/unit/test_repos_repo.py::TestRepositoryRequiresAuth::test_add_collaborator tests/unit/test_repos_repo.py::TestRepositoryRequiresAuth::test_create_key tests/unit/test_repos_repo.py::TestRepositoryRequiresAuth::test_create_file tests/unit/test_repos_repo.py::TestRepositoryIterator::test_tags tests/unit/test_repos_repo.py::TestRepositoryIterator::test_languages tests/unit/test_repos_repo.py::TestRepositoryRequiresAuth::test_create_fork tests/unit/test_repos_repo.py::TestRepositoryIterator::test_teams tests/unit/test_repos_repo.py::TestRepositoryRequiresAuth::test_create_ref tests/unit/test_repos_repo.py::TestRepositoryRequiresAuth::test_create_project tests/unit/test_repos_repo.py::TestRepositoryRequiresAuth::test_create_hook tests/unit/test_repos_repo.py::TestRepositoryRequiresAuth::test_edit tests/unit/test_repos_repo.py::TestRepositoryRequiresAuth::test_create_status tests/unit/test_repos_repo.py::TestRepositoryRequiresAuth::test_create_pull tests/unit/test_repos_repo.py::TestRepositoryRequiresAuth::test_create_issue tests/unit/test_repos_repo.py::TestRepositoryRequiresAuth::test_create_pull_from_issue tests/unit/test_repos_repo.py::TestRepositoryRequiresAuth::test_delete_key tests/unit/test_repos_repo.py::TestRepositoryRequiresAuth::test_imported_issue tests/unit/test_repos_repo.py::TestRepositoryRequiresAuth::test_hook tests/unit/test_repos_repo.py::TestRepositoryRequiresAuth::test_keys tests/unit/test_repos_repo.py::TestRepositoryRequiresAuth::test_imported_issues tests/unit/test_repos_repo.py::TestRepositoryRequiresAuth::test_hooks tests/unit/test_repos_repo.py::TestRepositoryRequiresAuth::test_delete_subscription tests/unit/test_repos_repo.py::TestRepositoryRequiresAuth::test_import_issue tests/unit/test_repos_repo.py::TestRepositoryRequiresAuth::test_is_collaborator tests/unit/test_repos_repo.py::TestRepositoryRequiresAuth::test_mark_notifications tests/unit/test_repos_repo.py::TestRepositoryRequiresAuth::test_notifications tests/unit/test_repos_repo.py::TestRepositoryRequiresAuth::test_key tests/unit/test_repos_repo.py::TestRepositoryRequiresAuth::test_replace_topics tests/unit/test_repos_repo.py::TestRepositoryRequiresAuth::test_merge tests/unit/test_repos_repo.py::TestRepositoryRequiresAuth::test_pages_builds tests/unit/test_repos_repo.py::TestRepositoryRequiresAuth::test_subscription tests/unit/test_repos_repo.py::TestContents::test_html_url tests/unit/test_repos_repo.py::TestContents::test_delete tests/unit/test_repos_repo.py::TestRepositoryRequiresAuth::test_remove_collaborator tests/unit/test_repos_repo.py::TestContents::test_str tests/unit/test_repos_repo.py::TestRepositoryRequiresAuth::test_teams tests/unit/test_repos_repo.py::TestContents::test_git_url tests/unit/test_repos_repo.py::TestContents::test_update tests/unit/test_repos_repo.py::TestHook::test_edit tests/unit/test_repos_repo.py::TestContentsRequiresAuth::test_delete tests/unit/test_repos_repo.py::TestHook::test_delete tests/unit/test_repos_repo.py::TestContents::test_update_required_content tests/unit/test_repos_repo.py::TestContentsRequiresAuth::test_update tests/unit/test_repos_repo.py::TestHookRequiresAuth::test_delete tests/unit/test_repos_repo.py::TestHook::test_str tests/unit/test_repos_repo.py::TestHook::test_ping tests/unit/test_repos_repo.py::TestHook::test_edit_failed tests/unit/test_repos_repo.py::TestHookRequiresAuth::test_ping tests/unit/test_repos_repo.py::TestHookRequiresAuth::test_test tests/unit/test_repos_repo.py::TestHook::test_test tests/unit/test_repos_repo.py::TestRepoComment::test_update tests/unit/test_repos_repo.py::TestHookRequiresAuth::test_edit tests/unit/test_repos_repo.py::TestRepoComment::test_delete tests/unit/test_repos_repo.py::TestRepoCommentRequiresAuth::test_delete tests/unit/test_repos_repo.py::TestRepoCommit::test_diff tests/unit/test_repos_repo.py::TestRepoComment::test_str tests/unit/test_repos_repo.py::TestRepoCommentRequiresAuth::test_update tests/unit/test_repos_repo.py::TestRepoCommit::test_patch tests/unit/test_repos_repo.py::TestRepoCommit::test_str tests/unit/test_repos_repo.py::TestComparison::test_patch tests/unit/test_repos_repo.py::TestComparison::test_diff tests/unit/test_repos_repo.py::TestComparison::test_str tests/unit/test_repos_repo.py::TestRepositoryCompatibility_2_12::test_repository
github3/repos/repo.py
github3/repos/repo.py