gitea/modules/git
Giteabot e9991b1f06
Refactor and tidy-up the merge/update branch code (#22568) (#23365)
Backport #22568

The merge and update branch code was previously a little tangled and had
some very long functions. The functions were not very clear in their
reasoning and there were deficiencies in their logging and at least one
bug in the handling of LFS for update by rebase.

This PR substantially refactors this code and splits things out to into
separate functions. It also attempts to tidy up the calls by wrapping
things in "context"s. There are also attempts to improve logging when
there are errors.

Signed-off-by: Andrew Thornton <art27@cantab.net>

Signed-off-by: Andrew Thornton <art27@cantab.net>
Co-authored-by: zeripath <art27@cantab.net>
Co-authored-by: techknowlogick <techknowlogick@gitea.io>
Co-authored-by: delvh <dev.lh@web.de>
2023-03-09 22:15:39 -05:00
..
foreachref Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
internal Refactor git command package to improve security and maintainability (#22678) 2023-02-04 10:30:43 +08:00
pipeline Refactor and tidy-up the merge/update branch code (#22568) (#23365) 2023-03-09 22:15:39 -05:00
tests/repos Fix commit retrieval by tag (#21804) (#23266) 2023-03-03 13:42:46 -06:00
url Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
batch_reader.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
blame_test.go Fix blame view missing lines (#22826) 2023-02-09 11:51:02 +08:00
blame.go Fix blame view missing lines (#22826) 2023-02-09 11:51:02 +08:00
blob_gogit.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
blob_nogogit.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
blob_test.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
blob.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
command_race_test.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
command_test.go Refactor git command package to improve security and maintainability (#22678) 2023-02-04 10:30:43 +08:00
command.go Refactor git command package to improve security and maintainability (#22678) 2023-02-04 10:30:43 +08:00
commit_convert_gogit.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
commit_info_gogit.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
commit_info_nogogit.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
commit_info_test.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
commit_info.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
commit_reader.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
commit_test.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
commit.go Use --message=%s for git commit message (#23028) 2023-02-21 14:12:57 +08:00
diff_test.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
diff.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
error.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
git_test.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
git.go Pass --global when calling git config --get, for consistency with git config --set (#23157) (#23199) 2023-02-28 17:53:15 -05:00
hook.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
last_commit_cache_gogit.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
last_commit_cache_nogogit.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
last_commit_cache.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
log_name_status.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
notes_gogit.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
notes_nogogit.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
notes_test.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
notes.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
parse_gogit_test.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
parse_gogit.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
parse_nogogit_test.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
parse_nogogit.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
README.md move code.gitea.io/git to code.gitea.io/gitea/modules/git (#6364) 2019-03-27 17:33:00 +08:00
ref.go Util type to parse ref name (#21969) 2022-12-01 19:56:04 +08:00
remote.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
repo_archive.go Refactor git command package to improve security and maintainability (#22678) 2023-02-04 10:30:43 +08:00
repo_attribute_test.go Remove deadcode (#22245) 2022-12-27 09:15:35 +08:00
repo_attribute.go Refactor legacy strange git operations (#22756) 2023-02-06 10:23:17 +08:00
repo_base_gogit.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
repo_base_nogogit.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
repo_base.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
repo_blame.go Refactor git command package to improve security and maintainability (#22678) 2023-02-04 10:30:43 +08:00
repo_blob_gogit.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
repo_blob_nogogit.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
repo_blob_test.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
repo_blob.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
repo_branch_gogit.go Refactor git command package to improve security and maintainability (#22678) 2023-02-04 10:30:43 +08:00
repo_branch_nogogit.go Refactor git command package to improve security and maintainability (#22678) 2023-02-04 10:30:43 +08:00
repo_branch_test.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
repo_branch.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
repo_commit_gogit.go Fix commit retrieval by tag (#21804) (#23266) 2023-03-03 13:42:46 -06:00
repo_commit_nogogit.go Fix commit retrieval by tag (#21804) (#23266) 2023-03-03 13:42:46 -06:00
repo_commit_test.go Fix commit retrieval by tag (#21804) (#23266) 2023-03-03 13:42:46 -06:00
repo_commit.go Refactor git command package to improve security and maintainability (#22678) 2023-02-04 10:30:43 +08:00
repo_commitgraph_gogit.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
repo_commitgraph.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
repo_compare_test.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
repo_compare.go Fix GetFilesChangedBetween if the file name may be escaped (#23272) (#23279) 2023-03-04 00:38:31 -05:00
repo_gpg.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
repo_hook.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
repo_index.go Use complete SHA to create and query commit status (#22244) 2022-12-27 21:12:49 +08:00
repo_language_stats_gogit.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
repo_language_stats_nogogit.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
repo_language_stats_test.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
repo_language_stats.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
repo_object.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
repo_ref_gogit.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
repo_ref_nogogit.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
repo_ref_test.go Fix commit retrieval by tag (#21804) (#23266) 2023-03-03 13:42:46 -06:00
repo_ref.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
repo_stats_test.go Fix commit retrieval by tag (#21804) (#23266) 2023-03-03 13:42:46 -06:00
repo_stats.go Refactor git command package to improve security and maintainability (#22678) 2023-02-04 10:30:43 +08:00
repo_tag_gogit.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
repo_tag_nogogit.go Refactor git command package to improve security and maintainability (#22678) 2023-02-04 10:30:43 +08:00
repo_tag_test.go Fix commit retrieval by tag (#21804) (#23266) 2023-03-03 13:42:46 -06:00
repo_tag.go Refactor git command package to improve security and maintainability (#22678) 2023-02-04 10:30:43 +08:00
repo_test.go Fix commit retrieval by tag (#21804) (#23266) 2023-03-03 13:42:46 -06:00
repo_tree_gogit.go Use complete SHA to create and query commit status (#22244) 2022-12-27 21:12:49 +08:00
repo_tree_nogogit.go Use complete SHA to create and query commit status (#22244) 2022-12-27 21:12:49 +08:00
repo_tree.go Refactor git command package to improve security and maintainability (#22678) 2023-02-04 10:30:43 +08:00
repo.go Use proxy for pull mirror (#22771) 2023-02-11 08:39:50 +08:00
sha1_gogit.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
sha1_nogogit.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
sha1_test.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
sha1.go Use complete SHA to create and query commit status (#22244) 2022-12-27 21:12:49 +08:00
signature_gogit.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
signature_nogogit.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
signature.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
submodule_test.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
submodule.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
tag_test.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
tag.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
tree_blob_gogit.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
tree_blob_nogogit.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
tree_blob.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
tree_entry_gogit.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
tree_entry_mode.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
tree_entry_nogogit.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
tree_entry_test.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
tree_entry.go Remember to attach the parent tree when converting TreeEntry() -> Tree() (#22902) 2023-02-14 21:23:04 +00:00
tree_gogit.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
tree_nogogit.go Refactor git command package to improve security and maintainability (#22678) 2023-02-04 10:30:43 +08:00
tree.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
utils_test.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
utils.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00

Git Module

This module is merged from https://github.com/go-gitea/git which is a Go module to access Git through shell commands. Now it's a part of gitea's main repository for easier pull request.