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 Replace interface{} with any (#25686) 2023-07-04 18:36:08 +00:00
internal
pipeline Refactor and tidy-up the merge/update branch code (#22568) 2023-03-07 15:07:35 -05:00
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 Fix profile render when the README.md size is larger than 1024 bytes (#25131) 2023-06-13 09:02:25 +00:00
command_race_test.go
command_test.go Improve git log for debugging (#24095) 2023-04-13 19:17:27 -04:00
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 Replace interface{} with any (#25686) 2023-07-04 18:36:08 +00:00
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 Support changing git config through app.ini, use diff.algorithm=histogram by default (#24860) 2023-05-23 16:30:19 +00:00
git.go Update tool dependencies, lock govulncheck and actionlint (#25655) 2023-07-09 11:58:06 +00:00
hook.go
last_commit_cache_gogit.go
last_commit_cache_nogogit.go
last_commit_cache.go Replace interface{} with any (#25686) 2023-07-04 18:36:08 +00:00
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 Use the type RefName for all the needed places and fix pull mirror sync bugs (#24634) 2023-05-26 01:04:48 +00:00
ref.go Fix compatible for webhook ref type (#25195) 2023-06-13 06:05:28 +00:00
remote.go
repo_archive.go
repo_attribute_test.go Use more specific test methods (#24265) 2023-04-22 17:56:27 -04:00
repo_attribute.go
repo_base_gogit.go
repo_base_nogogit.go Update tool dependencies, lock govulncheck and actionlint (#25655) 2023-07-09 11:58:06 +00:00
repo_base.go
repo_blame.go Remove git.FileBlame (#25841) 2023-07-12 19:07:29 +02:00
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 Use the type RefName for all the needed places and fix pull mirror sync bugs (#24634) 2023-05-26 01:04:48 +00:00
repo_commit_gogit.go Fix commit retrieval by tag (#21804) 2023-03-02 13:32:21 +08:00
repo_commit_nogogit.go Fix commit retrieval by tag (#21804) 2023-03-02 13:32:21 +08:00
repo_commit_test.go Use more specific test methods (#24265) 2023-04-22 17:56:27 -04:00
repo_commit.go Pass 'not' to commit count (#24473) 2023-05-08 07:10:53 +00:00
repo_commitgraph_gogit.go
repo_commitgraph.go
repo_compare_test.go Support getting changed files when commit ID is EmptySHA (#26290) 2023-08-04 02:53:15 +00:00
repo_compare.go Support getting changed files when commit ID is EmptySHA (#26290) 2023-08-04 02:53:15 +00:00
repo_gpg.go
repo_hook.go
repo_index.go Update tool dependencies, lock govulncheck and actionlint (#25655) 2023-07-09 11:58:06 +00:00
repo_language_stats_gogit.go Merge different languages for language stats (#24900) 2023-05-24 19:37:36 +00:00
repo_language_stats_nogogit.go Merge different languages for language stats (#24900) 2023-05-24 19:37:36 +00:00
repo_language_stats_test.go Merge different languages for language stats (#24900) 2023-05-24 19:37:36 +00:00
repo_language_stats.go Merge different languages for language stats (#24900) 2023-05-24 19:37:36 +00:00
repo_object.go
repo_ref_gogit.go
repo_ref_nogogit.go
repo_ref_test.go Fix commit retrieval by tag (#21804) 2023-03-02 13:32:21 +08:00
repo_ref.go Show branches and tags that contain a commit (#25180) 2023-07-27 12:47:41 +02:00
repo_stats_test.go Fix commit retrieval by tag (#21804) 2023-03-02 13:32:21 +08:00
repo_stats.go
repo_tag_gogit.go
repo_tag_nogogit.go
repo_tag_test.go Use more specific test methods (#24265) 2023-04-22 17:56:27 -04:00
repo_tag.go
repo_test.go Faster git.GetDivergingCommits (#24482) 2023-05-04 05:08:41 +00:00
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 Support getting changed files when commit ID is EmptySHA (#26290) 2023-08-04 02:53:15 +00:00
signature_gogit.go
signature_nogogit.go Update tool dependencies, lock govulncheck and actionlint (#25655) 2023-07-09 11:58:06 +00:00
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 Replace interface{} with any (#25686) 2023-07-04 18:36:08 +00:00

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.