René's URL Explorer Experiment


Title: Clarify force-push usage for CPython PRs · Issue #579 · python/devguide · GitHub

Open Graph Title: Clarify force-push usage for CPython PRs · Issue #579 · python/devguide

X Title: Clarify force-push usage for CPython PRs · Issue #579 · python/devguide

Description: As someone who regularly reviews PRs from contributors with varying levels of experience with CPython's workflow, often times I find that they repeatedly squash old commits and force-push to the PR branch each time a new commit or round ...

Open Graph Description: As someone who regularly reviews PRs from contributors with varying levels of experience with CPython's workflow, often times I find that they repeatedly squash old commits and force-push to the PR...

X Description: As someone who regularly reviews PRs from contributors with varying levels of experience with CPython's workflow, often times I find that they repeatedly squash old commits and force-push to th...

Opengraph URL: https://github.com/python/devguide/issues/579

X: @github

direct link

Domain: github.com


Hey, it has json ld scripts:
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"Clarify force-push usage for CPython PRs","articleBody":"As someone who regularly reviews PRs from contributors with varying levels of experience with CPython's workflow, often times I find that they repeatedly squash old commits and force-push to the PR branch each time a new commit or round of commits are added (after it has been opened). In most cases, this makes the history of the PR much more difficult to follow for review purposes.\r\n\r\nI assume that their intention is to \"clean up\" the history and leave a single commit at the end for easier merging, but in reality this doesn't do much to help since core devs typically make use of GitHub's \"Squash and Merge\" feature or automerge via miss-islington to squash the commits.\r\n\r\nGuido mentioned this last year in https://discuss.python.org/t/pep-601-forbid-return-break-continue-breaking-out-of-finally/2239/42, but I just thought about it again after seeing it happen \"out in the wild\" recently across CPython PRs from different contributors.\r\n\r\nIt is mentioned at the end of [section 3.8](https://devguide.python.org/pullrequest/#submitting), but I think it could be made a bit more obvious since this seems to occur rather frequently, and can be disruptive to the PR review process. It's a fairly small, but  repeated cost to core development resources that could be avoided.\r\n\r\nOne idea I had in mind was adding a note to the \"Quick Guide\", in [section 3.2](https://devguide.python.org/pullrequest/#quick-guide), which is likely what many contributors primarily consult and regularly refer back to:\r\n\r\nCurrent:\r\n```\r\nHere is a quick overview of how you can contribute to CPython:\r\n\r\n    Create an issue that describes your change [*]\r\n    Create a new branch in Git\r\n    Work on changes (e.g. fix a bug or add a new feature)\r\n    Run tests and make patchcheck\r\n    Commit and push changes to your GitHub fork\r\n    Create Pull Request on GitHub to merge a branch from your fork\r\n    Review and address comments on your Pull Request\r\n    When your changes are merged, you can delete the PR branch\r\n    Celebrate contributing to CPython! :)\r\n``` \r\n\r\nRecommended:\r\n```\r\nHere is a quick overview of how you can contribute to CPython:\r\n\r\n    Create an issue that describes your change [*]\r\n    Create a new branch in Git\r\n    Work on changes (e.g. fix a bug or add a new feature)\r\n    Run tests and make patchcheck\r\n    Commit and push changes to your GitHub fork\r\n    Create Pull Request on GitHub to merge a branch from your fork\r\n    Review and address comments on your Pull Request (without force-pushing)\r\n    When your changes are merged, you can delete the PR branch\r\n    Celebrate contributing to CPython! :)\r\n```\r\nAny other recommendations for locations that it could be mentioned would also be welcome, but that was the most impactful that I had in mind.","author":{"url":"https://github.com/aeros","@type":"Person","name":"aeros"},"datePublished":"2020-03-21T00:44:12.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":4},"url":"https://github.com/579/devguide/issues/579"}

route-pattern/_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format)
route-controllervoltron_issues_fragments
route-actionissue_layout
fetch-noncev2:a338d6a8-baa3-c492-22f4-77cca03fc981
current-catalog-service-hash81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114
request-idBE1A:E3F0D:1C3643E:24A8122:696B3922
html-safe-nonce4d866f967ead4add94b7179d957647936f043fd82402e377785a8ee6c4a0507b
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJCRTFBOkUzRjBEOjFDMzY0M0U6MjRBODEyMjo2OTZCMzkyMiIsInZpc2l0b3JfaWQiOiI5MDkxNzM5NzQ3NzkxNjE2MjkwIiwicmVnaW9uX2VkZ2UiOiJpYWQiLCJyZWdpb25fcmVuZGVyIjoiaWFkIn0=
visitor-hmac3b3f3376ad782a16a3fac17253c27e7c4813364a0e2eb05be159b176832af7b5
hovercard-subject-tagissue:585395335
github-keyboard-shortcutsrepository,issues,copilot
google-site-verificationApib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I
octolytics-urlhttps://collector.github.com/github/collect
analytics-location///voltron/issues_fragments/issue_layout
fb:app_id1401488693436528
apple-itunes-appapp-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/python/devguide/579/issue_layout
twitter:imagehttps://opengraph.githubassets.com/fd157976f0ce0011d4f0904cabde2e3feed6fcc1eb4fff5995fea32c5ede61b9/python/devguide/issues/579
twitter:cardsummary_large_image
og:imagehttps://opengraph.githubassets.com/fd157976f0ce0011d4f0904cabde2e3feed6fcc1eb4fff5995fea32c5ede61b9/python/devguide/issues/579
og:image:altAs someone who regularly reviews PRs from contributors with varying levels of experience with CPython's workflow, often times I find that they repeatedly squash old commits and force-push to the PR...
og:image:width1200
og:image:height600
og:site_nameGitHub
og:typeobject
og:author:usernameaeros
hostnamegithub.com
expected-hostnamegithub.com
None5f99f7c1d70f01da5b93e5ca90303359738944d8ab470e396496262c66e60b8d
turbo-cache-controlno-preview
go-importgithub.com/python/devguide git https://github.com/python/devguide.git
octolytics-dimension-user_id1525981
octolytics-dimension-user_loginpython
octolytics-dimension-repository_id63972479
octolytics-dimension-repository_nwopython/devguide
octolytics-dimension-repository_publictrue
octolytics-dimension-repository_is_forkfalse
octolytics-dimension-repository_network_root_id63972479
octolytics-dimension-repository_network_root_nwopython/devguide
turbo-body-classeslogged-out env-production page-responsive
disable-turbofalse
browser-stats-urlhttps://api.github.com/_private/browser/stats
browser-errors-urlhttps://api.github.com/_private/browser/errors
release82560a55c6b2054555076f46e683151ee28a19bc
ui-targetfull
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://github.com/python/devguide/issues/579#start-of-content
https://github.com/
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fpython%2Fdevguide%2Fissues%2F579
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%2Fpython%2Fdevguide%2Fissues%2F579
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%2Fvoltron%2Fissues_fragments%2Fissue_layout&source=header-repo&source_repo=python%2Fdevguide
Reloadhttps://github.com/python/devguide/issues/579
Reloadhttps://github.com/python/devguide/issues/579
Reloadhttps://github.com/python/devguide/issues/579
python https://github.com/python
devguidehttps://github.com/python/devguide
Please reload this pagehttps://github.com/python/devguide/issues/579
Notifications https://github.com/login?return_to=%2Fpython%2Fdevguide
Fork 962 https://github.com/login?return_to=%2Fpython%2Fdevguide
Star 2k https://github.com/login?return_to=%2Fpython%2Fdevguide
Code https://github.com/python/devguide
Issues 98 https://github.com/python/devguide/issues
Pull requests 18 https://github.com/python/devguide/pulls
Actions https://github.com/python/devguide/actions
Projects 1 https://github.com/python/devguide/projects
Security Uh oh! There was an error while loading. Please reload this page. https://github.com/python/devguide/security
Please reload this pagehttps://github.com/python/devguide/issues/579
Insights https://github.com/python/devguide/pulse
Code https://github.com/python/devguide
Issues https://github.com/python/devguide/issues
Pull requests https://github.com/python/devguide/pulls
Actions https://github.com/python/devguide/actions
Projects https://github.com/python/devguide/projects
Security https://github.com/python/devguide/security
Insights https://github.com/python/devguide/pulse
New issuehttps://github.com/login?return_to=https://github.com/python/devguide/issues/579
New issuehttps://github.com/login?return_to=https://github.com/python/devguide/issues/579
#588https://github.com/python/devguide/pull/588
Clarify force-push usage for CPython PRshttps://github.com/python/devguide/issues/579#top
#588https://github.com/python/devguide/pull/588
https://github.com/aeros
https://github.com/aeros
https://github.com/aeros
aeroshttps://github.com/aeros
on Mar 21, 2020https://github.com/python/devguide/issues/579#issue-585395335
https://discuss.python.org/t/pep-601-forbid-return-break-continue-breaking-out-of-finally/2239/42https://discuss.python.org/t/pep-601-forbid-return-break-continue-breaking-out-of-finally/2239/42
section 3.8https://devguide.python.org/pullrequest/#submitting
section 3.2https://devguide.python.org/pullrequest/#quick-guide
aeroshttps://github.com/aeros
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.