gitea/services/pull
Lunny Xiao d2e994db2c
Move git config/remote to gitrepo package and add global lock to resolve possible conflict when updating repository git config file (#35151)
Partially fix #32018 

`git config` and `git remote` write operations create a temporary file
named `config.lock`. Since these operations are not atomic, they must
not be run in parallel. If two requests attempt to modify the same
repository concurrently—such as during a compare operation—one may fail
due to the presence of an existing `config.lock` file.

In cases where `config.lock` is left behind due to an unexpected program
exit, a global lock mechanism could allow us to safely remove the stale
lock file when a related error is detected. While this behavior is not
yet implemented in this PR, it is planned for a future enhancement.

---------

Signed-off-by: wxiaoguang <wxiaoguang@gmail.com>
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
2025-09-01 18:47:04 +07:00
..
check.go Rename pull request GetGitRefName to GetGitHeadRefName (#35093) 2025-07-16 21:33:33 +07:00
check_test.go Remove incorrect "db.DefaultContext" usages (#35366) 2025-08-28 03:52:43 +07:00
comment.go Update misspell to 0.5.1 and add `misspellings.csv` (#30573) 2024-04-27 08:03:49 +07:00
commit_status.go Rename pull request GetGitRefName to GetGitHeadRefName (#35093) 2025-07-16 21:33:33 +07:00
commit_status_test.go Fix required contexts and commit status matching bug (#34815) 2025-06-22 23:31:46 +07:00
compare.go Move git config/remote to gitrepo package and add global lock to resolve possible conflict when updating repository git config file (#35151) 2025-09-01 18:47:04 +07:00
edits.go
lfs.go Remove incorrect "db.DefaultContext" usages (#35366) 2025-08-28 03:52:43 +07:00
main_test.go
merge.go Use db.WithTx/WithTx2 instead of TxContext when possible (#35130) 2025-07-22 10:02:01 +07:00
merge_ff_only.go Remove context from git struct (#33793) 2025-03-04 11:56:11 +07:00
merge_merge.go Remove context from git struct (#33793) 2025-03-04 11:56:11 +07:00
merge_prepare.go Improve instance wide ssh commit signing (#34341) 2025-06-11 10:32:55 +07:00
merge_rebase.go Remove context from git struct (#33793) 2025-03-04 11:56:11 +07:00
merge_squash.go Improve instance wide ssh commit signing (#34341) 2025-06-11 10:32:55 +07:00
merge_test.go Always use an empty line to separate the commit message and trailer (#34512) 2025-06-02 06:29:16 +07:00
patch.go Rename pull request GetGitRefName to GetGitHeadRefName (#35093) 2025-07-16 21:33:33 +07:00
patch_unmerged.go Remove context from git struct (#33793) 2025-03-04 11:56:11 +07:00
protected_branch.go Move git references checking to gitrepo packages to reduce expose of repository path (#33891) 2025-03-15 19:48:59 +07:00
pull.go Move git config/remote to gitrepo package and add global lock to resolve possible conflict when updating repository git config file (#35151) 2025-09-01 18:47:04 +07:00
pull_test.go Remove incorrect "db.DefaultContext" usages (#35366) 2025-08-28 03:52:43 +07:00
review.go Rename pull request GetGitRefName to GetGitHeadRefName (#35093) 2025-07-16 21:33:33 +07:00
review_test.go Remove incorrect "db.DefaultContext" usages (#35366) 2025-08-28 03:52:43 +07:00
reviewer.go Fix team permissions (#34827) 2025-06-24 21:24:09 +07:00
reviewer_test.go Remove incorrect "db.DefaultContext" usages (#35366) 2025-08-28 03:52:43 +07:00
temp_repo.go Rename pull request GetGitRefName to GetGitHeadRefName (#35093) 2025-07-16 21:33:33 +07:00
update.go Fix possible pull request broken when leave the page immediately after clicking the update button (#34509) 2025-06-04 17:09:08 +07:00
update_rebase.go Remove context from git struct (#33793) 2025-03-04 11:56:11 +07:00