forgejo/modules/git
forgejo-backport-action 9f80081795 [v7.0/forgejo] [REFACTOR] git attribute: test proper cancellation and unify nul-byte reader (#2939)
**Backport:** https://codeberg.org/forgejo/forgejo/pulls/2906

Following #2763 (refactor of git check-attr)
and #2866 (wrong log.Error format in check-attr)

- refactors the `nul-byte` reader to be used in both the streaming and one-off cases.
- add test for some failure cases
- don't log the error returned by `cmd.Run`, but return it to the `CheckPath` caller (which can then decide what to do with it).

This should solve the following flaky `log.Error` (or at least move it to the caller, instead of being inside a random goroutine):

https://codeberg.org/forgejo/forgejo/actions/runs/9541/jobs/5#jobstep-7-839

> FATAL ERROR: log.Error has been called: 2024/03/28 14:30:33 ...it/repo_attribute.go:313:func2() [E] Unable to open checker for 3fa2f829675543ecfc16b2891aebe8bf0608a8f4. Error: failed to run attr-check. Error: exit status 128
        Stderr: fatal: this operation must be run in a work tree

Co-authored-by: oliverpool <git@olivier.pfad.fr>
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/2939
Reviewed-by: oliverpool <oliverpool@noreply.codeberg.org>
Co-authored-by: forgejo-backport-action <forgejo-backport-action@noreply.codeberg.org>
Co-committed-by: forgejo-backport-action <forgejo-backport-action@noreply.codeberg.org>
2024-04-01 06:44:46 +00:00
..
foreachref Use refname:strip-2 instead of refname:short when syncing tags (#28797) 2024-01-16 08:13:07 +01:00
internal
pipeline Discard unread data of git cat-file (#29297) 2024-02-26 22:30:25 +01:00
tests/repos [PERFORMANCE] git check-attr on bare repo if supported 2024-03-28 10:52:51 +01:00
url
batch_reader.go Discard unread data of git cat-file (#29297) 2024-02-26 22:30:25 +01:00
blame.go Add io.Closer guidelines (#29387) 2024-02-26 22:30:27 +01:00
blame_sha256_test.go Lazy load object format with command line and don't do it in OpenRepository (#29712) 2024-03-20 08:46:28 +01:00
blame_test.go Lazy load object format with command line and don't do it in OpenRepository (#29712) 2024-03-20 08:46:28 +01: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-26 22:30:26 +01:00
blob_test.go
command.go Support repo code search without setting up an indexer (#29998) 2024-03-28 05:16:51 +00:00
command_race_test.go
command_test.go
commit.go Fix some pending problems (#29985) 2024-03-26 19:04:26 +01:00
commit_convert_gogit.go Rename CommitGPGSignature to ObjectSignature 2024-03-26 08:09:36 +00:00
commit_info.go
commit_info_gogit.go Abstract hash function usage (#28138) 2023-12-13 21:02:00 +00:00
commit_info_nogogit.go Discard unread data of git cat-file (#29297) 2024-02-26 22:30:25 +01:00
commit_info_test.go
commit_reader.go Rename CommitGPGSignature to ObjectSignature 2024-03-26 08:09:36 +00:00
commit_sha256_test.go Lazy load object format with command line and don't do it in OpenRepository (#29712) 2024-03-20 08:46:28 +01:00
commit_test.go [GITEA] Detect file rename and show in history 2024-02-05 16:09:40 +01:00
diff.go
diff_test.go
error.go Add merge style fast-forward-only (#28954) 2024-02-14 17:19:19 +01:00
git.go Merge pull request '[PERFORMANCE] git check-attr on bare repo if supported' (#2763) from oliverpool/forgejo:check_attr_bare into forgejo 2024-03-28 11:14:52 +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
grep.go replace IfZero with cmp.Or 2024-03-28 11:58:26 +00:00
grep_test.go Fix git grep search limit, add test (#30071) 2024-03-28 07:48:35 +00:00
hook.go
last_commit_cache.go [GITEA] Drop sha256-simd in favor of stdlib 2024-02-05 16:09:40 +01:00
last_commit_cache_gogit.go Abstract hash function usage (#28138) 2023-12-13 21:02:00 +00:00
last_commit_cache_nogogit.go
log_name_status.go [CLEANUP] make golangci-lint@v1.56.1 happy 2024-02-15 16:19:36 +01:00
notes.go
notes_gogit.go Abstract hash function usage (#28138) 2023-12-13 21:02:00 +00:00
notes_nogogit.go
notes_test.go
object_format.go Add support for sha256 repositories (#23894) 2024-01-19 17:05:02 +01:00
object_id.go Add support for sha256 repositories (#23894) 2024-01-19 17:05:02 +01:00
object_id_gogit.go Add support for sha256 repositories (#23894) 2024-01-19 17:05:02 +01:00
object_id_test.go Adjust object format interface (#28469) 2023-12-17 11:56:08 +00:00
object_signature.go Rename CommitGPGSignature to ObjectSignature 2024-03-26 08:09:36 +00:00
parse_gogit.go Improve ObjectFormat interface (#28496) 2023-12-19 07:20:47 +00:00
parse_gogit_test.go Improve ObjectFormat interface (#28496) 2023-12-19 07:20:47 +00:00
parse_nogogit.go Improve ObjectFormat interface (#28496) 2023-12-19 07:20:47 +00:00
parse_nogogit_test.go Improve ObjectFormat interface (#28496) 2023-12-19 07:20:47 +00:00
README.md
ref.go Adjust object format interface (#28469) 2023-12-17 11:56:08 +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 loadOneBranch panic (#29938) 2024-03-26 19:04:26 +01: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 [v7.0/forgejo] [REFACTOR] git attribute: test proper cancellation and unify nul-byte reader (#2939) 2024-04-01 06:44:46 +00:00
repo_attribute_test.go [v7.0/forgejo] [REFACTOR] git attribute: test proper cancellation and unify nul-byte reader (#2939) 2024-04-01 06:44:46 +00:00
repo_base.go Simplify how git repositories are opened (#28937) 2024-01-27 21:09:51 +01:00
repo_base_gogit.go Add io.Closer guidelines (#29387) 2024-02-26 22:30:27 +01:00
repo_base_nogogit.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_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-11 23:36:59 +07: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
repo_commit.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_commit_gogit.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_commit_nogogit.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_commit_test.go
repo_commitgraph.go
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-20 08:46:28 +01:00
repo_compare_test.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_gpg.go Abstract hash function usage (#28138) 2023-12-13 21:02:00 +00:00
repo_hook.go
repo_index.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_language_stats.go Convert linguist attribute handling to optional.Option 2024-02-26 12:52:59 +01:00
repo_language_stats_gogit.go Correctly support linguist-documentation=false 2024-02-26 14:18:33 +01:00
repo_language_stats_nogogit.go [PERFORMANCE] git check-attr on bare repo if supported 2024-03-28 10:52:51 +01: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
repo_stats.go Fix some pending problems (#29985) 2024-03-26 19:04:26 +01:00
repo_stats_test.go
repo_tag.go Rename CommitGPGSignature to ObjectSignature 2024-03-26 08:09:36 +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-26 22:30:25 +01:00
repo_tag_test.go Rename CommitGPGSignature to ObjectSignature 2024-03-26 08:09:36 +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-20 08:46:28 +01:00
repo_tree_nogogit.go Lazy load object format with command line and don't do it in OpenRepository (#29712) 2024-03-20 08:46:28 +01:00
signature.go [gitea] Refactor parseSignatureFromCommitLine (#29054) 2024-02-10 10:53:43 +01:00
signature_gogit.go [gitea] Refactor parseSignatureFromCommitLine (#29054) 2024-02-10 10:53:43 +01:00
signature_nogogit.go [gitea] Refactor parseSignatureFromCommitLine (#29054) 2024-02-10 10:53:43 +01:00
signature_test.go [gitea] Refactor parseSignatureFromCommitLine (#29054) 2024-02-10 10:53:43 +01:00
submodule.go Upgrade to golangci-lint@v1.55.0 (#27756) 2023-10-24 02:54:59 +00:00
submodule_test.go
tag.go Rename CommitGPGSignature to ObjectSignature 2024-03-26 08:09:36 +00:00
tag_test.go Rename CommitGPGSignature to ObjectSignature 2024-03-26 08:09:36 +00:00
tree.go Abstract hash function usage (#28138) 2023-12-13 21:02:00 +00:00
tree_blob.go [GITEA] Find README.md for user profiles case insensitively 2024-02-05 16:09:42 +01:00
tree_blob_gogit.go Abstract hash function usage (#28138) 2023-12-13 21:02:00 +00:00
tree_blob_nogogit.go
tree_entry.go [FEAT] Show follow symlink button 2024-03-02 17:58:09 +01:00
tree_entry_gogit.go Abstract hash function usage (#28138) 2023-12-13 21:02:00 +00:00
tree_entry_mode.go
tree_entry_nogogit.go Abstract hash function usage (#28138) 2023-12-13 21:02:00 +00:00
tree_entry_test.go
tree_gogit.go Abstract hash function usage (#28138) 2023-12-13 21:02:00 +00:00
tree_nogogit.go Lazy load object format with command line and don't do it in OpenRepository (#29712) 2024-03-20 08:46:28 +01:00
tree_test.go Discard unread data of git cat-file (#29297) 2024-02-26 22:30:25 +01:00
utils.go Replace interface{} with any (#25686) 2023-07-04 18:36:08 +00:00
utils_test.go gofmt-ed modules/git/utils_test.go due to linter 2024-02-24 15:53:38 +01: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.