Guidelines: Should we force opening PRs from forks only for members? #46
Labels
No labels
Contributors' Guidance
Improve written Material
Contributors' Guidance
technical support measures
effort
high
effort
low
effort
medium
good first issue
help wanted
meeting topic
needs changes
needs reporter feedback
needs review
priority
high
priority
low
priority
medium
priority
on hold
type/content
type/misc
No milestone
No project
No assignees
6 participants
Notifications
Due date
Dependencies
No dependencies set.
Reference
docs/tickets#46
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
An interesting topic came up in docs/docs-template#20 (comment): Is it okay for team members to open PRs directly from a repository, or should we mandate that everyone use a fork? I'd like the team's input on this, I haven't really thought about it myself.
If we wanted to restrict this, it seems that we can configure our repos to ensure everyone has to fork before they can submit a PR.
I'm of the opinion that we should all be working off of forks and then opening PR's to merge to main. I am, however, not a software developer and this is hte first time that I've really worked with repos wiht others, so I'm learning as I go.
Forks then merge to main seems like the safer option and prevents errors on main and lets us, as a group, make sure that we are putting accurate and quality checked information out there. We might be 'amateurs' (in terms of this being a profesisonal position that we are being paid for) but there is no reason why we shouldn't strive to publish work that looks professional.
Just my .02 btc.
In other teams I am a member of, we've discussed that the best practice for contributing to projects is to first fork the repo, push commits to it, and then open PRs in the main repo. This should be done from separate, properly and descriptively named branches. We have strict rules for commit messages, AI agents, etc. We've documented all of this to avoid any confusion. This also applies to members of orgs. We've disabled direct pushes to all repos in these orgs and even the owners make contributions from their forks.
We've discussed this at the latest meeting - https://discussion.fedoraproject.org/t/fedora-docs-team-meeting-2026-06-02/192972
Most people seemed to be leaning towards "allow but not encourage". Team members should be allowed to push directly and to directly edit without a fork, but only as long as it's used sparingly and for small fixes. If it's anything not very small, it should be a proper PR created from a fork.
Further discussion to take place in the comments here.
My modus operandi
Here are the guidelines I use with projects where I'm a maintainer. This works well when you have a relatively small number of changes in flight at a time (compared to, say, Kubernetes or Apache projects, where branch names can actually conflict easily).
Why
git clonebut getting other humans to actually test your code. Otherwise, setting up remotes and branches to locally test code from dozens of repos realistically presents a high enough hurdle that it happens far less often than it should. And the busiest members are those most affected by this.Just want to add here for awareness:
there is a a way to create pull requests in Forgejo without requiring a fork or a branch in the main repo:
https://forgejo.org/docs/latest/user/agit-support/
It is not that user friendly as user needs to use git cli to create such a pull request. But it is an interesting feature, which might be useful for drive-by contributors.
From today's meeting:
Discussed in 2026-06-30 Fedora Docs Team meeting.
The team discussed PR/forking guidelines for
docs/*repositories. The consensus is that forks are the preferred workflow, especially for changes requiring discussion or refinement. Org owners and content owners who maintain an article on an ongoing basis may push directly or submit PRs from branches for routine updates. @pbokoc will configure Forgejo repo settings to enforce branch protections — onlydocs-ownerscan push tomain, and at least one review approval will be required before merge.docs/*reposAssisted-by: Claude Opus 4.6 (1M context)
Discussed in 2026-07-14 Fedora Docs Team meeting.
@pbokoc acknowledged that the action item from the previous meeting to configure repository settings enforcing the new PR/forking guidelines has not yet been completed. He will prioritize this work this week.
Follow-up:
Assisted-by: Claude Opus 4.6 (1M context)