gitea/modules/git
Lunny Xiao df7f1c2ead
Fix protected branch files detection on pre_receive hook (#31778)
Fix #31738

When pushing a new branch, the old commit is zero. Most git commands
cannot recognize the zero commit id. To get the changed files in the
push, we need to get the first diverge commit of this branch. In most
situations, we could check commits one by one until one commit is
contained by another branch. Then we will think that commit is the
diverge point.

And in a pre-receive hook, this will be more difficult because all
commits haven't been merged and they actually stored in a temporary
place by git. So we need to bring some envs to let git know the commit
exist.
2024-08-06 13:32:49 +00: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 Deduplicate lfs common code (#30704) 2024-04-26 02:53:30 +00:00
tests/repos Add support for sha256 repositories (#23894) 2024-01-19 17:05:02 +01:00
url Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
README.md
attribute.go Refactor git attributes (#29356) 2024-02-24 18:46:49 +00:00
batch_reader.go Enable more `revive` linter rules (#30608) 2024-04-22 11:48:42 +00:00
blame.go Make sure git version&feature are always prepared (#30877) 2024-05-06 18:34:16 +02:00
blame_sha256_test.go Lazy load object format with command line and don't do it in OpenRepository (#29712) 2024-03-12 04:21:27 +00:00
blame_test.go Lazy load object format with command line and don't do it in OpenRepository (#29712) 2024-03-12 04:21:27 +00:00
blob.go Fix profile render when the README.md size is larger than 1024 bytes (#25131) 2023-06-13 09:02:25 +00:00
blob_gogit.go Abstract hash function usage (#28138) 2023-12-13 21:02:00 +00:00
blob_nogogit.go Do not double close reader (#29354) 2024-02-24 11:45:59 +00:00
blob_test.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
command.go Support repo code search without setting up an indexer (#29998) 2024-03-24 17:05:00 +01:00
command_race_test.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
command_test.go Improve git log for debugging (#24095) 2023-04-13 19:17:27 -04:00
commit.go Make sure git version&feature are always prepared (#30877) 2024-05-06 18:34:16 +02:00
commit_convert_gogit.go Refactor commit signature parser (#30228) 2024-04-01 20:23:17 +00:00
commit_info.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
commit_info_gogit.go Abstract hash function usage (#28138) 2023-12-13 21:02:00 +00:00
commit_info_nogogit.go Resolve lint for unused parameter and unnecessary type arguments (#30750) 2024-04-29 08:47:56 +00:00
commit_info_test.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
commit_reader.go Enable more `revive` linter rules (#30608) 2024-04-22 11:48:42 +00:00
commit_sha256_test.go Lazy load object format with command line and don't do it in OpenRepository (#29712) 2024-03-12 04:21:27 +00:00
commit_test.go Fix protected branch files detection on pre_receive hook (#31778) 2024-08-06 13:32:49 +00:00
diff.go Fix protected branch files detection on pre_receive hook (#31778) 2024-08-06 13:32:49 +00:00
diff_test.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
error.go Add merge style `fast-forward-only` (#28954) 2024-02-12 23:37:23 +01:00
git.go Make sure git version&feature are always prepared (#30877) 2024-05-06 18:34:16 +02:00
git_test.go Refactor git version functions and check compatibility (#29155) 2024-02-14 17:18:30 +00:00
grep.go Improve grep search (#30843) 2024-05-03 09:13:48 +00:00
grep_test.go Improve grep search (#30843) 2024-05-03 09:13:48 +00:00
hook.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
last_commit_cache.go Refactor cache and disable go-chi cache (#30417) 2024-04-13 08:38:44 +00:00
last_commit_cache_gogit.go Abstract hash function usage (#28138) 2023-12-13 21:02:00 +00:00
last_commit_cache_nogogit.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
log_name_status.go bump to use go 1.22 (#29119) 2024-02-14 18:19:57 +00:00
notes.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
notes_gogit.go Abstract hash function usage (#28138) 2023-12-13 21:02:00 +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
object_format.go Make sure git version&feature are always prepared (#30877) 2024-05-06 18:34:16 +02:00
object_id.go Make sure git version&feature are always prepared (#30877) 2024-05-06 18:34:16 +02:00
object_id_gogit.go Add support for sha256 repositories (#23894) 2024-01-19 17:05:02 +01:00
object_id_test.go Fix incorrect object id hash function (#30708) 2024-04-26 09:49:48 +00:00
parse_gogit.go Resolve lint for unused parameter and unnecessary type arguments (#30750) 2024-04-29 08:47:56 +00:00
parse_gogit_test.go Resolve lint for unused parameter and unnecessary type arguments (#30750) 2024-04-29 08:47:56 +00:00
parse_nogogit.go Resolve lint for unused parameter and unnecessary type arguments (#30750) 2024-04-29 08:47:56 +00:00
parse_nogogit_test.go Resolve lint for unused parameter and unnecessary type arguments (#30750) 2024-04-29 08:47:56 +00:00
ref.go Update misspell to 0.5.1 and add `misspellings.csv` (#30573) 2024-04-27 08:03:49 +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 Make sure git version&feature are always prepared (#30877) 2024-05-06 18:34:16 +02:00
repo.go Make "sync branch" also sync object format and add tests (#30878) 2024-05-06 17:02:30 +00: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 Refactor git attributes (#29356) 2024-02-24 18:46:49 +00:00
repo_attribute_test.go Refactor git attributes (#29356) 2024-02-24 18:46:49 +00:00
repo_base_gogit.go Make sure git version&feature are always prepared (#30877) 2024-05-06 18:34:16 +02:00
repo_base_nogogit.go Make sure git version&feature are always prepared (#30877) 2024-05-06 18:34:16 +02:00
repo_blame.go Remove `git.FileBlame` (#25841) 2023-07-12 19:07:29 +02:00
repo_blob.go Improve ObjectFormat interface (#28496) 2023-12-19 07:20:47 +00:00
repo_blob_gogit.go Abstract hash function usage (#28138) 2023-12-13 21:02:00 +00:00
repo_blob_nogogit.go Abstract hash function usage (#28138) 2023-12-13 21:02:00 +00:00
repo_blob_test.go Improve ObjectFormat interface (#28496) 2023-12-19 07:20:47 +00:00
repo_branch.go Move get/set default branch from git package to gitrepo package to hide repopath (#29126) 2024-03-08 15:30:10 +08:00
repo_branch_gogit.go Simplify how git repositories are opened (#28937) 2024-01-27 21:09:51 +01:00
repo_branch_nogogit.go Simplify how git repositories are opened (#28937) 2024-01-27 21:09:51 +01:00
repo_branch_test.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
repo_commit.go Fix protected branch files detection on pre_receive hook (#31778) 2024-08-06 13:32:49 +00:00
repo_commit_gogit.go Lazy load object format with command line and don't do it in OpenRepository (#29712) 2024-03-12 04:21:27 +00:00
repo_commit_nogogit.go Lazy load object format with command line and don't do it in OpenRepository (#29712) 2024-03-12 04:21:27 +00:00
repo_commit_test.go Fix protected branch files detection on pre_receive hook (#31778) 2024-08-06 13:32:49 +00:00
repo_commitgraph.go Make sure git version&feature are always prepared (#30877) 2024-05-06 18:34:16 +02:00
repo_commitgraph_gogit.go Update go dependencies and fix go-git (#28893) 2024-01-23 05:40:00 +00:00
repo_compare.go Lazy load object format with command line and don't do it in OpenRepository (#29712) 2024-03-12 04:21:27 +00:00
repo_compare_test.go Lazy load object format with command line and don't do it in OpenRepository (#29712) 2024-03-12 04:21:27 +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-04 18:57:11 +00:00
repo_language_stats.go Refactor git attributes (#29356) 2024-02-24 18:46:49 +00:00
repo_language_stats_gogit.go Refactor git attributes (#29356) 2024-02-24 18:46:49 +00:00
repo_language_stats_nogogit.go Refactor git attributes (#29356) 2024-02-24 18:46:49 +00:00
repo_language_stats_test.go Merge different languages for language stats (#24900) 2023-05-24 19:37:36 +00:00
repo_object.go Improve ObjectFormat interface (#28496) 2023-12-19 07:20:47 +00:00
repo_ref.go Show branches and tags that contain a commit (#25180) 2023-07-27 12:47:41 +02:00
repo_ref_gogit.go Abstract hash function usage (#28138) 2023-12-13 21:02:00 +00:00
repo_ref_nogogit.go Improve ObjectFormat interface (#28496) 2023-12-19 07:20:47 +00:00
repo_ref_test.go Fix commit retrieval by tag (#21804) 2023-03-02 13:32:21 +08:00
repo_stats.go Fix some pending problems (#29985) 2024-03-22 19:17:30 +08:00
repo_stats_test.go Fix commit retrieval by tag (#21804) 2023-03-02 13:32:21 +08:00
repo_tag.go Refactor commit signature parser (#30228) 2024-04-01 20:23:17 +00:00
repo_tag_gogit.go Improve ObjectFormat interface (#28496) 2023-12-19 07:20:47 +00:00
repo_tag_nogogit.go Discard unread data of `git cat-file` (#29297) 2024-02-22 03:48:19 +00:00
repo_tag_test.go Refactor commit signature parser (#30228) 2024-04-01 20:23:17 +00:00
repo_test.go Faster git.GetDivergingCommits (#24482) 2023-05-04 05:08:41 +00:00
repo_tree.go Improve ObjectFormat interface (#28496) 2023-12-19 07:20:47 +00:00
repo_tree_gogit.go Lazy load object format with command line and don't do it in OpenRepository (#29712) 2024-03-12 04:21:27 +00:00
repo_tree_nogogit.go Lazy load object format with command line and don't do it in OpenRepository (#29712) 2024-03-12 04:21:27 +00:00
signature.go Refactor parseSignatureFromCommitLine (#29054) 2024-02-09 11:02:53 +08:00
signature_gogit.go Refactor parseSignatureFromCommitLine (#29054) 2024-02-09 11:02:53 +08:00
signature_nogogit.go Refactor parseSignatureFromCommitLine (#29054) 2024-02-09 11:02:53 +08:00
signature_test.go Refactor parseSignatureFromCommitLine (#29054) 2024-02-09 11:02:53 +08:00
submodule.go Enable more `revive` linter rules (#30608) 2024-04-22 11:48:42 +00:00
submodule_test.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
tag.go Refactor commit signature parser (#30228) 2024-04-01 20:23:17 +00:00
tag_test.go Refactor commit signature parser (#30228) 2024-04-01 20:23:17 +00:00
tree.go Abstract hash function usage (#28138) 2023-12-13 21:02:00 +00:00
tree_blob.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
tree_blob_gogit.go Abstract hash function usage (#28138) 2023-12-13 21:02:00 +00:00
tree_blob_nogogit.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_entry_gogit.go Abstract hash function usage (#28138) 2023-12-13 21:02:00 +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 Abstract hash function usage (#28138) 2023-12-13 21:02:00 +00:00
tree_entry_test.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
tree_gogit.go Abstract hash function usage (#28138) 2023-12-13 21:02:00 +00:00
tree_nogogit.go Resolve lint for unused parameter and unnecessary type arguments (#30750) 2024-04-29 08:47:56 +00:00
tree_test.go Discard unread data of `git cat-file` (#29297) 2024-02-22 03:48:19 +00:00
utils.go Refactor sha1 and time-limited code (#31023) 2024-05-20 15:12:50 +00:00
utils_test.go Refactor sha1 and time-limited code (#31023) 2024-05-20 15:12:50 +00:00

README.md

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.