forgejo/modules/git
mrsdizzie 922a239079
Disable new signal-based asynchronous goroutine preemption from GO 1.14 in git env (#11237)
As seen in trouble shooting #11032 the new feature of Go 1.14 is causing several second delays in startup in certain situations. Debugging shows it spending several seconds handling SIGURG commands during init:

```
6922:04:51.984234 trace init() ./modules/queue/unique_queue_wrapped.go
remote: ) = 69 <0.000012>
remote: [pid 15984] 22:04:51 write(1, "\ttime taken: 236.761\302\265s\n\n", 25    time taken: 236.761µs
remote:
remote: ) = 25 <0.000011>
remote: [pid 15984] 22:04:51 --- SIGURG {si_signo=SIGURG, si_code=SI_TKILL, si_pid=15984, si_uid=0} ---
remote: [pid 15984] 22:04:52 --- SIGURG {si_signo=SIGURG, si_code=SI_TKILL, si_pid=15984, si_uid=0} ---
remote: [pid 15984] 22:04:52 --- SIGURG {si_signo=SIGURG, si_code=SI_TKILL, si_pid=15984, si_uid=0} ---
```

This causes up to 20 seconds added to a push in some cases as it happens for each call of the gitea hook command. This is likely the cause of #10661 as well and would start to effect users once we release 1.12 which would be the first release compiled with Go 1.14. I suspect this is just a slight issue with the upstream implementatation as there have been a few very similar bugs fixed and reported:

 https://github.com/golang/go/issues/37741
 https://github.com/golang/go/issues/37942

We should revisit this in the future and see if a newer version of Go has solved it, but for now disable this option in the environment that gitea hook runs in to avoid it.
2020-04-28 11:45:32 -04: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 Graceful: Cancel Process on monitor pages & HammerTime (#9213) 2019-11-30 16:40:22 +02:00
blame_test.go Monitor all git commands; move blame to git package and replace git as a variable (#6864) 2019-06-26 14:15:26 -04: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 Disable new signal-based asynchronous goroutine preemption from GO 1.14 in git env (#11237) 2020-04-28 11:45:32 -04:00
command_test.go Fix nondeterministic behavior (#9341) 2019-12-13 17:03:38 +08:00
commit.go Migrate to go-git/go-git v5.0.0 (#10735) 2020-03-17 12:19:58 -04: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 move code.gitea.io/git to code.gitea.io/gitea/modules/git (#6364) 2019-03-27 17:33:00 +08:00
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 Graceful: Xorm, RepoIndexer, Cron and Others (#9282) 2019-12-15 09:51:28 +00: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 move code.gitea.io/git to code.gitea.io/gitea/modules/git (#6364) 2019-03-27 17:33:00 +08:00
ref.go move code.gitea.io/git to code.gitea.io/gitea/modules/git (#6364) 2019-03-27 17:33:00 +08:00
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 Convert plumbing.ErrObjectNotFound to git.ErrNotExist in getCommit (#10862) 2020-03-28 20:59:21 +02: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 Mark PR reviews as stale at push and allow to dismiss stale approvals (#9532) 2020-01-09 01:47:45 +00: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 move code.gitea.io/git to code.gitea.io/gitea/modules/git (#6364) 2019-03-27 17:33:00 +08:00
repo_index.go Be more strict with git arguments (#7715) 2019-08-05 21:39:39 +01:00
repo_language_stats.go Migrate to go-enry new version (#10906) 2020-04-15 20:40:39 +03:00
repo_object.go Fixes #7292 - API File Contents bug (#7301) 2019-06-29 16:51:10 -04:00
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 [API] Get a single commit via Ref (#10915) 2020-04-07 22:54:46 -04:00
signature.go Migrate to go-git/go-git v5.0.0 (#10735) 2020-03-17 12:19:58 -04:00
submodule.go Fix submodule paths when AppSubUrl is not root (#11098) 2020-04-22 11:34:50 +01:00
submodule_test.go Fix submodule paths when AppSubUrl is not root (#11098) 2020-04-22 11:34:50 +01:00
tag.go Fixes #2738 - Adds the /git/tags API endpoint (#7138) 2019-06-08 17:31:11 +03:00
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 Move mirror sync actions to notification (#9022) 2019-11-24 00:16:59 -05: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.