diff options
author | Runxi Yu <me@runxiyu.org> | 2025-03-05 08:51:17 +0800 |
---|---|---|
committer | Runxi Yu <me@runxiyu.org> | 2025-03-05 08:51:17 +0800 |
commit | 7c341685f878aa8fd4c49788cf8cc0d8c5c6e127 (patch) | |
tree | 5295f1f4020e85c065e98fcb88ec217ad66e078a /git_misc.go | |
parent | config: Add explanatory comments (diff) | |
download | forge-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.go | 51 |
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 } } |