forgejo/modules/git
zeripath 858c35b731
Ensure BlameReaders close at end of request (#12102)
#11716 reports multiple git blame processes hanging around
this was thought to be due to timeouts, however on closer look this
appears to be due to the Close() function of the BlameReader hanging
with a blocked stdout pipe.

This PR fixes this Close function to:

* Cancel the context of the cmd
* Close the StdoutReader - ensuring that the output pipe is closed

Further it makes the context of the `git blame` command a child of the
request context - ensuring that even if Close() is not called, on
cancellation of the Request the blame is command will also be cancelled.

Fixes #11716
Closes #11727

Signed-off-by: Andrew Thornton <art27@cantab.net>
2020-07-01 14:01:17 +01:00
..
pipeline
tests/repos
blame.go
blame_test.go
blob.go
blob_test.go
cache.go
command.go
command_test.go
commit.go
commit_archive.go
commit_info.go
commit_info_test.go
commit_reader.go
commit_test.go
diff.go
diff_test.go
error.go
git.go
git_test.go
hook.go
notes.go
notes_test.go
parse.go
parse_test.go
README.md
ref.go
repo.go
repo_attribute.go
repo_blame.go
repo_blob.go
repo_blob_test.go
repo_branch.go
repo_branch_test.go
repo_commit.go
repo_commit_test.go
repo_commitgraph.go
repo_compare.go
repo_compare_test.go
repo_gpg.go
repo_hook.go
repo_index.go
repo_language_stats.go
repo_object.go
repo_ref.go
repo_ref_test.go
repo_stats.go
repo_stats_test.go
repo_tag.go
repo_tag_test.go
repo_test.go
repo_tree.go
sha1.go
signature.go
submodule.go
submodule_test.go
tag.go
tree.go
tree_blob.go
tree_entry.go
tree_entry_test.go
utils.go
utils_test.go

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.