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 Add basic repository lfs management (#7199) 2019-10-28 18:31:55 +00:00
tests/repos Fix reading git notes from nested trees (#8026) 2019-09-12 09:14:41 +08:00
blame.go Ensure BlameReaders close at end of request (#12102) 2020-07-01 14:01:17 +01:00
blame_test.go Ensure BlameReaders close at end of request (#12102) 2020-07-01 14:01:17 +01:00
blob.go Migrate to go-git/go-git v5.0.0 (#10735) 2020-03-17 12:19:58 -04:00
blob_test.go Add Close() method to gogitRepository (#8901) 2019-11-13 07:01:19 +00:00
cache.go Migrate to go-git/go-git v5.0.0 (#10735) 2020-03-17 12:19:58 -04:00
command.go Refactor Cron and merge dashboard tasks (#10745) 2020-05-16 19:31:38 -04:00
command_test.go Fix nondeterministic behavior (#9341) 2019-12-13 17:03:38 +08:00
commit.go fix bug about can't skip commits base on base branch (#11555) 2020-06-24 20:40:52 +01:00
commit_archive.go Make archive prefixing configurable with a global setting (#9943) 2020-01-22 23:46:46 +00:00
commit_info.go Migrate to go-git/go-git v5.0.0 (#10735) 2020-03-17 12:19:58 -04:00
commit_info_test.go Add gitea-vet (#10948) 2020-04-05 07:20:50 +01:00
commit_reader.go Migrate to go-git/go-git v5.0.0 (#10735) 2020-03-17 12:19:58 -04:00
commit_test.go
diff.go Some refactor on git diff and ignore getting commit information failed on migrating pull request review comments (#9996) 2020-01-28 08:02:03 +00:00
diff_test.go Some refactor on git diff and ignore getting commit information failed on migrating pull request review comments (#9996) 2020-01-28 08:02:03 +00:00
error.go Handle push rejection in branch and upload (#10854) 2020-03-28 01:13:18 -03:00
git.go Only write to global gitconfig if necessary (#11876) 2020-06-13 17:47:31 -04:00
git_test.go Graceful: Xorm, RepoIndexer, Cron and Others (#9282) 2019-12-15 09:51:28 +00:00
hook.go fix 500 when edit hook (#8782) 2019-11-02 21:38:11 +08:00
notes.go Migrate to go-git/go-git v5.0.0 (#10735) 2020-03-17 12:19:58 -04:00
notes_test.go Add Close() method to gogitRepository (#8901) 2019-11-13 07:01:19 +00:00
parse.go Migrate to go-git/go-git v5.0.0 (#10735) 2020-03-17 12:19:58 -04:00
parse_test.go Migrate to go-git/go-git v5.0.0 (#10735) 2020-03-17 12:19:58 -04:00
README.md
ref.go
repo.go Handle push rejection in branch and upload (#10854) 2020-03-28 01:13:18 -03:00
repo_attribute.go Make repository management section handle lfs locks (#8726) 2019-12-12 21:18:07 +08:00
repo_blame.go Removed unnecessary conversions (#7557) 2019-07-23 19:50:39 +01:00
repo_blob.go Migrate to go-git/go-git v5.0.0 (#10735) 2020-03-17 12:19:58 -04:00
repo_blob_test.go Add Close() method to gogitRepository (#8901) 2019-11-13 07:01:19 +00:00
repo_branch.go Migrate to go-git/go-git v5.0.0 (#10735) 2020-03-17 12:19:58 -04:00
repo_branch_test.go Add Close() method to gogitRepository (#8901) 2019-11-13 07:01:19 +00:00
repo_commit.go Handle more pathological branch and tag names (#11843) 2020-06-11 19:49:47 -04:00
repo_commit_test.go Add Close() method to gogitRepository (#8901) 2019-11-13 07:01:19 +00:00
repo_commitgraph.go Migrate to go-git/go-git v5.0.0 (#10735) 2020-03-17 12:19:58 -04:00
repo_compare.go Fix numbr of files, total additions, and deletions (#11614) 2020-05-26 01:58:07 -04:00
repo_compare_test.go Remove SavePatch and generate patches on the fly (#9302) 2019-12-13 23:21:06 +01:00
repo_gpg.go Sign merges, CRUD, Wiki and Repository initialisation with gpg key (#7631) 2019-10-16 14:42:42 +01:00
repo_hook.go
repo_index.go Be more strict with git arguments (#7715) 2019-08-05 21:39:39 +01:00
repo_language_stats.go Use enry language type to detect special languages (#11974) 2020-06-19 15:24:03 +03:00
repo_object.go
repo_ref.go Migrate to go-git/go-git v5.0.0 (#10735) 2020-03-17 12:19:58 -04:00
repo_ref_test.go Add Close() method to gogitRepository (#8901) 2019-11-13 07:01:19 +00:00
repo_stats.go Add top author stats to activity page (#9615) 2020-01-20 12:07:30 +02:00
repo_stats_test.go Add top author stats to activity page (#9615) 2020-01-20 12:07:30 +02:00
repo_tag.go Migrate to go-git/go-git v5.0.0 (#10735) 2020-03-17 12:19:58 -04:00
repo_tag_test.go [API] enable paggination for ListRepoTags (#10454) 2020-02-25 14:07:07 -05:00
repo_test.go Add Close() method to gogitRepository (#8901) 2019-11-13 07:01:19 +00:00
repo_tree.go Sign merges, CRUD, Wiki and Repository initialisation with gpg key (#7631) 2019-10-16 14:42:42 +01:00
sha1.go Fix issue with DiffIndex on initial commit (#11677) 2020-05-29 22:14:00 +01:00
signature.go Migrate to go-git/go-git v5.0.0 (#10735) 2020-03-17 12:19:58 -04:00
submodule.go Manage port in submodule refurl (#11305) 2020-05-07 11:25:52 -03:00
submodule_test.go Fix submodule paths when AppSubUrl is not root (#11098) 2020-04-22 11:34:50 +01:00
tag.go
tree.go Migrate to go-git/go-git v5.0.0 (#10735) 2020-03-17 12:19:58 -04:00
tree_blob.go Migrate to go-git/go-git v5.0.0 (#10735) 2020-03-17 12:19:58 -04:00
tree_entry.go Migrate to go-git/go-git v5.0.0 (#10735) 2020-03-17 12:19:58 -04:00
tree_entry_test.go Migrate to go-git/go-git v5.0.0 (#10735) 2020-03-17 12:19:58 -04:00
utils.go Fix ref links in issue overviews for tags (#8742) 2020-05-14 18:55:43 -04:00
utils_test.go Fix ref links in issue overviews for tags (#8742) 2020-05-14 18:55:43 -04: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.