Repository Analysis

go-gitea/gitea

Git with a cup of tea! Painless self-hosted all-in-one software development service, including Git hosting, code review, team collaboration, package registry and CI/CD

1.5 Likely human-written View on GitHub
1.5
Adjusted Score
1.5
Raw Score
100%
Time Factor
2026-05-30
Last Push
56,017
Stars
Go
Language
623,346
Lines of Code
3101
Files
907
Pattern Hits
2026-05-31
Scan Date

Score History

Severity Breakdown

CRITICAL 0HIGH 0MEDIUM 3LOW 904

Pattern Findings

907 matches across 7 categories. Click a row to expand file-level details.

Over-Commented Block773 hits · 748 pts
SeverityFileLineSnippet
LOWeslint.config.ts441 'no-import-assign': [2],
LOWeslint.config.ts461 // 'no-jquery/no-clone': [2],
LOWeslint.config.ts481 // 'no-jquery/no-find-collection': [0],
LOWeslint.config.ts501 // 'no-jquery/no-live': [2],
LOWeslint.config.ts521 // 'no-jquery/no-prop': [2],
LOWmain_timezones.go1// Copyright 2025 The Gitea Authors. All rights reserved.
LOWrouters/web/org/teams.go321 ctx.Data["PageIsOrgTeamsNew"] = true
LOWrouters/web/healthcheck/check.go21const (
LOWrouters/web/user/home.go361 // ----------------------------------------------------
LOWrouters/web/user/home.go441
LOWrouters/web/repo/view_readme.go21 "gitea.dev/modules/setting"
LOWrouters/common/compare.go41 }
LOWrouters/api/v1/api.go1// Copyright 2015 The Gogs Authors. All rights reserved.
LOWrouters/api/v1/api.go21// - AccessToken :
LOWrouters/api/v1/api.go41// type: apiKey
LOWrouters/api/v1/misc/label_templates.go21 // - application/json
LOWrouters/api/v1/misc/signing.go21 return
LOWrouters/api/v1/misc/signing.go41
LOWrouters/api/v1/misc/signing.go61 // schema:
LOWrouters/api/v1/misc/signing.go81 // summary: Get signing-key.pub for given repository
LOWrouters/api/v1/misc/markup.go21 // parameters:
LOWrouters/api/v1/misc/markup.go41// Markdown render markdown document to HTML
LOWrouters/api/v1/misc/markup.go61 form := web.GetForm(ctx).(*api.MarkdownOption)
LOWrouters/api/v1/misc/gitignore.go21 // produces:
LOWrouters/api/v1/misc/licenses.go41 // swagger:operation GET /licenses/{name} miscellaneous getLicenseTemplateInfo
LOWrouters/api/v1/settings/settings.go21 // responses:
LOWrouters/api/v1/notify/user.go21 // summary: List users's notification threads
LOWrouters/api/v1/notify/user.go41 // type: array
LOWrouters/api/v1/notify/user.go101 // produces:
LOWrouters/api/v1/notify/repo.go41 }
LOWrouters/api/v1/notify/repo.go61 // in: path
LOWrouters/api/v1/notify/repo.go81 // items:
LOWrouters/api/v1/notify/repo.go141 // - application/json
LOWrouters/api/v1/notify/repo.go161 // type: array
LOWrouters/api/v1/notify/threads.go21 // summary: Get notification thread by ID
LOWrouters/api/v1/notify/threads.go61 // parameters:
LOWrouters/api/v1/org/org.go61func ListMyOrgs(ctx *context.APIContext) {
LOWrouters/api/v1/org/org.go81
LOWrouters/api/v1/org/org.go101 // type: integer
LOWrouters/api/v1/org/org.go121 // - application/json
LOWrouters/api/v1/org/org.go181
LOWrouters/api/v1/org/org.go241 // consumes:
LOWrouters/api/v1/org/org.go301 // - application/json
LOWrouters/api/v1/org/org.go321 // Don't show Mail, when User is not logged in
LOWrouters/api/v1/org/org.go341 // - name: body
LOWrouters/api/v1/org/org.go361 }
LOWrouters/api/v1/org/org.go381 // required: true
LOWrouters/api/v1/org/org.go421func Delete(ctx *context.APIContext) {
LOWrouters/api/v1/org/org.go441 return
LOWrouters/api/v1/org/org.go461 // type: string
LOWrouters/api/v1/org/org.go541 // ---
LOWrouters/api/v1/org/avatar.go21 // produces:
LOWrouters/api/v1/org/avatar.go61 // - application/json
LOWrouters/api/v1/org/action.go21)
LOWrouters/api/v1/org/action.go81 // - application/json
LOWrouters/api/v1/org/action.go141 // in: path
LOWrouters/api/v1/org/action.go181 // parameters:
LOWrouters/api/v1/org/action.go201 // parameters:
LOWrouters/api/v1/org/action.go241 }
LOWrouters/api/v1/org/action.go261 // - name: variablename
713 more matches not shown…
Hyper-Verbose Identifiers94 hits · 98 pts
SeverityFileLineSnippet
LOWweb_src/js/external-render-frontend.ts43async function initFrontendExternalRender() {
LOWweb_src/js/features/repo-settings-branches.ts7export function initRepoSettingsBranchesDrag() {
LOWweb_src/js/features/repo-issue-pull.ts7export function initRepoPullRequestUpdate(el: HTMLElement) {
LOWweb_src/js/features/repo-issue-pull.ts21function onCommitStatusChecksToggle(btn: HTMLElement) {
LOWweb_src/js/features/repo-issue-pull.ts28async function initRepoPullRequestMergeForm(box: HTMLElement) {
LOWweb_src/js/features/common-fetch-action.ts70export async function handleFetchActionSuccessJson(el: HTMLElement, respJson: any) {
LOWweb_src/js/features/common-fetch-action.ts157function prepareFormFetchActionOpts(formEl: HTMLFormElement, opts: SubmitFormFetchActionOpts = {}): FetchActionOpts {
LOWweb_src/js/features/common-fetch-action.ts234export async function performFetchActionTrigger(el: HTMLElement, triggerType: FetchActionTriggerType) {
LOWweb_src/js/features/common-fetch-action.ts254export function execPseudoSelectorCommands(el: Element, fullCommand: string): PseudoSelectorCommandResult {
LOWweb_src/js/features/common-fetch-action.ts285async function handleFetchActionSuccessSync(el: Element, successSync: string, respText: string) {
LOWweb_src/js/features/common-fetch-action.ts300async function fetchActionReloadOutdatedElements() {
LOWweb_src/js/features/common-fetch-action.ts326function initFetchActionTriggerEvery(el: HTMLElement, trigger: string) {
LOWweb_src/js/features/repo-issue-list.ts13function initRepoIssueListCheckboxes() {
LOWweb_src/js/features/repo-issue-list.ts99function initDropdownUserRemoteSearch(el: Element) {
LOWweb_src/js/features/repo-branch.ts9function initRepoCreateBranchButton() {
LOWweb_src/js/features/repo-branch.ts26function initRepoRenameBranchButton() {
LOWweb_src/js/features/common-form.ts6export function initGlobalFormDirtyLeaveConfirm() {
LOWweb_src/js/features/common-form.ts15export function initGlobalEnterQuickSubmit() {
LOWweb_src/js/features/common-form.ts34export function initGlobalComboMarkdownEditor() {
LOWweb_src/js/features/repo-issue-sidebar.ts12function initRepoIssueBranchSelector(elSidebar: HTMLElement) {
LOWweb_src/js/features/repo-issue-sidebar.ts52export function initRepoIssueSidebarDependency(elSidebar: HTMLElement) {
LOWweb_src/js/features/repo-issue-sidebar.ts86export function initRepoPullRequestAllowMaintainerEdit(elSidebar: HTMLElement) {
LOWweb_src/js/features/common-actions-permissions.ts4export function initActionsPermissionsForm(): void {
LOWweb_src/js/features/common-actions-permissions.ts9function initRepoActionsPermissionsForm(form: HTMLFormElement) {
LOWweb_src/js/features/common-actions-permissions.ts14function initOwnerActionsPermissionsForm(form: HTMLFormElement) {
LOWweb_src/js/features/common-actions-permissions.ts18function initActionsPermissionTable(form: HTMLFormElement) {
LOWweb_src/js/features/common-actions-permissions.ts27function initActionsOverrideOwnerConfig(form: HTMLFormElement) {
LOWweb_src/js/features/repo-issue.ts91export function initRepoIssueFilterItemLabel() {
LOWweb_src/js/features/repo-issue.ts96export function initRepoIssueCommentDelete() {
LOWweb_src/js/features/repo-issue.ts153export function initRepoIssueCodeCommentCancel() {
LOWweb_src/js/features/repo-issue.ts200export function initRepoPullRequestReview() {
LOWweb_src/js/features/repo-issue.ts302export function initRepoIssueReferenceIssue() {
LOWweb_src/js/features/repo-issue.ts435export function initRepoIssueBranchSelect() {
LOWweb_src/js/features/repo-issue.ts471function initIssueTemplateCommentEditors(commentForm: HTMLFormElement) {
LOWweb_src/js/features/repo-issue.ts510export function initRepoCommentFormAndSidebar() {
LOWweb_src/js/features/repo-legacy.ts22function initRepoBranchTagSelector() {
LOWweb_src/js/features/repo-release.ts24function getReleaseFormExistingTags(elForm: HTMLFormElement): Array<string> {
LOWweb_src/js/features/repo-new.ts8function initRepoNewTemplateSearch(form: HTMLFormElement) {
LOWweb_src/js/features/user-auth-webauthn.ts215export function initUserAuthWebAuthnRegister() {
LOWweb_src/js/features/stopwatch.ts66async function updateStopwatchWithCallback(callback: (timeout: number) => void, timeout: number) {
LOWweb_src/js/features/repo-editor.ts238export function renderPreviewPanelContent(previewPanel: Element, htmlContent: string) {
LOWweb_src/js/features/common-issue-list.ts10export function parseIssueListQuickGotoLink(repoLink: string, searchText: string) {
LOWweb_src/js/features/common-issue-list.ts29export function initCommonIssueListQuickGoto() {
LOWweb_src/js/features/repo-settings.ts11function initRepoSettingsCollaboration() {
LOWweb_src/js/features/repo-settings.ts51function initRepoSettingsSearchTeamBox() {
LOWweb_src/js/features/common-button.ts7export function initGlobalButtonClickOnEnter(): void {
LOWweb_src/js/features/repo-migrate.ts4export function initRepoMigrationStatusChecker() {
LOWweb_src/js/features/repo-issue-sidebar-combolist.ts8export function syncIssueMainContentTimelineItems(oldMainContent: Element, newMainContent: Element) {
LOWweb_src/js/features/repo-issue-content.ts126export async function initRepoIssueContentHistory() {
LOWweb_src/js/features/notification.ts55async function updateNotificationCountWithCallback(callback: (timeout: number, newCount: number) => void, timeout: numbe
LOWweb_src/js/features/imagediff.ts31function getDefaultSvgBoundsIfUndefined(text: string, src: string): Bounds | null {
LOWweb_src/js/features/common-page.ts12function initHeadNavbarContentToggle() {
LOWweb_src/js/features/dropzone.ts26export function generateMarkdownLinkForAttachment(file: Partial<CustomDropzoneFile>, {width, dppx}: {width?: number, dpp
LOWweb_src/js/features/repo-common.ts39export function initRepoActivityTopAuthorsChart() {
LOWweb_src/js/features/repo-common.ts46export function substituteRepoOpenWithUrl(tmpl: string, url: string): string {
LOWweb_src/js/features/repo-common.ts54function initCloneSchemeUrlSelection(parent: Element) {
LOWweb_src/js/features/pull-view-file.ts15function refreshViewedFilesSummary() {
LOWweb_src/js/features/pull-view-file.ts27export function initViewedCheckboxListenerFor() {
LOWweb_src/js/features/pull-view-file.ts72export function initExpandAndCollapseFilesButton() {
LOWweb_src/js/features/repo-diff-commit.ts48export function initRepoDiffCommitBranchesAndTags() {
34 more matches not shown…
Verbosity Indicators20 hits · 35 pts
SeverityFileLineSnippet
LOWrouters/web/repo/setting/protected_branch.go129 // RuleName changed. We need to check if there is a rule with the same name.
LOWrouters/private/serv.go248 // So now we need to check if the key is a deploy key
LOWtests/integration/org_test.go198 // Now we need to check if the restrictedUser can access the repo
LOWtests/integration/migrate_test.go74 // Step 0: verify the repo is available
LOWtests/integration/migrate_test.go77 // Step 1: get the Gitea migration form
LOWtests/integration/migrate_test.go80 // Step 2: load the form
LOWtests/integration/migrate_test.go88 // Step 4: submit the migration to only migrate issues
LOWtests/integration/migrate_test.go100 // Step 5: a redirection displays the migrated repository
LOWtests/integration/migrate_test.go103 // Step 6: check the repo was created
LOWtests/integration/auth_oauth2_test.go188 // Step 1: initiate login
LOWtests/integration/auth_oauth2_test.go191 // Step 2: extract the UUID state that Gitea embedded in the redirect URL.
LOWtests/integration/auth_oauth2_test.go198 // Step 3: simulate the provider redirecting back.
LOWmodels/user/user.go1447 // Now we need to check if they in some organization together
LOWmodels/actions/run.go41 IsForkPullRequest bool // If this is triggered by a PR from a forked repository or an untrusted
LOWmodules/web/router.go238 // the following code block is a slow-path for replacing all repeated slashes "//" to one single "/"
LOWmodules/markup/markdown/math/block_parser.go57 // Now we need to check if the ending block is on the segment...
LOWmodules/public/mime_types.go39// The purpose of this function is to bypass the unstable behavior of Golang's mime.TypeByExtension
LOWmodules/lfs/pointer_scanner_nogogit.go91 // Now we need to check if the pointerBuf is an LFS pointer
LOWservices/pull/patch.go315 // No conflicts detected so we need to check if the patch is empty...
LOWservices/pull/lfs.go111 // Now we need to check if the pointerBuf is an LFS pointer
Fake / Example Data15 hits · 16 pts
SeverityFileLineSnippet
LOWtests/integration/api_repo_files_change_test.go40 Name: "John Doe",
LOWtests/integration/api_repo_file_delete_test.go29 Name: "John Doe",
LOWtests/integration/api_repo_file_delete_test.go33 Name: "Jane Doe",
LOWtests/integration/user_test.go361 "email": "user@example.com",
LOWtests/integration/api_repo_file_update_test.go36 Name: "John Doe",
LOWtests/integration/api_repo_file_update_test.go86 Name: "John Doe",
LOWtests/integration/api_repo_file_create_test.go40 Name: "John Doe",
LOWtests/integration/api_repo_file_create_test.go109 Name: "John Doe",
LOWmodules/repository/commits_test.go138 Name: "John Doe",
LOWmodules/repository/commits_test.go153 assert.Equal(t, "John Doe", pushCommit.AuthorName)
LOWmodules/repository/commits_test.go155 assert.Equal(t, "John Doe", pushCommit.CommitterName)
LOWmodules/repository/commits_test.go163 Name: "John Doe",
LOWmodules/packages/swift/metadata_test.go100 authorName := "John Doe"
LOWmodules/packages/swift/metadata_test.go202 Expected: "John Doe",
LOWmodules/typesniffer/typesniffer_test.go25 assert.True(t, DetectContentType([]byte("lorem ipsum")).IsText())
AI Slop Vocabulary2 hits · 6 pts
SeverityFileLineSnippet
MEDIUMmodels/asymkey/gpg_key_commit_verification.go140 // Now we drop to the more nuanced trust models...
MEDIUMmodules/auth/password/hash/hash.go127// seamless backwards compatibility with the original configuration.
Redundant / Tautological Comments2 hits · 3 pts
SeverityFileLineSnippet
LOWdocker/rootless/usr/local/bin/docker-setup.sh22 # Set INSTALL_LOCK to true only if SECRET_KEY is not empty and
LOWcontrib/upgrade.sh13# Check if gitea service is running
Self-Referential Comments1 hit · 2 pts
SeverityFileLineSnippet
MEDIUMtests/integration/linguist_test.go32 lockContent := "# This file is automatically @generated by Poetry 1.7.1 and should not be changed by hand."