gitea/modules/git
Giteabot 272ae03341
Make gogit Repository.GetBranchNames consistent (#28348) (#28386)
Backport #28348 by @AdamMajer

nogogit GetBranchNames() lists branches sorted in reverse commit date
order. On the other hand the gogit implementation doesn't apply any
ordering resulting in unpredictable behaviour. In my case, the unit
tests requiring particular order fail

    repo_branch_test.go:24:
                Error Trace:
               ./gitea/modules/git/repo_branch_test.go:24
                Error:          elements differ

                                extra elements in list A:
                                ([]interface {}) (len=1) {
                                 (string) (len=6) "master"
                                }

                                extra elements in list B:
                                ([]interface {}) (len=1) {
                                 (string) (len=7) "branch1"
                                }

                                listA:
                                ([]string) (len=2) {
                                 (string) (len=6) "master",
                                 (string) (len=7) "branch2"
                                }

                                listB:
                                ([]string) (len=2) {
                                 (string) (len=7) "branch1",
                                 (string) (len=7) "branch2"
                                }
                Test:           TestRepository_GetBranches

To fix this, we sort branches based on their commit date in gogit
implementation.

Fixes: #28318

Co-authored-by: Adam Majer <amajer@suse.de>
2023-12-07 13:03:27 -05:00
..
foreachref
internal
pipeline
tests/repos Support .git-blame-ignore-revs file (#26395) 2023-09-16 17:42:34 +00:00
url
batch_reader.go Make git batch operations use parent context timeout instead of default timeout (#26325) 2023-08-04 14:50:41 +02:00
blame_test.go Read previous info from git blame (#28306) (#28310) 2023-12-01 08:27:35 +01:00
blame.go Read previous info from git blame (#28306) (#28310) 2023-12-01 08:27:35 +01:00
blob_gogit.go
blob_nogogit.go
blob_test.go
blob.go
command_race_test.go
command_test.go
command.go Clarify the git command Stdin hanging problem (#26967) 2023-09-08 13:20:38 +00:00
commit_convert_gogit.go
commit_info_gogit.go
commit_info_nogogit.go
commit_info_test.go
commit_info.go
commit_reader.go
commit_test.go Add merge files files to GetCommitFileStatus (#20515) 2023-08-24 10:03:49 +00:00
commit.go Convert git commit summary to valid UTF8. (#28356) (#28358) 2023-12-05 09:19:08 +00:00
diff_test.go
diff.go
error.go
git_test.go
git.go
hook.go
last_commit_cache_gogit.go
last_commit_cache_nogogit.go
last_commit_cache.go
log_name_status.go Remove redundant nil check in WalkGitLog (#26773) 2023-08-29 11:03:43 +00:00
notes_gogit.go
notes_nogogit.go
notes_test.go
notes.go
parse_gogit_test.go
parse_gogit.go
parse_nogogit_test.go
parse_nogogit.go
README.md
ref_test.go
ref.go
remote.go
repo_archive.go
repo_attribute_test.go
repo_attribute.go
repo_base_gogit.go
repo_base_nogogit.go
repo_base.go
repo_blame.go
repo_blob_gogit.go
repo_blob_nogogit.go
repo_blob_test.go
repo_blob.go
repo_branch_gogit.go Make gogit Repository.GetBranchNames consistent (#28348) (#28386) 2023-12-07 13:03:27 -05:00
repo_branch_nogogit.go
repo_branch_test.go
repo_branch.go
repo_commit_gogit.go
repo_commit_nogogit.go
repo_commit_test.go
repo_commit.go
repo_commitgraph_gogit.go
repo_commitgraph.go
repo_compare_test.go
repo_compare.go
repo_gpg.go
repo_hook.go
repo_index.go
repo_language_stats_gogit.go
repo_language_stats_nogogit.go
repo_language_stats_test.go
repo_language_stats.go
repo_object.go
repo_ref_gogit.go
repo_ref_nogogit.go
repo_ref_test.go
repo_ref.go
repo_stats_test.go
repo_stats.go
repo_tag_gogit.go
repo_tag_nogogit.go
repo_tag_test.go
repo_tag.go
repo_test.go
repo_tree_gogit.go
repo_tree_nogogit.go
repo_tree.go
repo.go Fix git 2.11 error when checking IsEmpty (#27393) (#27397) 2023-10-02 22:36:18 +02:00
sha1_gogit.go
sha1_nogogit.go
sha1_test.go
sha1.go
signature_gogit.go
signature_nogogit.go
signature.go
submodule_test.go
submodule.go
tag_test.go
tag.go
tree_blob_gogit.go
tree_blob_nogogit.go
tree_blob.go
tree_entry_gogit.go
tree_entry_mode.go
tree_entry_nogogit.go
tree_entry_test.go
tree_entry.go
tree_gogit.go
tree_nogogit.go
tree.go
utils.go

Git Module

This module is merged from https://github.com/go-gitea/git which is a Go module to access Git through shell commands. Now it's a part of gitea's main repository for easier pull request.