all repos — elgit @ 721a55a5b5ab180d4828e8de8175b24ca8d244f3

fork of legit: web frontend for git, written in go

fix linter complaints

Alan Pearce
commit

721a55a5b5ab180d4828e8de8175b24ca8d244f3

parent

d5a2d2303055496b5daf8c9e6f1daff1bb273332

3 files changed, 44 insertions(+), 27 deletions(-)

changed files
M git/git.gogit/git.go
@@ -2,6 +2,7 @@ package git
import ( "archive/tar" + "errors" "fmt" "io" "io/fs"
@@ -48,23 +49,23 @@ modTime time.Time
isDir bool } -func (self *TagList) Len() int { - return len(self.refs) +func (tl *TagList) Len() int { + return len(tl.refs) } -func (self *TagList) Swap(i, j int) { - self.refs[i], self.refs[j] = self.refs[j], self.refs[i] +func (tl *TagList) Swap(i, j int) { + tl.refs[i], tl.refs[j] = tl.refs[j], tl.refs[i] } // sorting tags in reverse chronological order -func (self *TagList) Less(i, j int) bool { +func (tl *TagList) Less(i, j int) bool { var dateI time.Time var dateJ time.Time - if self.refs[i].tag != nil { - dateI = self.refs[i].tag.Tagger.When + if tl.refs[i].tag != nil { + dateI = tl.refs[i].tag.Tagger.When } else { - c, err := self.r.CommitObject(self.refs[i].ref.Hash()) + c, err := tl.r.CommitObject(tl.refs[i].ref.Hash()) if err != nil { dateI = time.Now() } else {
@@ -72,10 +73,10 @@ dateI = c.Committer.When
} } - if self.refs[j].tag != nil { - dateJ = self.refs[j].tag.Tagger.When + if tl.refs[j].tag != nil { + dateJ = tl.refs[j].tag.Tagger.When } else { - c, err := self.r.CommitObject(self.refs[j].ref.Hash()) + c, err := tl.r.CommitObject(tl.refs[j].ref.Hash()) if err != nil { dateJ = time.Now() } else {
@@ -136,11 +137,11 @@ for _, c := range commitRefs {
obj, err := g.r.TagObject(ref.Hash()) switch err { case nil: - if obj.Target == c.Commit.Hash { + if obj.Target == c.Hash { c.AddReference(ref) } case plumbing.ErrObjectNotFound: - if c.Commit.Hash == ref.Hash() { + if c.Hash == ref.Hash() { c.AddReference(ref) } default:
@@ -171,11 +172,11 @@ if err := iter.ForEach(func(ref *plumbing.Reference) error {
obj, err := g.r.TagObject(ref.Hash()) switch err { case nil: - if obj.Target == commitRef.Commit.Hash { + if obj.Target == commitRef.Hash { commitRef.AddReference(ref) } case plumbing.ErrObjectNotFound: - if commitRef.Commit.Hash == ref.Hash() { + if commitRef.Hash == ref.Hash() { commitRef.AddReference(ref) } default:
@@ -276,9 +277,11 @@ }
// WriteTar writes itself from a tree into a binary tar file format. // prefix is root folder to be appended. -func (g *GitRepo) WriteTar(w io.Writer, prefix string) error { +func (g *GitRepo) WriteTar(w io.Writer, prefix string) (err error) { tw := tar.NewWriter(w) - defer tw.Close() + defer func() { + err = tw.Close() + }() c, err := g.r.CommitObject(g.h) if err != nil {
@@ -316,17 +319,17 @@ if err != nil {
return err } - reader, err := file.Blob.Reader() + reader, err := file.Reader() if err != nil { return err } _, err = io.Copy(tw, reader) + err = errors.Join(err, reader.Close()) + if err != nil { - reader.Close() return err } - reader.Close() } }
M git/service/service.gogit/service/service.go
@@ -2,6 +2,7 @@ package service
import ( "bytes" + "errors" "fmt" "io" "log"
@@ -67,7 +68,7 @@
return nil } -func (c *ServiceCommand) UploadPack() error { +func (c *ServiceCommand) UploadPack() (err error) { cmd := exec.Command("git", []string{ "-c", "uploadpack.allowFilter=true", "upload-pack",
@@ -79,13 +80,23 @@ cmd.SysProcAttr = &syscall.SysProcAttr{Setpgid: true}
stdoutPipe, _ := cmd.StdoutPipe() cmd.Stderr = cmd.Stdout - defer stdoutPipe.Close() + defer func() { + err2 := stdoutPipe.Close() + if err == nil { + err = errors.Join(err, err2) + } + }() stdinPipe, err := cmd.StdinPipe() if err != nil { return err } - defer stdinPipe.Close() + defer func() { + err2 := stdinPipe.Close() + if err == nil { + err = errors.Join(err, err2) + } + }() if err := cmd.Start(); err != nil { log.Printf("git: failed to start git-upload-pack: %s", err)
@@ -96,7 +107,6 @@ if _, err := io.Copy(stdinPipe, c.Stdin); err != nil {
log.Printf("git: failed to copy stdin: %s", err) return err } - stdinPipe.Close() if _, err := io.Copy(newWriteFlusher(c.Stdout), stdoutPipe); err != nil { log.Printf("git: failed to copy stdout: %s", err)
M routes/git.goroutes/git.go
@@ -2,7 +2,6 @@ package routes
import ( "compress/gzip" - "io" "log" "net/http" "path"
@@ -57,7 +56,7 @@ Dir: repo,
Stdout: w, } - var reader io.ReadCloser = r.Body + var reader = r.Body if r.Header.Get("Content-Encoding") == "gzip" { reader, err = gzip.NewReader(r.Body)
@@ -66,7 +65,12 @@ http.Error(w, err.Error(), 500)
log.Printf("git: failed to create gzip reader: %s", err) return } - defer reader.Close() + defer func() { + err := reader.Close() + if err != nil { + log.Printf("git: failed to close gzip reader: %s", err) + } + }() } cmd.Stdin = reader