forgejo/modules/git
Gusted 52dc892fad
[GITEA] Drop sha256-simd in favor of stdlib
- In Go 1.21 the crypto/sha256 [got a massive
improvement](https://go.dev/doc/go1.21#crypto/sha256) by utilizing the
SHA instructions for AMD64 CPUs, which sha256-simd already was doing.
The performance is now on par and I think it's preferable to use the
standard library rather than a package when possible.

```
cpu: AMD Ryzen 5 3600X 6-Core Processor
                │  simd.txt   │               go.txt                │
                │   sec/op    │    sec/op     vs base               │
Hash/8Bytes-12    63.25n ± 1%    73.38n ± 1%  +16.02% (p=0.002 n=6)
Hash/64Bytes-12   98.73n ± 1%   105.30n ± 1%   +6.65% (p=0.002 n=6)
Hash/1K-12        567.2n ± 1%    572.8n ± 1%   +0.99% (p=0.002 n=6)
Hash/8K-12        4.062µ ± 1%    4.062µ ± 1%        ~ (p=0.396 n=6)
Hash/1M-12        512.1µ ± 0%    510.6µ ± 1%        ~ (p=0.485 n=6)
Hash/5M-12        2.556m ± 1%    2.564m ± 0%        ~ (p=0.093 n=6)
Hash/10M-12       5.112m ± 0%    5.127m ± 0%        ~ (p=0.093 n=6)
geomean           13.82µ         14.27µ        +3.28%

                │   simd.txt   │               go.txt                │
                │     B/s      │     B/s       vs base               │
Hash/8Bytes-12    120.6Mi ± 1%   104.0Mi ± 1%  -13.81% (p=0.002 n=6)
Hash/64Bytes-12   618.2Mi ± 1%   579.8Mi ± 1%   -6.22% (p=0.002 n=6)
Hash/1K-12        1.682Gi ± 1%   1.665Gi ± 1%   -0.98% (p=0.002 n=6)
Hash/8K-12        1.878Gi ± 1%   1.878Gi ± 1%        ~ (p=0.310 n=6)
Hash/1M-12        1.907Gi ± 0%   1.913Gi ± 1%        ~ (p=0.485 n=6)
Hash/5M-12        1.911Gi ± 1%   1.904Gi ± 0%        ~ (p=0.093 n=6)
Hash/10M-12       1.910Gi ± 0%   1.905Gi ± 0%        ~ (p=0.093 n=6)
geomean           1.066Gi        1.032Gi        -3.18%
```

(cherry picked from commit abd94ff5b5)
(cherry picked from commit 15e81637ab)

Conflicts:
	go.mod
	https://codeberg.org/forgejo/forgejo/pulls/1581
(cherry picked from commit 325d92917f)

Conflicts:
	modules/context/context_cookie.go
	https://codeberg.org/forgejo/forgejo/pulls/1617
(cherry picked from commit 358819e895)
(cherry picked from commit 362fd7aae1)
(cherry picked from commit 4f64ee294e)
(cherry picked from commit 4bde77f7b1)
(cherry picked from commit 1311e30a81)
(cherry picked from commit 57b69e334c)
2023-12-04 14:22:20 +01:00
..
foreachref Replace interface{} with any (#25686) 2023-07-04 18:36:08 +00:00
internal
pipeline Refactor and tidy-up the merge/update branch code (#22568) 2023-03-07 15:07:35 -05:00
tests/repos Support .git-blame-ignore-revs file (#26395) 2023-09-16 17:42:34 +00:00
url
batch_reader.go Make git batch operations use parent context timeout instead of default timeout (#26325) 2023-08-04 14:50:41 +02:00
blame.go Read previous info from git blame (#28306) 2023-12-01 01:26:52 +00:00
blame_test.go Read previous info from git blame (#28306) 2023-12-01 01:26:52 +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
blob_nogogit.go
blob_test.go
command.go Clarify the git command Stdin hanging problem (#26967) 2023-09-08 13:20:38 +00:00
command_race_test.go
command_test.go Improve git log for debugging (#24095) 2023-04-13 19:17:27 -04:00
commit.go [GITEA] Detect file rename and show in history 2023-12-04 14:22:19 +01:00
commit_convert_gogit.go
commit_info.go
commit_info_gogit.go Replace interface{} with any (#25686) 2023-07-04 18:36:08 +00:00
commit_info_nogogit.go
commit_info_test.go
commit_reader.go
commit_test.go [GITEA] Detect file rename and show in history 2023-12-04 14:22:19 +01:00
diff.go
diff_test.go
error.go
git.go Update tool dependencies, lock govulncheck and actionlint (#25655) 2023-07-09 11:58:06 +00:00
git_test.go Support changing git config through app.ini, use diff.algorithm=histogram by default (#24860) 2023-05-23 16:30:19 +00:00
hook.go
last_commit_cache.go [GITEA] Drop sha256-simd in favor of stdlib 2023-12-04 14:22:20 +01:00
last_commit_cache_gogit.go
last_commit_cache_nogogit.go
log_name_status.go Remove redundant nil check in WalkGitLog (#26773) 2023-08-29 11:03:43 +00:00
notes.go
notes_gogit.go
notes_nogogit.go
notes_test.go
parse_gogit.go
parse_gogit_test.go
parse_nogogit.go
parse_nogogit_test.go
README.md
ref.go Fix compatible for webhook ref type (#25195) 2023-06-13 06:05:28 +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
repo.go Fix git 2.11 error when checking IsEmpty (again) (#27399) 2023-10-02 15:59:39 +00:00
repo_archive.go
repo_attribute.go
repo_attribute_test.go Replace assert.Fail with assert.FailNow (#27578) 2023-10-11 11:02:24 +00:00
repo_base.go
repo_base_gogit.go
repo_base_nogogit.go Update tool dependencies, lock govulncheck and actionlint (#25655) 2023-07-09 11:58:06 +00:00
repo_blame.go Remove git.FileBlame (#25841) 2023-07-12 19:07:29 +02:00
repo_blob.go
repo_blob_gogit.go
repo_blob_nogogit.go
repo_blob_test.go
repo_branch.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
repo_branch_gogit.go
repo_branch_nogogit.go
repo_branch_test.go
repo_commit.go Remove redundant len check around loop (#27464) 2023-10-06 14:49:37 +08:00
repo_commit_gogit.go Fix commit retrieval by tag (#21804) 2023-03-02 13:32:21 +08:00
repo_commit_nogogit.go Fix commit retrieval by tag (#21804) 2023-03-02 13:32:21 +08:00
repo_commit_test.go Use more specific test methods (#24265) 2023-04-22 17:56:27 -04:00
repo_commitgraph.go
repo_commitgraph_gogit.go
repo_compare.go Support getting changed files when commit ID is EmptySHA (#26290) 2023-08-04 02:53:15 +00:00
repo_compare_test.go Support getting changed files when commit ID is EmptySHA (#26290) 2023-08-04 02:53:15 +00:00
repo_gpg.go
repo_hook.go
repo_index.go Update tool dependencies, lock govulncheck and actionlint (#25655) 2023-07-09 11:58:06 +00:00
repo_language_stats.go Merge different languages for language stats (#24900) 2023-05-24 19:37:36 +00:00
repo_language_stats_gogit.go Merge different languages for language stats (#24900) 2023-05-24 19:37:36 +00:00
repo_language_stats_nogogit.go Merge different languages for language stats (#24900) 2023-05-24 19:37:36 +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
repo_ref.go Show branches and tags that contain a commit (#25180) 2023-07-27 12:47:41 +02:00
repo_ref_gogit.go
repo_ref_nogogit.go
repo_ref_test.go Fix commit retrieval by tag (#21804) 2023-03-02 13:32:21 +08:00
repo_stats.go
repo_stats_test.go Fix commit retrieval by tag (#21804) 2023-03-02 13:32:21 +08:00
repo_tag.go
repo_tag_gogit.go
repo_tag_nogogit.go
repo_tag_test.go Replace assert.Fail with assert.FailNow (#27578) 2023-10-11 11:02:24 +00:00
repo_test.go Faster git.GetDivergingCommits (#24482) 2023-05-04 05:08:41 +00:00
repo_tree.go
repo_tree_gogit.go
repo_tree_nogogit.go
sha1.go Support getting changed files when commit ID is EmptySHA (#26290) 2023-08-04 02:53:15 +00:00
sha1_gogit.go
sha1_nogogit.go
sha1_test.go
signature.go
signature_gogit.go
signature_nogogit.go Update tool dependencies, lock govulncheck and actionlint (#25655) 2023-07-09 11:58:06 +00:00
submodule.go Upgrade to golangci-lint@v1.55.0 (#27756) 2023-10-24 02:54:59 +00:00
submodule_test.go
tag.go
tag_test.go
tree.go
tree_blob.go
tree_blob_gogit.go
tree_blob_nogogit.go
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
tree_entry_mode.go
tree_entry_nogogit.go
tree_entry_test.go
tree_gogit.go
tree_nogogit.go
utils.go Replace interface{} with any (#25686) 2023-07-04 18:36:08 +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.