chore: initialize Gitea v1.27.2 fork
giteabot backport / giteabot (push) Canceled after 0s
giteabot / giteabot (push) Canceled after 0s
release-nightly / nightly-binary (push) Canceled after 0s
release-nightly / nightly-container (push) Canceled after 0s
cache-seeder / gobuild (push) Canceled after 0s
cache-seeder / lint (bindata, lint-backend) (push) Canceled after 0s
release-nightly-snapcraft / build-and-publish (push) Canceled after 0s

Includes direct password setup links in registration emails.

Assisted-by: Codex:GPT-5
This commit is contained in:
2026-08-15 22:56:18 +08:00
commit e4afba3416
6210 changed files with 802505 additions and 0 deletions
+45
View File
@@ -0,0 +1,45 @@
// Copyright 2018 The Gitea Authors. All rights reserved.
// SPDX-License-Identifier: MIT
package pprof
import (
"fmt"
"os"
"runtime"
"runtime/pprof"
"gitea.dev/modules/log"
)
// DumpMemProfileForUsername dumps a memory profile at pprofDataPath as memprofile_<username>_<temporary id>
func DumpMemProfileForUsername(pprofDataPath, username string) error {
f, err := os.CreateTemp(pprofDataPath, fmt.Sprintf("memprofile_%s_", username))
if err != nil {
return err
}
defer f.Close()
runtime.GC() // get up-to-date statistics
return pprof.WriteHeapProfile(f)
}
// DumpCPUProfileForUsername dumps a CPU profile at pprofDataPath as cpuprofile_<username>_<temporary id>
// the stop function it returns stops, writes and closes the CPU profile file
func DumpCPUProfileForUsername(pprofDataPath, username string) (func(), error) {
f, err := os.CreateTemp(pprofDataPath, fmt.Sprintf("cpuprofile_%s_", username))
if err != nil {
return nil, err
}
err = pprof.StartCPUProfile(f)
if err != nil {
log.Fatal("StartCPUProfile: %v", err)
}
return func() {
pprof.StopCPUProfile()
err = f.Close()
if err != nil {
log.Fatal("StopCPUProfile Close: %v", err)
}
}, nil
}