forgejo/modules/git
Lunny Xiao 0ca13c5eae
[PORT] Refactor the usage of batch catfile (gitea#31754)
When opening a repository, it will call `ensureValidRepository` and also
`CatFileBatch`. But sometimes these will not be used until repository
closed. So it's a waste of CPU to invoke 3 times git command for every
open repository.

This PR removed all of these from `OpenRepository` but only kept
checking whether the folder exists. When a batch is necessary, the
necessary functions will be invoked.

---
Conflict resolution: Because of the removal of go-git in (#4941)
`_nogogit.go` files were either renamed or merged into the 'common'
file. Git does handle the renames correctly, but for those that were
merged has to be manually copied pasted over. The patch looks the same,
201 additions 90 deletions as the original patch.

(cherry picked from commit c03baab678ba5b2e9d974aea147e660417f5d3f7)
2024-08-26 03:48:51 +02:00
..
foreachref Use refname:strip-2 instead of refname:short when syncing tags (#28797) 2024-01-16 08:13:07 +01:00
internal Refactor git command package to improve security and maintainability (#22678) 2023-02-04 10:30:43 +08:00
pipeline [PORT] Refactor the usage of batch catfile (gitea#31754) 2024-08-26 03:48:51 +02:00
pushoptions fix(hook): ignore unknown push options instead of failing 2024-07-02 21:39:01 +02:00
tests/repos [PERFORMANCE] git check-attr on bare repo if supported 2024-03-28 10:52:51 +01:00
url Add testifylint to lint checks (#4535) 2024-07-30 19:41:10 +00:00
batch.go [PORT] Refactor the usage of batch catfile (gitea#31754) 2024-08-26 03:48:51 +02:00
batch_reader.go [PORT] Refactor the usage of batch catfile (gitea#31754) 2024-08-26 03:48:51 +02:00
blame.go Add io.Closer guidelines (#29387) 2024-02-26 22:30:27 +01:00
blame_sha256_test.go Add testifylint to lint checks (#4535) 2024-07-30 19:41:10 +00:00
blame_test.go Add testifylint to lint checks (#4535) 2024-07-30 19:41:10 +00:00
blob.go [PORT] Refactor the usage of batch catfile (gitea#31754) 2024-08-26 03:48:51 +02:00
blob_test.go Add testifylint to lint checks (#4535) 2024-07-30 19:41:10 +00:00
command.go git-grep: fix for initial dashes in expressions 2024-08-12 22:12:47 +02:00
command_race_test.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
command_test.go git-grep: fix for initial dashes in expressions 2024-08-12 22:12:47 +02:00
commit.go Fix commit file status parser (#30602) 2024-04-21 16:28:16 +02:00
commit_info.go [PORT] Refactor the usage of batch catfile (gitea#31754) 2024-08-26 03:48:51 +02:00
commit_info_test.go Add testifylint to lint checks (#4535) 2024-07-30 19:41:10 +00:00
commit_reader.go Enable more revive linter rules (#30608) 2024-04-28 15:39:00 +02:00
commit_sha256_test.go [CHORE] Drop go-git support 2024-08-12 19:11:09 +02:00
commit_test.go Add testifylint to lint checks (#4535) 2024-07-30 19:41:10 +00:00
diff.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
diff_test.go Add testifylint to lint checks (#4535) 2024-07-30 19:41:10 +00:00
error.go Add merge style fast-forward-only (#28954) 2024-02-14 17:19:19 +01:00
git.go [CHORE] Drop go-git support 2024-08-12 19:11:09 +02:00
git_test.go Add testifylint to lint checks (#4535) 2024-07-30 19:41:10 +00:00
grep.go Merge pull request 'git-grep: refactor defaults' (#4964) from yoctozepto/git-grep-refactor-defaults into forgejo 2024-08-19 13:12:37 +00:00
grep_test.go git-grep: fix for initial dashes in expressions 2024-08-12 22:12:47 +02:00
hook.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
last_commit_cache.go [CHORE] Drop go-git support 2024-08-12 19:11:09 +02:00
log_name_status.go Fix linting issues 2024-08-18 16:25:13 +02:00
notes.go [CHORE] Drop go-git support 2024-08-12 19:11:09 +02:00
notes_test.go Add testifylint to lint checks (#4535) 2024-07-30 19:41:10 +00:00
object_format.go Enable unparam linter (#31277) 2024-06-16 13:42:58 +02:00
object_id.go chore: fix typos identified by mispell 2024-05-25 09:43:50 +02:00
object_id_test.go fix: hook post-receive for sha256 repos 2024-05-15 16:43:16 +02:00
object_signature.go Rename CommitGPGSignature to ObjectSignature 2024-03-26 08:09:36 +00:00
parse.go [CHORE] Drop go-git support 2024-08-12 19:11:09 +02:00
parse_test.go [CHORE] Drop go-git support 2024-08-12 19:11:09 +02: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 Add codespell support and fix a good number of typos with its help (#3270) 2024-05-09 13:49:37 +00:00
ref_test.go Use the type RefName for all the needed places and fix pull mirror sync bugs (#24634) 2023-05-26 01:04:48 +00:00
remote.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
repo.go [FEAT] Allow pushmirror to use publickey authentication 2024-08-22 17:05:07 +02:00
repo_archive.go Fix archive creating LFS hooks and breaking pull requests (#28848) 2024-01-19 05:49:18 +00:00
repo_attribute.go Add codespell support and fix a good number of typos with its help (#3270) 2024-05-09 13:49:37 +00:00
repo_attribute_test.go Add testifylint to lint checks (#4535) 2024-07-30 19:41:10 +00:00
repo_base.go [PORT] Refactor the usage of batch catfile (gitea#31754) 2024-08-26 03:48:51 +02:00
repo_blame.go Remove git.FileBlame (#25841) 2023-07-12 19:07:29 +02:00
repo_blob_test.go Add testifylint to lint checks (#4535) 2024-07-30 19:41:10 +00:00
repo_branch.go [PORT] Refactor the usage of batch catfile (gitea#31754) 2024-08-26 03:48:51 +02:00
repo_branch_test.go Fix IsObjectExist with gogit (#31790) (tests only) 2024-08-13 09:05:43 +02:00
repo_commit.go [PORT] Refactor the usage of batch catfile (gitea#31754) 2024-08-26 03:48:51 +02:00
repo_commit_test.go Add testifylint to lint checks (#4535) 2024-07-30 19:41:10 +00:00
repo_commitgraph.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
repo_compare.go Lazy load object format with command line and don't do it in OpenRepository (#29712) 2024-03-20 08:46:28 +01:00
repo_compare_test.go Add testifylint to lint checks (#4535) 2024-07-30 19:41:10 +00:00
repo_gpg.go Abstract hash function usage (#28138) 2023-12-13 21:02:00 +00:00
repo_hook.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
repo_index.go Fix slow patch checking with commits that add or remove many files (#31548) 2024-07-07 07:33:01 +02:00
repo_language_stats.go [PORT] Refactor the usage of batch catfile (gitea#31754) 2024-08-26 03:48:51 +02:00
repo_language_stats_test.go [CHORE] Drop go-git support 2024-08-12 19:11:09 +02:00
repo_object.go Improve ObjectFormat interface (#28496) 2023-12-19 07:20:47 +00:00
repo_ref.go [CHORE] Drop go-git support 2024-08-12 19:11:09 +02:00
repo_ref_test.go Add testifylint to lint checks (#4535) 2024-07-30 19:41:10 +00:00
repo_stats.go Fix some pending problems (#29985) 2024-03-26 19:04:26 +01:00
repo_stats_test.go Add testifylint to lint checks (#4535) 2024-07-30 19:41:10 +00:00
repo_tag.go [PORT] Refactor the usage of batch catfile (gitea#31754) 2024-08-26 03:48:51 +02:00
repo_tag_test.go Add testifylint to lint checks (#4535) 2024-07-30 19:41:10 +00:00
repo_test.go Add testifylint to lint checks (#4535) 2024-07-30 19:41:10 +00:00
repo_tree.go [PORT] Refactor the usage of batch catfile (gitea#31754) 2024-08-26 03:48:51 +02:00
signature.go [CHORE] Drop go-git support 2024-08-12 19:11:09 +02:00
signature_test.go [gitea] Refactor parseSignatureFromCommitLine (#29054) 2024-02-10 10:53:43 +01:00
submodule.go Enable more revive linter rules (#30608) 2024-04-28 15:39:00 +02:00
submodule_test.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
tag.go Count downloads for tag archives 2024-04-08 12:51:27 +02:00
tag_test.go Add testifylint to lint checks (#4535) 2024-07-30 19:41:10 +00:00
tree.go [PORT] Refactor the usage of batch catfile (gitea#31754) 2024-08-26 03:48:51 +02:00
tree_blob.go [CHORE] Drop go-git support 2024-08-12 19:11:09 +02:00
tree_entry.go [PORT] Refactor the usage of batch catfile (gitea#31754) 2024-08-26 03:48:51 +02:00
tree_entry_mode.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
tree_test.go Add testifylint to lint checks (#4535) 2024-07-30 19:41:10 +00:00
utils.go Refactor sha1 and time-limited code (#31023) 2024-05-26 18:43:30 +02:00
utils_test.go [CHORE] Drop go-git support 2024-08-12 19:11:09 +02: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.