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

Improve sync fork behavior #33319

Merged
merged 3 commits into from
Jan 20, 2025
Merged

Improve sync fork behavior #33319

merged 3 commits into from
Jan 20, 2025

Conversation

wxiaoguang
Copy link
Contributor

@wxiaoguang wxiaoguang commented Jan 18, 2025

Fix #33271

Suppose there is a branch-a in fork repo:

  1. if branch-a exists in base repo: try to sync base:branch-a to fork:branch-a
  2. if branch-a doesn't exist in base repo: try to sync base:main to fork:branch-a

@GiteaBot GiteaBot added the lgtm/need 2 This PR needs two approvals by maintainers to be considered for merging. label Jan 18, 2025
@pull-request-size pull-request-size bot added the size/L Denotes a PR that changes 100-499 lines, ignoring generated files. label Jan 18, 2025
@github-actions github-actions bot added modifies/translation modifies/go Pull requests that update Go code modifies/templates This PR modifies the template files labels Jan 18, 2025
models/git/branch.go Outdated Show resolved Hide resolved
@wxiaoguang
Copy link
Contributor Author

image

@GiteaBot GiteaBot added lgtm/need 1 This PR needs approval from one additional maintainer to be merged. and removed lgtm/need 2 This PR needs two approvals by maintainers to be considered for merging. labels Jan 18, 2025
@@ -167,6 +167,9 @@ func GetBranch(ctx context.Context, repoID int64, branchName string) (*Branch, e
BranchName: branchName,
}
}
// FIXME: this design is not right: it doesn't check `branch.IsDeleted`, it doesn't make sense to make callers to check IsDeleted again and again.
Copy link
Member

Choose a reason for hiding this comment

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

I will take this on.

@wxiaoguang wxiaoguang added this to the 1.24.0 milestone Jan 19, 2025
@wxiaoguang
Copy link
Contributor Author

@go-gitea/maintainers ready for review, and need to backport to 1.23 manually

@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 Jan 20, 2025
@wxiaoguang wxiaoguang merged commit 39de295 into go-gitea:main Jan 20, 2025
26 checks passed
@wxiaoguang wxiaoguang deleted the fix-sync-fork branch January 20, 2025 07:18
wxiaoguang added a commit to wxiaoguang/gitea that referenced this pull request Jan 20, 2025
Fix go-gitea#33271

Suppose there is a `branch-a` in fork repo:

1. if `branch-a` exists in base repo: try to sync `base:branch-a` to `fork:branch-a`
2. if `branch-a` doesn't exist in base repo: try to sync `base:main` to `fork:branch-a`
# Conflicts:
#	services/repository/merge_upstream.go
lunny pushed a commit that referenced this pull request Jan 20, 2025
Backport #33319
Fix #33271

The only conflict is `reqctx` in
`services/repository/merge_upstream.go`, which could keep using
`context.Context` in 1.23
zjjhot added a commit to zjjhot/gitea that referenced this pull request Jan 21, 2025
* giteaofficial/main:
  [skip ci] Updated translations via Crowdin
  Fix incorrect ref commit ID usage (go-gitea#33331)
  Improve sync fork behavior (go-gitea#33319)
  Refactor response writer & access logger (go-gitea#33323)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
lgtm/done This PR has enough approvals to get merged. There are no important open reservations anymore. modifies/go Pull requests that update Go code modifies/templates This PR modifies the template files modifies/translation size/L Denotes a PR that changes 100-499 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

SYNC FORK always only syncs the base repo's default branch
4 participants