aboutsummaryrefslogtreecommitdiff
path: root/git_misc.go
diff options
context:
space:
mode:
authorRunxi Yu <me@runxiyu.org>2025-03-05 08:51:17 +0800
committerRunxi Yu <me@runxiyu.org>2025-03-05 08:51:17 +0800
commit7c341685f878aa8fd4c49788cf8cc0d8c5c6e127 (patch)
tree5295f1f4020e85c065e98fcb88ec217ad66e078a /git_misc.go
parentconfig: Add explanatory comments (diff)
downloadforge-7c341685f878aa8fd4c49788cf8cc0d8c5c6e127.tar.gz
forge-7c341685f878aa8fd4c49788cf8cc0d8c5c6e127.tar.zst
forge-7c341685f878aa8fd4c49788cf8cc0d8c5c6e127.zip
*: Replace some := with var
Diffstat (limited to 'git_misc.go')
-rw-r--r--git_misc.go51
1 files changed, 29 insertions, 22 deletions
diff --git a/git_misc.go b/git_misc.go
index 80ac6e8..4845009 100644
--- a/git_misc.go
+++ b/git_misc.go
@@ -7,6 +7,7 @@ import (
"context"
"errors"
"io"
+ "os"
"strings"
"github.com/go-git/go-git/v5"
@@ -17,7 +18,10 @@ import (
// open_git_repo opens a git repository by group and repo name.
func open_git_repo(ctx context.Context, group_name, repo_name string) (repo *git.Repository, description string, repo_id int, err error) {
var fs_path string
- err = database.QueryRow(ctx, "SELECT r.filesystem_path, COALESCE(r.description, ''), r.id FROM repos r JOIN groups g ON r.group_id = g.id WHERE g.name = $1 AND r.name = $2;", group_name, repo_name).Scan(&fs_path, &description, &repo_id)
+ err = database.QueryRow(ctx,
+ "SELECT r.filesystem_path, COALESCE(r.description, ''), r.id FROM repos r JOIN groups g ON r.group_id = g.id WHERE g.name = $1 AND r.name = $2;",
+ group_name, repo_name,
+ ).Scan(&fs_path, &description, &repo_id)
if err != nil {
return
}
@@ -34,29 +38,36 @@ type display_git_tree_entry_t struct {
Is_subtree bool
}
-func build_display_git_tree(tree *object.Tree) []display_git_tree_entry_t {
- display_git_tree := make([]display_git_tree_entry_t, 0)
+func build_display_git_tree(tree *object.Tree) (display_git_tree []display_git_tree_entry_t) {
for _, entry := range tree.Entries {
display_git_tree_entry := display_git_tree_entry_t{}
- os_mode, err := entry.Mode.ToOSFileMode()
- if err != nil {
+ var err error
+ var os_mode os.FileMode
+
+ if os_mode, err = entry.Mode.ToOSFileMode(); err != nil {
display_git_tree_entry.Mode = "x---------"
} else {
display_git_tree_entry.Mode = os_mode.String()
}
+
display_git_tree_entry.Is_file = entry.Mode.IsFile()
- display_git_tree_entry.Size, err = tree.Size(entry.Name)
- if err != nil {
+
+ if display_git_tree_entry.Size, err = tree.Size(entry.Name); err != nil {
display_git_tree_entry.Size = 0
}
+
display_git_tree_entry.Name = strings.TrimPrefix(entry.Name, "/")
+
display_git_tree = append(display_git_tree, display_git_tree_entry)
}
return display_git_tree
}
func get_recent_commits(repo *git.Repository, head_hash plumbing.Hash, number_of_commits int) (recent_commits []*object.Commit, err error) {
- commit_iter, err := repo.Log(&git.LogOptions{From: head_hash})
+ var commit_iter object.CommitIter
+ var this_recent_commit *object.Commit
+
+ commit_iter, err = repo.Log(&git.LogOptions{From: head_hash})
if err != nil {
return nil, err
}
@@ -64,7 +75,7 @@ func get_recent_commits(repo *git.Repository, head_hash plumbing.Hash, number_of
defer commit_iter.Close()
if number_of_commits < 0 {
for {
- this_recent_commit, err := commit_iter.Next()
+ this_recent_commit, err = commit_iter.Next()
if errors.Is(err, io.EOF) {
return recent_commits, nil
} else if err != nil {
@@ -74,7 +85,7 @@ func get_recent_commits(repo *git.Repository, head_hash plumbing.Hash, number_of
}
} else {
for range number_of_commits {
- this_recent_commit, err := commit_iter.Next()
+ this_recent_commit, err = commit_iter.Next()
if errors.Is(err, io.EOF) {
return recent_commits, nil
} else if err != nil {
@@ -86,27 +97,23 @@ func get_recent_commits(repo *git.Repository, head_hash plumbing.Hash, number_of
return recent_commits, err
}
-func get_patch_from_commit(commit_object *object.Commit) (parent_commit_hash plumbing.Hash, patch *object.Patch, ret_err error) {
- parent_commit_object, err := commit_object.Parent(0)
+func get_patch_from_commit(commit_object *object.Commit) (parent_commit_hash plumbing.Hash, patch *object.Patch, err error) {
+ var parent_commit_object *object.Commit
+ var commit_tree *object.Tree
+
+ parent_commit_object, err = commit_object.Parent(0)
if errors.Is(err, object.ErrParentNotFound) {
- commit_tree, err := commit_object.Tree()
- if err != nil {
- ret_err = err
+ if commit_tree, err = commit_object.Tree(); err != nil {
return
}
- patch, err = (&object.Tree{}).Patch(commit_tree)
- if err != nil {
- ret_err = err
+ if patch, err = (&object.Tree{}).Patch(commit_tree); err != nil {
return
}
} else if err != nil {
- ret_err = err
return
} else {
parent_commit_hash = parent_commit_object.Hash
- patch, err = parent_commit_object.Patch(commit_object)
- if err != nil {
- ret_err = err
+ if patch, err = parent_commit_object.Patch(commit_object); err != nil {
return
}
}