René's URL Explorer Experiment


Title: Improve Python version and OS compatibility, fixing deprecations by EliahKagan · Pull Request #1654 · gitpython-developers/GitPython · GitHub

Open Graph Title: Improve Python version and OS compatibility, fixing deprecations by EliahKagan · Pull Request #1654 · gitpython-developers/GitPython

X Title: Improve Python version and OS compatibility, fixing deprecations by EliahKagan · Pull Request #1654 · gitpython-developers/GitPython

Description: Fixes #1640 Fixes #1651 Fixes #1652 Fixes #1653 Overview This changes installation instructions, test code, scripts including setup.py, and CI workflows to support Python 3.12, to fix a test that always failed on native Windows systems, and to avoid using deprecated setuptools features or recommending their use. I've attempted to fix problems and replace the use of deprecated features in a way that increases rather than decreasing robustness, clarity, and ease of installation. Besides the practical overlap (see below), the conceptual thread that holds all these changes together is that they are about improving compatibility with current and future Python installations. The actual GitPython library code itself seems already compatible with 3.12, and this PR does not change anything in git/. It modifies README.md including to change the recommend way to install GitPython from a downloaded source code archive or cloned repository; edits scripts related to installation and building, including setup.py; and modifies a test to fix some OS and Python version compatibilities, to make it test the changed installation procedure in the readme, and to make it slightly more robust; and modifies the two CI workflows that run tests. It seemed to me that the four issues mentioned above, although they are distinct issues with none being a duplicate of any others, inherently overlap and are best fixed in a way that involves overlapping code changes as well as overlapping considerations for reviewing the changes. So although I am a bit concerned about the scope of this pull request, I've done these changes together in one PR. However, they are separated across a number of narrowly scoped commits, with most of the commit messages detailing the change the commit makes and its purpose. Documentation changes In parts of the readme that had to be changed to replace python setup.py with pip install, I applied other updates and clarifications too. I avoided doing this in any other parts of the readme. I reorganized the installation instructions for clarity, subdividing them into separate

sections so that the distinctions between different installation approaches is readily apparent and readers can immediately find the part of the instructions they are looking for. When making those changes, I included the tag-fetching step that was recently added in one place but not another where it is relevant, explicitly mentioned that the instructions should usually be carried out in a virtual environment, and addressed forks so users less familiar with common GitHub workflows would not be misled into thinking they should clone the upstream repository to propose changes. (I was a bit uncomfortable doing the latter as part of this already broad PR, but it actually relates to the tag-fetching step: if the gh command is used for cloning, tags on the upstream repo are available even if the fork does not have them, allowing local tests to pass.) I did not also update the documentation in doc/. Although this should be done, that documentation is already considerably out of date in other ways including with respect to installation and dependencies, and this PR is already fairly large in scope. Note that the old approach of running python setup.py install does still work in all the cases where it worked before. So this does not break the old documentation, it just doesn't bring it up to date. CI changes This adds 3.12, which is currently at RC2, to be tested on CI, permitting setup-python to install prereleases for 3.12 but not for other versions. That only affects the Ubuntu workflow. It also updates both CI test workflows to test the new installation procedure and to harmonize them with the updated README.md instructions, and this attempts to make them clearer both in terms of the workflow files' own readability and in terms of the output generated in the GitHub Actions web-based interface. This does not add any new Windows tests. While it would be valuable to have native (non-Cygwin) Windows tests on CI, and it would be valuable (if it does not cause CI checks to take too long) to have Cygwin and non-Cygwin Windows tests on multiple Python versions (as well as to test on macOS), this PR does not propose any such changes. This would be nontrivial, at least in the case of native Windows tests, and in my opinion significantly beyond the scope of this PR. I also did not want to wait to fix #1640, since Python 3.12 is already at RC2, with stable 3.12.0 coming out in a month. Because there are still no non-Cygwin Windows tests on CI, the CI tests results shown for this pull request do not demonstrate that it resolves #1651. However, I have shown the failure in that issue, and I have verified that the changes here fix it, causing test_installation to pass. I tested on Windows 10 with Python 3.11.5, and also on the same system with Python 3.12.0rc2 to verify that it works for the combination of 3.12 and Windows. One of the setup.py changes deserves special scrutiny in review The main change in this PR that I anticipate might not be wanted is the addition of a test extra. This approach seemed best to me, but only by a very narrow margin, and I am not at all sure that I am right. The reason I did this, as well as why some other approach might be preferred, are detailed in #1652. My rationale hinges on the assumption that it is a goal for there to be a way to install the package for local development that also takes care of installing test dependencies. Although test dependencies are not installed unless the test extra is called for, it may nonetheless be surprising for an extra to exist that provides dependencies that none of the code in the PyPI package uses. (A possible counterargument is that running the tests is a way of using the code under test, and the code under test is part of the PyPI package.) If the test extra is not wanted, I would be pleased to remove it and to update the readme and CI workflows accordingly. This could still resolve #1652, because I could appropriately weaken the claim it makes about automatic dependency installation.

Open Graph Description: Fixes #1640 Fixes #1651 Fixes #1652 Fixes #1653 Overview This changes installation instructions, test code, scripts including setup.py, and CI workflows to support Python 3.12, to fix a test that a...

X Description: Fixes #1640 Fixes #1651 Fixes #1652 Fixes #1653 Overview This changes installation instructions, test code, scripts including setup.py, and CI workflows to support Python 3.12, to fix a test that a...

Opengraph URL: https://github.com/gitpython-developers/GitPython/pull/1654

X: @github

direct link

Domain: github.com

route-pattern/:user_id/:repository/pull/:id/files(.:format)
route-controllerpull_requests
route-actionfiles
fetch-noncev2:d30b7d3a-0f3a-72c5-4a73-6a7f584ca1f3
current-catalog-service-hashae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b
request-idA630:2F3A46:221ADAA:302839F:69691629
html-safe-nonce65a36faa1ccd190b6d3899b03a39bf24e0d51ba5dac9ae4640615958be612e6a
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJBNjMwOjJGM0E0NjoyMjFBREFBOjMwMjgzOUY6Njk2OTE2MjkiLCJ2aXNpdG9yX2lkIjoiNDkxMDEyNDkxOTQyOTg2Mjk1MyIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9
visitor-hmac03592e2fb9591badb209081e1d9cbf7650f0934cf8c62e62698145aebbe782ee
hovercard-subject-tagpull_request:1509258213
github-keyboard-shortcutsrepository,pull-request-list,pull-request-conversation,pull-request-files-changed,copilot
google-site-verificationApib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I
octolytics-urlhttps://collector.github.com/github/collect
analytics-location///pull_requests/show/files
fb:app_id1401488693436528
apple-itunes-appapp-id=1477376905, app-argument=https://github.com/gitpython-developers/GitPython/pull/1654/files
twitter:imagehttps://avatars.githubusercontent.com/u/1771172?s=400&v=4
twitter:cardsummary_large_image
og:imagehttps://avatars.githubusercontent.com/u/1771172?s=400&v=4
og:image:altFixes #1640 Fixes #1651 Fixes #1652 Fixes #1653 Overview This changes installation instructions, test code, scripts including setup.py, and CI workflows to support Python 3.12, to fix a test that a...
og:site_nameGitHub
og:typeobject
hostnamegithub.com
expected-hostnamegithub.com
Noneafd5814870f8609d217a32dd3bccc05a5df5f5699df4d458c242e80fdfddcc2e
turbo-cache-controlno-preview
diff-viewunified
go-importgithub.com/gitpython-developers/GitPython git https://github.com/gitpython-developers/GitPython.git
octolytics-dimension-user_id503709
octolytics-dimension-user_logingitpython-developers
octolytics-dimension-repository_id1126087
octolytics-dimension-repository_nwogitpython-developers/GitPython
octolytics-dimension-repository_publictrue
octolytics-dimension-repository_is_forkfalse
octolytics-dimension-repository_network_root_id1126087
octolytics-dimension-repository_network_root_nwogitpython-developers/GitPython
turbo-body-classeslogged-out env-production page-responsive full-width
disable-turbotrue
browser-stats-urlhttps://api.github.com/_private/browser/stats
browser-errors-urlhttps://api.github.com/_private/browser/errors
release572e69339f2401a569f15071214cbbee314ea8bb
ui-targetfull
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://github.com/gitpython-developers/GitPython/pull/1654/files#start-of-content
https://github.com/
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fgitpython-developers%2FGitPython%2Fpull%2F1654%2Ffiles
GitHub CopilotWrite better code with AIhttps://github.com/features/copilot
GitHub SparkBuild and deploy intelligent appshttps://github.com/features/spark
GitHub ModelsManage and compare promptshttps://github.com/features/models
MCP RegistryNewIntegrate external toolshttps://github.com/mcp
ActionsAutomate any workflowhttps://github.com/features/actions
CodespacesInstant dev environmentshttps://github.com/features/codespaces
IssuesPlan and track workhttps://github.com/features/issues
Code ReviewManage code changeshttps://github.com/features/code-review
GitHub Advanced SecurityFind and fix vulnerabilitieshttps://github.com/security/advanced-security
Code securitySecure your code as you buildhttps://github.com/security/advanced-security/code-security
Secret protectionStop leaks before they starthttps://github.com/security/advanced-security/secret-protection
Why GitHubhttps://github.com/why-github
Documentationhttps://docs.github.com
Bloghttps://github.blog
Changeloghttps://github.blog/changelog
Marketplacehttps://github.com/marketplace
View all featureshttps://github.com/features
Enterpriseshttps://github.com/enterprise
Small and medium teamshttps://github.com/team
Startupshttps://github.com/enterprise/startups
Nonprofitshttps://github.com/solutions/industry/nonprofits
App Modernizationhttps://github.com/solutions/use-case/app-modernization
DevSecOpshttps://github.com/solutions/use-case/devsecops
DevOpshttps://github.com/solutions/use-case/devops
CI/CDhttps://github.com/solutions/use-case/ci-cd
View all use caseshttps://github.com/solutions/use-case
Healthcarehttps://github.com/solutions/industry/healthcare
Financial serviceshttps://github.com/solutions/industry/financial-services
Manufacturinghttps://github.com/solutions/industry/manufacturing
Governmenthttps://github.com/solutions/industry/government
View all industrieshttps://github.com/solutions/industry
View all solutionshttps://github.com/solutions
AIhttps://github.com/resources/articles?topic=ai
Software Developmenthttps://github.com/resources/articles?topic=software-development
DevOpshttps://github.com/resources/articles?topic=devops
Securityhttps://github.com/resources/articles?topic=security
View all topicshttps://github.com/resources/articles
Customer storieshttps://github.com/customer-stories
Events & webinarshttps://github.com/resources/events
Ebooks & reportshttps://github.com/resources/whitepapers
Business insightshttps://github.com/solutions/executive-insights
GitHub Skillshttps://skills.github.com
Documentationhttps://docs.github.com
Customer supporthttps://support.github.com
Community forumhttps://github.com/orgs/community/discussions
Trust centerhttps://github.com/trust-center
Partnershttps://github.com/partners
GitHub SponsorsFund open source developershttps://github.com/sponsors
Security Labhttps://securitylab.github.com
Maintainer Communityhttps://maintainers.github.com
Acceleratorhttps://github.com/accelerator
Archive Programhttps://archiveprogram.github.com
Topicshttps://github.com/topics
Trendinghttps://github.com/trending
Collectionshttps://github.com/collections
Enterprise platformAI-powered developer platformhttps://github.com/enterprise
GitHub Advanced SecurityEnterprise-grade security featureshttps://github.com/security/advanced-security
Copilot for BusinessEnterprise-grade AI featureshttps://github.com/features/copilot/copilot-business
Premium SupportEnterprise-grade 24/7 supporthttps://github.com/premium-support
Pricinghttps://github.com/pricing
Search syntax tipshttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
documentationhttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fgitpython-developers%2FGitPython%2Fpull%2F1654%2Ffiles
Sign up https://github.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fpull_requests%2Fshow%2Ffiles&source=header-repo&source_repo=gitpython-developers%2FGitPython
Reloadhttps://github.com/gitpython-developers/GitPython/pull/1654/files
Reloadhttps://github.com/gitpython-developers/GitPython/pull/1654/files
Reloadhttps://github.com/gitpython-developers/GitPython/pull/1654/files
gitpython-developers https://github.com/gitpython-developers
GitPythonhttps://github.com/gitpython-developers/GitPython
Please reload this pagehttps://github.com/gitpython-developers/GitPython/pull/1654/files
Notifications https://github.com/login?return_to=%2Fgitpython-developers%2FGitPython
Fork 964 https://github.com/login?return_to=%2Fgitpython-developers%2FGitPython
Star 5k https://github.com/login?return_to=%2Fgitpython-developers%2FGitPython
Code https://github.com/gitpython-developers/GitPython
Issues 169 https://github.com/gitpython-developers/GitPython/issues
Pull requests 8 https://github.com/gitpython-developers/GitPython/pulls
Discussions https://github.com/gitpython-developers/GitPython/discussions
Actions https://github.com/gitpython-developers/GitPython/actions
Security Uh oh! There was an error while loading. Please reload this page. https://github.com/gitpython-developers/GitPython/security
Please reload this pagehttps://github.com/gitpython-developers/GitPython/pull/1654/files
Insights https://github.com/gitpython-developers/GitPython/pulse
Code https://github.com/gitpython-developers/GitPython
Issues https://github.com/gitpython-developers/GitPython/issues
Pull requests https://github.com/gitpython-developers/GitPython/pulls
Discussions https://github.com/gitpython-developers/GitPython/discussions
Actions https://github.com/gitpython-developers/GitPython/actions
Security https://github.com/gitpython-developers/GitPython/security
Insights https://github.com/gitpython-developers/GitPython/pulse
Sign up for GitHub https://github.com/signup?return_to=%2Fgitpython-developers%2FGitPython%2Fissues%2Fnew%2Fchoose
terms of servicehttps://docs.github.com/terms
privacy statementhttps://docs.github.com/privacy
Sign inhttps://github.com/login?return_to=%2Fgitpython-developers%2FGitPython%2Fissues%2Fnew%2Fchoose
Byronhttps://github.com/Byron
gitpython-developers:mainhttps://github.com/gitpython-developers/GitPython/tree/main
EliahKagan:setuphttps://github.com/EliahKagan/GitPython/tree/setup
Conversation 19 https://github.com/gitpython-developers/GitPython/pull/1654
Commits 17 https://github.com/gitpython-developers/GitPython/pull/1654/commits
Checks 0 https://github.com/gitpython-developers/GitPython/pull/1654/checks
Files changed https://github.com/gitpython-developers/GitPython/pull/1654/files
Please reload this pagehttps://github.com/gitpython-developers/GitPython/pull/1654/files
Improve Python version and OS compatibility, fixing deprecations https://github.com/gitpython-developers/GitPython/pull/1654/files#top
Show all changes 17 commits https://github.com/gitpython-developers/GitPython/pull/1654/files
dba4245 Fix installation test for Python 3.12 and Windows EliahKagan Sep 9, 2023 https://github.com/gitpython-developers/GitPython/pull/1654/commits/dba42451187243ffe6d56a08e032dbcbb9ac615f
72e48aa Update installation instructions in readme EliahKagan Sep 10, 2023 https://github.com/gitpython-developers/GitPython/pull/1654/commits/72e48aaea59738172ded5c964ddb4f06233ce9b7
b095aa9 Use more compatible hashbangs EliahKagan Sep 10, 2023 https://github.com/gitpython-developers/GitPython/pull/1654/commits/b095aa9f61691151e68efb972659ac018c8e939d
63c4624 Don't duplicate packages across requirements files EliahKagan Sep 10, 2023 https://github.com/gitpython-developers/GitPython/pull/1654/commits/63c46240334d36129a78866a54694ea8fa5edd16
3aacb37 Use a "test" extra instead of tests_require EliahKagan Sep 10, 2023 https://github.com/gitpython-developers/GitPython/pull/1654/commits/3aacb3717ad78ec40e5b168a7ce8109aee6f156e
e1d8b40 Use "build" for building EliahKagan Sep 10, 2023 https://github.com/gitpython-developers/GitPython/pull/1654/commits/e1d8b40e91eedabc3a2c2c1ac653f86b662323a9
b9b6d8c Ungroup and sort test_requirements.txt EliahKagan Sep 10, 2023 https://github.com/gitpython-developers/GitPython/pull/1654/commits/b9b6d8c07eb9afb88f092e507db9ae467e5e0986
21c5f87 Don't preinstall dependencies in test_installation EliahKagan Sep 10, 2023 https://github.com/gitpython-developers/GitPython/pull/1654/commits/21c5f8749590480de7cbcfe87352b60759328a75
6b54890 Test changed setup, and Python 3.12, on CI EliahKagan Sep 10, 2023 https://github.com/gitpython-developers/GitPython/pull/1654/commits/6b54890cfc14f1c574e8bf85d1ebf9be4c92be3e
055355d Don't use "set -x" for "pytest" command on Cygwin EliahKagan Sep 10, 2023 https://github.com/gitpython-developers/GitPython/pull/1654/commits/055355d0028147c27b0423d713803748e60af6c3
a352404 List Python 3.12 as supported in setup.py EliahKagan Sep 10, 2023 https://github.com/gitpython-developers/GitPython/pull/1654/commits/a352404576552116bd16d9ca40cbcb903d3af020
415a8eb Small clarity improvements in setup.py EliahKagan Sep 10, 2023 https://github.com/gitpython-developers/GitPython/pull/1654/commits/415a8ebdf8d0648cd17218e817963721d8df54da
4eef3ec Have actions/checkout do the full fetch EliahKagan Sep 11, 2023 https://github.com/gitpython-developers/GitPython/pull/1654/commits/4eef3ecd5b2eb65f1e98457a35df8700166f67b0
5f128e8 Move effect of "set -x" into default shell command EliahKagan Sep 11, 2023 https://github.com/gitpython-developers/GitPython/pull/1654/commits/5f128e8c23e730748eb73bc2eb9f8ee552064e93
d99b2d4 prepare next release Byron Sep 11, 2023 https://github.com/gitpython-developers/GitPython/pull/1654/commits/d99b2d4629f2257ac719f77b93e1a2d7affd08c6
f86f09e Make publish process possible on MacOS Byron Sep 11, 2023 https://github.com/gitpython-developers/GitPython/pull/1654/commits/f86f09e12c5616680e19b45c940144520349c9e3
5343aa0 Let "make" install build and twine if in a virtual environment EliahKagan Sep 11, 2023 https://github.com/gitpython-developers/GitPython/pull/1654/commits/5343aa01e9d90481e4570797e99faf6a98ba8f6c
Clear filters https://github.com/gitpython-developers/GitPython/pull/1654/files
Please reload this pagehttps://github.com/gitpython-developers/GitPython/pull/1654/files
Please reload this pagehttps://github.com/gitpython-developers/GitPython/pull/1654/files
cygwin-test.yml https://github.com/gitpython-developers/GitPython/pull/1654/files#diff-cf2326c301e0abbc3891bf5c0f476cf05faa2c2ddf165185fe6bffb10bd5aea5
pythonpackage.yml https://github.com/gitpython-developers/GitPython/pull/1654/files#diff-ee68bef8369ed7bc5460a288e72d62152784762ef66851e07bf134c4075a08f0
Makefile https://github.com/gitpython-developers/GitPython/pull/1654/files#diff-76ed074a9305c04054cdebb9e9aad2d818052b07091de1f20cad0bbac34ffb52
README.md https://github.com/gitpython-developers/GitPython/pull/1654/files#diff-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5
VERSION https://github.com/gitpython-developers/GitPython/pull/1654/files#diff-7b60b8e351cbb80c47459ffe2c79f1a26404871f49294780fe47ad0e58c09350
changes.rst https://github.com/gitpython-developers/GitPython/pull/1654/files#diff-18450dccedaf66680c6bfbfa443564198c3d480f939edb0e87f7d8078d0c2673
init-tests-after-clone.sh https://github.com/gitpython-developers/GitPython/pull/1654/files#diff-265909da66dc3b4d0723fb67a3c730bd072f6a680c014fdcc99813c62be3ab1f
pyproject.toml https://github.com/gitpython-developers/GitPython/pull/1654/files#diff-50c86b7ed8ac2cf95bd48334961bf0530cdc77b5a56f852c5c61b89d735fd711
requirements-dev.txt https://github.com/gitpython-developers/GitPython/pull/1654/files#diff-2b4945591edfeaa4cf4d3f155e66d4b43d1bda7a55d881d5cf3107f1b05abbbc
setup.py https://github.com/gitpython-developers/GitPython/pull/1654/files#diff-60f61ab7a8d1910d86d9fda2261620314edcae5894d5aaa236b821c7256badd7
test-requirements.txt https://github.com/gitpython-developers/GitPython/pull/1654/files#diff-fac4c6890301d4de5c3f4266837803d5240c84a3d8b6c735bbc6a64c39d2f94e
test_installation.py https://github.com/gitpython-developers/GitPython/pull/1654/files#diff-0f34bc1d2b35fde2cfcc7e8b51af2d499374e8e8ba49672fd39ffa1a92045131
.github/workflows/cygwin-test.ymlhttps://github.com/gitpython-developers/GitPython/pull/1654/files#diff-cf2326c301e0abbc3891bf5c0f476cf05faa2c2ddf165185fe6bffb10bd5aea5
View file https://github.com/EliahKagan/GitPython/blob/5343aa01e9d90481e4570797e99faf6a98ba8f6c/.github/workflows/cygwin-test.yml
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/gitpython-developers/GitPython/pull/1654/{{ revealButtonHref }}
https://github.com/gitpython-developers/GitPython/pull/1654/files#diff-cf2326c301e0abbc3891bf5c0f476cf05faa2c2ddf165185fe6bffb10bd5aea5
.github/workflows/pythonpackage.ymlhttps://github.com/gitpython-developers/GitPython/pull/1654/files#diff-ee68bef8369ed7bc5460a288e72d62152784762ef66851e07bf134c4075a08f0
View file https://github.com/EliahKagan/GitPython/blob/5343aa01e9d90481e4570797e99faf6a98ba8f6c/.github/workflows/pythonpackage.yml
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/gitpython-developers/GitPython/pull/1654/{{ revealButtonHref }}
https://github.com/gitpython-developers/GitPython/pull/1654/files#diff-ee68bef8369ed7bc5460a288e72d62152784762ef66851e07bf134c4075a08f0
Please reload this pagehttps://github.com/gitpython-developers/GitPython/pull/1654/files
Makefilehttps://github.com/gitpython-developers/GitPython/pull/1654/files#diff-76ed074a9305c04054cdebb9e9aad2d818052b07091de1f20cad0bbac34ffb52
View file https://github.com/EliahKagan/GitPython/blob/5343aa01e9d90481e4570797e99faf6a98ba8f6c/Makefile
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/gitpython-developers/GitPython/pull/1654/{{ revealButtonHref }}
https://github.com/gitpython-developers/GitPython/pull/1654/files#diff-76ed074a9305c04054cdebb9e9aad2d818052b07091de1f20cad0bbac34ffb52
README.mdhttps://github.com/gitpython-developers/GitPython/pull/1654/files#diff-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5
View file https://github.com/EliahKagan/GitPython/blob/5343aa01e9d90481e4570797e99faf6a98ba8f6c/README.md
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/gitpython-developers/GitPython/pull/1654/{{ revealButtonHref }}
https://github.com/gitpython-developers/GitPython/pull/1654/files#diff-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5
https://github.com/gitpython-developers/GitPython/pull/1654/files#diff-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5
https://github.com/gitpython-developers/GitPython/pull/1654/files#diff-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5
https://github.com/gitpython-developers/GitPython/pull/1654/files#diff-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5
https://github.com/gitpython-developers/GitPython/pull/1654/files#diff-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5
VERSIONhttps://github.com/gitpython-developers/GitPython/pull/1654/files#diff-7b60b8e351cbb80c47459ffe2c79f1a26404871f49294780fe47ad0e58c09350
View file https://github.com/EliahKagan/GitPython/blob/5343aa01e9d90481e4570797e99faf6a98ba8f6c/VERSION
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/gitpython-developers/GitPython/pull/1654/{{ revealButtonHref }}
doc/source/changes.rsthttps://github.com/gitpython-developers/GitPython/pull/1654/files#diff-18450dccedaf66680c6bfbfa443564198c3d480f939edb0e87f7d8078d0c2673
View file https://github.com/EliahKagan/GitPython/blob/5343aa01e9d90481e4570797e99faf6a98ba8f6c/doc/source/changes.rst
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/gitpython-developers/GitPython/pull/1654/{{ revealButtonHref }}
https://github.com/gitpython-developers/GitPython/pull/1654/files#diff-18450dccedaf66680c6bfbfa443564198c3d480f939edb0e87f7d8078d0c2673
https://github.com/gitpython-developers/GitPython/pull/1654/files#diff-18450dccedaf66680c6bfbfa443564198c3d480f939edb0e87f7d8078d0c2673
init-tests-after-clone.shhttps://github.com/gitpython-developers/GitPython/pull/1654/files#diff-265909da66dc3b4d0723fb67a3c730bd072f6a680c014fdcc99813c62be3ab1f
View file https://github.com/EliahKagan/GitPython/blob/5343aa01e9d90481e4570797e99faf6a98ba8f6c/init-tests-after-clone.sh
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/gitpython-developers/GitPython/pull/1654/{{ revealButtonHref }}
Please reload this pagehttps://github.com/gitpython-developers/GitPython/pull/1654/files
https://github.com/gitpython-developers/GitPython/pull/1654/files#diff-265909da66dc3b4d0723fb67a3c730bd072f6a680c014fdcc99813c62be3ab1f
pyproject.tomlhttps://github.com/gitpython-developers/GitPython/pull/1654/files#diff-50c86b7ed8ac2cf95bd48334961bf0530cdc77b5a56f852c5c61b89d735fd711
View file https://github.com/EliahKagan/GitPython/blob/5343aa01e9d90481e4570797e99faf6a98ba8f6c/pyproject.toml
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/gitpython-developers/GitPython/pull/1654/{{ revealButtonHref }}
https://github.com/gitpython-developers/GitPython/pull/1654/files#diff-50c86b7ed8ac2cf95bd48334961bf0530cdc77b5a56f852c5c61b89d735fd711
requirements-dev.txthttps://github.com/gitpython-developers/GitPython/pull/1654/files#diff-2b4945591edfeaa4cf4d3f155e66d4b43d1bda7a55d881d5cf3107f1b05abbbc
View file https://github.com/EliahKagan/GitPython/blob/5343aa01e9d90481e4570797e99faf6a98ba8f6c/requirements-dev.txt
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/gitpython-developers/GitPython/pull/1654/{{ revealButtonHref }}
https://github.com/gitpython-developers/GitPython/pull/1654/files#diff-2b4945591edfeaa4cf4d3f155e66d4b43d1bda7a55d881d5cf3107f1b05abbbc
https://github.com/gitpython-developers/GitPython/pull/1654/files#diff-2b4945591edfeaa4cf4d3f155e66d4b43d1bda7a55d881d5cf3107f1b05abbbc
Please reload this pagehttps://github.com/gitpython-developers/GitPython/pull/1654/files
https://github.com
Termshttps://docs.github.com/site-policy/github-terms/github-terms-of-service
Privacyhttps://docs.github.com/site-policy/privacy-policies/github-privacy-statement
Securityhttps://github.com/security
Statushttps://www.githubstatus.com/
Communityhttps://github.community/
Docshttps://docs.github.com/
Contacthttps://support.github.com?tags=dotcom-footer

Viewport: width=device-width


URLs of crawlers that visited me.