Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add "Allow edits from maintainer" feature #18002

Merged
merged 122 commits into from Apr 28, 2022
Merged

Add "Allow edits from maintainer" feature #18002

merged 122 commits into from Apr 28, 2022

Conversation

qwerty287
Copy link
Contributor

@qwerty287 qwerty287 commented Dec 16, 2021

Adds a feature like GitHub has (step 7).
If you create a new PR from a forked repo, you can select (and change later, but only if you are the PR creator/poster) the "Allow edits from maintainers" option.
Then users with write access to the base branch get more permissions on this branch:

  • use the update pull request button
  • push directly from the command line (git push)
  • edit/delete/upload files via web UI
  • use related API endpoints

You can't merge PRs to this branch with this enabled, you'll need "full" code write permissions.

This feature has a pretty big impact on the permission system. I might forgot changing some things or didn't find security vulnerabilities. In this case, please leave a review or comment on this PR.

Closes #17728

qwerty287 and others added 8 commits December 14, 2021 18:03
Adds a feature [like GitHub has](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request-from-a-fork)
if you create a new PR from a forked repo. You can select (and change later, but only if you are the PR creater/poster) the "Allow edits from maintainers" option.
Then users with write access to the base branch get more permissions on this branch:
* use the update pull request button
* push directly from the command line (`git push`)
* edit/delete/upload files via web UI

You can't merge PRs to this branch.

This feature has a pretty big impact on the permission system. I might forgot changing some things or didn't find security vulnerabilities. In this case, please leave a review or comment on this PR.

Closes #17728
Copy link
Contributor

@Gusted Gusted left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Mostly looks goods to me.

models/repo_permission.go Outdated Show resolved Hide resolved
modules/context/permission.go Outdated Show resolved Hide resolved
models/repo_permission.go Outdated Show resolved Hide resolved
models/repo_permission.go Outdated Show resolved Hide resolved
modules/context/permission.go Outdated Show resolved Hide resolved
routers/web/repo/issue.go Show resolved Hide resolved
routers/web/repo/pull.go Outdated Show resolved Hide resolved
services/pull/update.go Outdated Show resolved Hide resolved
web_src/js/features/repo-issue.js Outdated Show resolved Hide resolved
@GiteaBot GiteaBot added the lgtm/need 2 This PR needs two approvals by maintainers to be considered for merging. label Dec 16, 2021
@techknowlogick techknowlogick added this to the 1.17.0 milestone Dec 16, 2021
@silverwind silverwind added the type/feature Completely new functionality. Can only be merged if feature freeze is not active. label Dec 17, 2021
services/pull/update.go Outdated Show resolved Hide resolved
models/migrations/v204.go Outdated Show resolved Hide resolved
@6543
Copy link
Member

6543 commented Apr 27, 2022

@qwerty287 I did help out a bit ... :)

@qwerty287
Copy link
Contributor Author

@6543 thanks!

@GiteaBot GiteaBot added lgtm/done This PR has enough approvals to get merged. There are no important open reservations anymore. and removed lgtm/need 1 This PR needs approval from one additional maintainer to be merged. labels Apr 28, 2022
@6543 6543 dismissed lunny’s stale review April 28, 2022 15:06

outdated for sure :)

@6543 6543 merged commit 8eb1cd9 into go-gitea:main Apr 28, 2022
@qwerty287
Copy link
Contributor Author

Thanks! This was one of the features I missed most in Gitea!

zjjhot added a commit to zjjhot/gitea that referenced this pull request Apr 29, 2022
* giteaofficial/main:
  [skip ci] Updated translations via Crowdin
  Support `hostname:port` to pass host matcher's check go-gitea#19543  (go-gitea#19543)
  Add "Allow edits from maintainer" feature (go-gitea#18002)
  Better describe what `/repos/{owner}/{repo}/raw/{filepath}` returns on 200 (go-gitea#19542)
  more context for models  (go-gitea#19511)
@qwerty287 qwerty287 deleted the allow-edits branch April 30, 2022 11:38
@lunny lunny added the type/changelog Adds the changelog for a new Gitea version label May 7, 2022
AbdulrhmnGhanem pushed a commit to kitspace/gitea that referenced this pull request Aug 24, 2022
Adds a feature [like GitHub has](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request-from-a-fork) (step 7).
If you create a new PR from a forked repo, you can select (and change later, but only if you are the PR creator/poster) the "Allow edits from maintainers" option.
Then users with write access to the base branch get more permissions on this branch:
* use the update pull request button
* push directly from the command line (`git push`)
* edit/delete/upload files via web UI
* use related API endpoints

You can't merge PRs to this branch with this enabled, you'll need "full" code write permissions.

This feature has a pretty big impact on the permission system. I might forgot changing some things or didn't find security vulnerabilities. In this case, please leave a review or comment on this PR.

Closes go-gitea#17728

Co-authored-by: 6543 <6543@obermui.de>
@go-gitea go-gitea locked and limited conversation to collaborators May 3, 2023
@delvh delvh removed the type/changelog Adds the changelog for a new Gitea version label Oct 7, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
lgtm/done This PR has enough approvals to get merged. There are no important open reservations anymore. type/feature Completely new functionality. Can only be merged if feature freeze is not active.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Forked repo: ability to update branch on PR level by maintainers