Fix some pending problems (#29985)

These changes are quite independent and trivial, so I don't want to open
too many PRs.

* https://github.com/go-gitea/gitea/pull/29882#discussion_r1529607091
    * the `f.Close` should be called properly
* the error message could be more meaningful
(https://github.com/go-gitea/gitea/pull/29882#pullrequestreview-1942557935)
*
https://github.com/go-gitea/gitea/pull/29859#pullrequestreview-1942324716
    * the new translation strings don't take arguments
* https://github.com/go-gitea/gitea/pull/28710#discussion_r1443778807
    * stale for long time
*  #28140
    * a form was forgotten to be changed to work with backend code

(cherry picked from commit 226231ea27d4f2b0f09fa4efb39501507613b284)

Conflicts:
	templates/repo/issue/view_content/pull.tmpl
	discarded because unexplained
	templates/status/404.tmpl
	implemented differently in Forgejo
This commit is contained in:
wxiaoguang 2024-03-22 19:17:30 +08:00 committed by Earl Warren
parent 8848b0ea2b
commit d4ea1c2559
No known key found for this signature in database
GPG key ID: 0579CB2928A78A00
10 changed files with 24 additions and 28 deletions

View file

@ -198,6 +198,8 @@ func RegeneratePublicKeys(ctx context.Context, t io.StringWriter) error {
if err != nil { if err != nil {
return err return err
} }
defer f.Close()
scanner := bufio.NewScanner(f) scanner := bufio.NewScanner(f)
for scanner.Scan() { for scanner.Scan() {
line := scanner.Text() line := scanner.Text()
@ -207,15 +209,12 @@ func RegeneratePublicKeys(ctx context.Context, t io.StringWriter) error {
} }
_, err = t.WriteString(line + "\n") _, err = t.WriteString(line + "\n")
if err != nil { if err != nil {
f.Close()
return err return err
} }
} }
err = scanner.Err() if err = scanner.Err(); err != nil {
if err != nil { return fmt.Errorf("RegeneratePublicKeys scan: %w", err)
return fmt.Errorf("scan: %w", err)
} }
f.Close()
} }
return nil return nil
} }

View file

@ -120,6 +120,8 @@ func regeneratePrincipalKeys(ctx context.Context, t io.StringWriter) error {
if err != nil { if err != nil {
return err return err
} }
defer f.Close()
scanner := bufio.NewScanner(f) scanner := bufio.NewScanner(f)
for scanner.Scan() { for scanner.Scan() {
line := scanner.Text() line := scanner.Text()
@ -129,15 +131,12 @@ func regeneratePrincipalKeys(ctx context.Context, t io.StringWriter) error {
} }
_, err = t.WriteString(line + "\n") _, err = t.WriteString(line + "\n")
if err != nil { if err != nil {
f.Close()
return err return err
} }
} }
err = scanner.Err() if err = scanner.Err(); err != nil {
if err != nil { return fmt.Errorf("regeneratePrincipalKeys scan: %w", err)
return fmt.Errorf("scan: %w", err)
} }
f.Close()
} }
return nil return nil
} }

View file

@ -100,7 +100,7 @@ func ReadLogs(ctx context.Context, inStorage bool, filename string, offset, limi
} }
if err := scanner.Err(); err != nil { if err := scanner.Err(); err != nil {
return nil, fmt.Errorf("scan: %w", err) return nil, fmt.Errorf("ReadLogs scan: %w", err)
} }
return rows, nil return rows, nil

View file

@ -391,9 +391,8 @@ func (c *Commit) GetSubModules() (*ObjectCache, error) {
} }
} }
} }
err = scanner.Err() if err = scanner.Err(); err != nil {
if err != nil { return nil, fmt.Errorf("GetSubModules scan: %w", err)
return nil, fmt.Errorf("scan: %w", err)
} }
return c.submoduleCache, nil return c.submoduleCache, nil

View file

@ -124,9 +124,9 @@ func (repo *Repository) GetCodeActivityStats(fromTime time.Time, branch string)
} }
} }
} }
err = scanner.Err() if err = scanner.Err(); err != nil {
if err != nil { _ = stdoutReader.Close()
return fmt.Errorf("scan: %w", err) return fmt.Errorf("GetCodeActivityStats scan: %w", err)
} }
a := make([]*CodeActivityAuthor, 0, len(authors)) a := make([]*CodeActivityAuthor, 0, len(authors))
for _, v := range authors { for _, v := range authors {

View file

@ -124,9 +124,8 @@ func (Renderer) fallbackRender(input io.Reader, tmpBlock *bufio.Writer) error {
return err return err
} }
} }
err = scan.Err() if err = scan.Err(); err != nil {
if err != nil { return fmt.Errorf("fallbackRender scan: %w", err)
return fmt.Errorf("scan: %w", err)
} }
_, err = tmpBlock.WriteString("</pre>") _, err = tmpBlock.WriteString("</pre>")

View file

@ -980,9 +980,8 @@ func getExcerptLines(commit *git.Commit, filePath string, idxLeft, idxRight, chu
} }
diffLines = append(diffLines, diffLine) diffLines = append(diffLines, diffLine)
} }
err = scanner.Err() if err = scanner.Err(); err != nil {
if err != nil { return nil, fmt.Errorf("getExcerptLines scan: %w", err)
return nil, fmt.Errorf("scan: %w", err)
} }
return diffLines, nil return diffLines, nil
} }

View file

@ -374,9 +374,9 @@ func editFilePost(ctx *context.Context, form forms.EditRepoFileForm, isNewFile b
ctx.Error(http.StatusInternalServerError, err.Error()) ctx.Error(http.StatusInternalServerError, err.Error())
} }
} else if models.IsErrCommitIDDoesNotMatch(err) { } else if models.IsErrCommitIDDoesNotMatch(err) {
ctx.RenderWithErr(ctx.Tr("repo.editor.commit_id_not_matching", ctx.Repo.RepoLink+"/compare/"+util.PathEscapeSegments(form.LastCommit)+"..."+util.PathEscapeSegments(ctx.Repo.CommitID)), tplEditFile, &form) ctx.RenderWithErr(ctx.Tr("repo.editor.commit_id_not_matching"), tplEditFile, &form)
} else if git.IsErrPushOutOfDate(err) { } else if git.IsErrPushOutOfDate(err) {
ctx.RenderWithErr(ctx.Tr("repo.editor.push_out_of_date", ctx.Repo.RepoLink+"/compare/"+util.PathEscapeSegments(form.LastCommit)+"..."+util.PathEscapeSegments(form.NewBranchName)), tplEditFile, &form) ctx.RenderWithErr(ctx.Tr("repo.editor.push_out_of_date"), tplEditFile, &form)
} else if git.IsErrPushRejected(err) { } else if git.IsErrPushRejected(err) {
errPushRej := err.(*git.ErrPushRejected) errPushRej := err.(*git.ErrPushRejected)
if len(errPushRej.Message) == 0 { if len(errPushRej.Message) == 0 {

View file

@ -50,11 +50,11 @@ func checkAuthorizedKeys(ctx context.Context, logger log.Logger, autofix bool) e
} }
linesInAuthorizedKeys.Add(line) linesInAuthorizedKeys.Add(line)
} }
err = scanner.Err() if err = scanner.Err(); err != nil {
if err != nil {
return fmt.Errorf("scan: %w", err) return fmt.Errorf("scan: %w", err)
} }
f.Close() // although there is a "defer close" above, here close explicitly before the generating, because it needs to open the file for writing again
_ = f.Close()
// now we regenerate and check if there are any lines missing // now we regenerate and check if there are any lines missing
regenerated := &bytes.Buffer{} regenerated := &bytes.Buffer{}

View file

@ -94,6 +94,7 @@ export default {
<!-- eslint-disable-next-line vue/no-v-html --> <!-- eslint-disable-next-line vue/no-v-html -->
<div v-if="mergeForm.hasPendingPullRequestMerge" v-html="mergeForm.hasPendingPullRequestMergeTip" class="ui info message"/> <div v-if="mergeForm.hasPendingPullRequestMerge" v-html="mergeForm.hasPendingPullRequestMergeTip" class="ui info message"/>
<!-- another similar form is in pull.tmpl (manual merge)-->
<form class="ui form form-fetch-action" v-if="showActionForm" :action="mergeForm.baseLink+'/merge'" method="post"> <form class="ui form form-fetch-action" v-if="showActionForm" :action="mergeForm.baseLink+'/merge'" method="post">
<input type="hidden" name="_csrf" :value="csrfToken"> <input type="hidden" name="_csrf" :value="csrfToken">
<input type="hidden" name="head_commit_id" v-model="mergeForm.pullHeadCommitID"> <input type="hidden" name="head_commit_id" v-model="mergeForm.pullHeadCommitID">