forgejo/modules/git
a1012112796 3705168837
Add agit flow support in gitea (#14295)
* feature: add agit flow support

ref: https://git-repo.info/en/2020/03/agit-flow-and-git-repo/

example:

```Bash
git checkout -b test
echo "test" >> README.md
git commit -m "test"
git push origin HEAD:refs/for/master -o topic=test
```

Signed-off-by: a1012112796 <1012112796@qq.com>

* fix lint

* simplify code add fix some nits

* update merge help message

* Apply suggestions from code review. Thanks @jiangxin

* add forced-update message

* fix lint

* splite writePktLine

* add refs/for/<target-branch>/<topic-branch> support also

* Add test code add fix api

* fix lint

* fix test

* skip test if git version < 2.29

* try test with git 2.30.1

* fix permission check bug

* fix some nit

* logic implify and test code update

* fix bug

* apply suggestions from code review

* prepare for merge

Signed-off-by: Andrew Thornton <art27@cantab.net>

* fix permission check bug

- test code update
- apply suggestions from code review @zeripath

Signed-off-by: a1012112796 <1012112796@qq.com>

* fix bug when target branch isn't exist

* prevent some special push and fix some nits

* fix lint

* try splite

* Apply suggestions from code review

- fix permission check
- handle user rename

* fix version negotiation

* remane

* fix template

* handle empty repo

* ui: fix  branch link under the title

* fix nits

Co-authored-by: Andrew Thornton <art27@cantab.net>
Co-authored-by: 6543 <6543@obermui.de>
Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
2021-07-28 17:42:56 +08:00
..
pipeline Use git log name-status in get last commit (#16059) 2021-06-21 01:00:46 +03:00
tests/repos Fix webhook commits wrong hash on HEAD reset (#16283) 2021-06-30 19:49:06 +02:00
batch_reader.go Make cancel from CatFileBatch and CatFileBatchCheck wait for the command to end (#16479) 2021-07-20 20:23:01 +03:00
blame.go Fix various documentation, user-facing, and source comment typos (#16367) 2021-07-08 13:38:13 +02:00
blame_test.go
blob.go Fix diff expansion is missing final line in a file (#16222) 2021-06-24 17:47:46 +02:00
blob_gogit.go
blob_nogogit.go Use gitea logging module for git module (#16243) 2021-06-25 17:54:08 +01:00
blob_test.go On open repository open common cat file batch and batch-check (#15667) 2021-05-10 03:27:03 +02:00
command.go Limit stdout tracelog to actual stdout (#16258) 2021-06-26 13:47:56 +01:00
command_test.go
commit.go Fix modified files list in webhooks when there is a space (#16288) 2021-07-02 21:23:37 +02:00
commit_convert_gogit.go
commit_info.go
commit_info_gogit.go Make commit info cancelable (#16032) 2021-06-06 19:44:58 -04:00
commit_info_nogogit.go Use gitea logging module for git module (#16243) 2021-06-25 17:54:08 +01:00
commit_info_test.go Make commit info cancelable (#16032) 2021-06-06 19:44:58 -04:00
commit_reader.go Tagger can be empty, as can Commit and Author - tolerate this (#15835) 2021-05-12 01:11:42 -04:00
commit_test.go Fix modified files list in webhooks when there is a space (#16288) 2021-07-02 21:23:37 +02:00
diff.go Use gitea logging module for git module (#16243) 2021-06-25 17:54:08 +01:00
diff_test.go
error.go Fix 500 Error with branch and tag sharing the same name #15592 (#16040) 2021-06-23 17:08:26 -04:00
git.go Add agit flow support in gitea (#14295) 2021-07-28 17:42:56 +08:00
git_test.go Use gitea logging module for git module (#16243) 2021-06-25 17:54:08 +01:00
hook.go Use gitea logging module for git module (#16243) 2021-06-25 17:54:08 +01:00
last_commit_cache.go Use gitea logging module for git module (#16243) 2021-06-25 17:54:08 +01:00
last_commit_cache_gogit.go Use gitea logging module for git module (#16243) 2021-06-25 17:54:08 +01:00
last_commit_cache_nogogit.go Fix panic in recursive cache (#16298) 2021-06-29 16:12:43 -04:00
lfs.go Let package git depend on setting but not opposite (#15241) 2021-06-26 13:28:55 +02:00
log_name_status.go Use git log name-status in get last commit (#16059) 2021-06-21 01:00:46 +03:00
notes.go
notes_gogit.go Make commit info cancelable (#16032) 2021-06-06 19:44:58 -04:00
notes_nogogit.go Use git log name-status in get last commit (#16059) 2021-06-21 01:00:46 +03:00
notes_test.go Make commit info cancelable (#16032) 2021-06-06 19:44:58 -04:00
parse_gogit.go
parse_gogit_test.go
parse_nogogit.go Use gitea logging module for git module (#16243) 2021-06-25 17:54:08 +01:00
parse_nogogit_test.go Fixed assert statements. (#16089) 2021-06-07 07:27:09 +02:00
README.md
ref.go
remote.go Add push to remote mirror repository (#15157) 2021-06-14 19:20:43 +02:00
repo.go Fix 500 Error with branch and tag sharing the same name #15592 (#16040) 2021-06-23 17:08:26 -04:00
repo_archive.go Rework repository archive (#14723) 2021-06-23 17:12:38 -04:00
repo_attribute.go
repo_base_gogit.go Update Go-Git to take advantage of LargeObjectThreshold (#16316) 2021-06-30 22:58:45 +02:00
repo_base_nogogit.go Use gitea logging module for git module (#16243) 2021-06-25 17:54:08 +01:00
repo_blame.go
repo_blob.go
repo_blob_gogit.go
repo_blob_nogogit.go On open repository open common cat file batch and batch-check (#15667) 2021-05-10 03:27:03 +02:00
repo_blob_test.go On open repository open common cat file batch and batch-check (#15667) 2021-05-10 03:27:03 +02:00
repo_branch.go Add agit flow support in gitea (#14295) 2021-07-28 17:42:56 +08:00
repo_branch_gogit.go More efficiently parse shas for shaPostProcessor (#16101) 2021-06-21 00:39:12 +02:00
repo_branch_nogogit.go Use gitea logging module for git module (#16243) 2021-06-25 17:54:08 +01:00
repo_branch_test.go
repo_commit.go Fix various documentation, user-facing, and source comment typos (#16367) 2021-07-08 13:38:13 +02:00
repo_commit_gogit.go On open repository open common cat file batch and batch-check (#15667) 2021-05-10 03:27:03 +02:00
repo_commit_nogogit.go Use gitea logging module for git module (#16243) 2021-06-25 17:54:08 +01:00
repo_commit_test.go Fix webhook commits wrong hash on HEAD reset (#16283) 2021-06-30 19:49:06 +02:00
repo_commitgraph_gogit.go
repo_compare.go
repo_compare_test.go
repo_gpg.go
repo_hook.go
repo_index.go
repo_language_stats.go
repo_language_stats_gogit.go Speed up enry.IsVendor (#15213) 2021-04-01 19:41:09 +02:00
repo_language_stats_nogogit.go Use gitea logging module for git module (#16243) 2021-06-25 17:54:08 +01:00
repo_object.go
repo_ref.go
repo_ref_gogit.go
repo_ref_nogogit.go
repo_ref_test.go
repo_stats.go Fix various documentation, user-facing, and source comment typos (#16367) 2021-07-08 13:38:13 +02:00
repo_stats_test.go
repo_tag.go Use gitea logging module for git module (#16243) 2021-06-25 17:54:08 +01:00
repo_tag_gogit.go
repo_tag_nogogit.go On open repository open common cat file batch and batch-check (#15667) 2021-05-10 03:27:03 +02:00
repo_tag_test.go Create tag on ui (#13467) 2021-02-28 19:57:45 +00:00
repo_test.go Tests should use test files (#15801) 2021-05-09 17:20:33 +02:00
repo_tree.go
repo_tree_gogit.go
repo_tree_nogogit.go On open repository open common cat file batch and batch-check (#15667) 2021-05-10 03:27:03 +02:00
sha1.go
sha1_gogit.go
sha1_nogogit.go
signature.go
signature_gogit.go
signature_nogogit.go
submodule.go
submodule_test.go
tag.go Tagger can be empty, as can Commit and Author - tolerate this (#15835) 2021-05-12 01:11:42 -04:00
tag_test.go
tree.go Add TestPrepareWikiFileName (#16487) 2021-07-20 15:16:20 +02:00
tree_blob.go
tree_blob_gogit.go
tree_blob_nogogit.go On open repository open common cat file batch and batch-check (#15667) 2021-05-10 03:27:03 +02:00
tree_entry.go On open repository open common cat file batch and batch-check (#15667) 2021-05-10 03:27:03 +02:00
tree_entry_gogit.go
tree_entry_mode.go
tree_entry_nogogit.go On open repository open common cat file batch and batch-check (#15667) 2021-05-10 03:27:03 +02:00
tree_entry_test.go Fixed assert statements. (#16089) 2021-06-07 07:27:09 +02:00
tree_gogit.go
tree_nogogit.go On open repository open common cat file batch and batch-check (#15667) 2021-05-10 03:27:03 +02:00
utils.go Fix various documentation, user-facing, and source comment typos (#16367) 2021-07-08 13:38:13 +02:00
utils_test.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.