mirror of
1
Fork 0
forgejo/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
README.md
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.go Read `previous` info from git blame (#28306) (#28310) 2023-12-01 08:27:35 +01:00
blame_test.go Read `previous` info from git blame (#28306) (#28310) 2023-12-01 08:27:35 +01:00
blob.go Fix profile render when the README.md size is larger than 1024 bytes (#25131) 2023-06-13 09:02:25 +00:00
blob_gogit.go
blob_nogogit.go
blob_test.go
command.go Clarify the git command Stdin hanging problem (#26967) 2023-09-08 13:20:38 +00:00
command_race_test.go
command_test.go Improve git log for debugging (#24095) 2023-04-13 19:17:27 -04:00
commit.go Convert git commit summary to valid UTF8. (#28356) (#28358) 2023-12-05 09:19:08 +00:00
commit_convert_gogit.go
commit_info.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_reader.go
commit_test.go Add merge files files to GetCommitFileStatus (#20515) 2023-08-24 10:03:49 +00:00
diff.go
diff_test.go
error.go
git.go Update tool dependencies, lock govulncheck and actionlint (#25655) 2023-07-09 11:58:06 +00:00
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
hook.go
last_commit_cache.go Replace `interface{}` with `any` (#25686) 2023-07-04 18:36:08 +00:00
last_commit_cache_gogit.go
last_commit_cache_nogogit.go
log_name_status.go Remove redundant nil check in `WalkGitLog` (#26773) 2023-08-29 11:03:43 +00:00
notes.go
notes_gogit.go
notes_nogogit.go
notes_test.go
parse_gogit.go
parse_gogit_test.go
parse_nogogit.go
parse_nogogit_test.go
ref.go Fix compatible for webhook ref type (#25195) 2023-06-13 06:05:28 +00:00
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
remote.go
repo.go Fix git 2.11 error when checking IsEmpty (#27393) (#27397) 2023-10-02 22:36:18 +02:00
repo_archive.go
repo_attribute.go
repo_attribute_test.go Use more specific test methods (#24265) 2023-04-22 17:56:27 -04:00
repo_base.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_blame.go Remove `git.FileBlame` (#25841) 2023-07-12 19:07:29 +02:00
repo_blob.go
repo_blob_gogit.go
repo_blob_nogogit.go
repo_blob_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_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_commit.go Pass 'not' to commit count (#24473) 2023-05-08 07:10:53 +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_commitgraph.go
repo_commitgraph_gogit.go
repo_compare.go Support getting changed files when commit ID is `EmptySHA` (#26290) 2023-08-04 02:53:15 +00:00
repo_compare_test.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.go Merge different languages for language stats (#24900) 2023-05-24 19:37:36 +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_object.go
repo_ref.go Show branches and tags that contain a commit (#25180) 2023-07-27 12:47:41 +02:00
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_stats.go
repo_stats_test.go Fix commit retrieval by tag (#21804) 2023-03-02 13:32:21 +08:00
repo_tag.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_test.go Faster git.GetDivergingCommits (#24482) 2023-05-04 05:08:41 +00:00
repo_tree.go
repo_tree_gogit.go
repo_tree_nogogit.go
sha1.go Support getting changed files when commit ID is `EmptySHA` (#26290) 2023-08-04 02:53:15 +00:00
sha1_gogit.go
sha1_nogogit.go
sha1_test.go
signature.go
signature_gogit.go
signature_nogogit.go Update tool dependencies, lock govulncheck and actionlint (#25655) 2023-07-09 11:58:06 +00:00
submodule.go
submodule_test.go
tag.go
tag_test.go
tree.go
tree_blob.go
tree_blob_gogit.go
tree_blob_nogogit.go
tree_entry.go
tree_entry_gogit.go
tree_entry_mode.go
tree_entry_nogogit.go
tree_entry_test.go
tree_gogit.go
tree_nogogit.go
utils.go Replace `interface{}` with `any` (#25686) 2023-07-04 18:36:08 +00:00

README.md

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.