forgejo/modules/git
Philip Peterson 03508b33a8
[FEAT] Allow pushmirror to use publickey authentication
- Continuation of https://github.com/go-gitea/gitea/pull/18835 (by
@Gusted, so it's fine to change copyright holder to Forgejo).
- Add the option to use SSH for push mirrors, this would allow for the
deploy keys feature to be used and not require tokens to be used which
cannot be limited to a specific repository. The private key is stored
encrypted (via the `keying` module) on the database and NEVER given to
the user, to avoid accidental exposure and misuse.
- CAVEAT: This does require the `ssh` binary to be present, which may
not be available in containerized environments, this could be solved by
adding a SSH client into forgejo itself and use the forgejo binary as
SSH command, but should be done in another PR.
- CAVEAT: Mirroring of LFS content is not supported, this would require
the previous stated problem to be solved due to LFS authentication (an
attempt was made at forgejo/forgejo#2544).
- Integration test added.
- Resolves #4416
2024-08-22 17:05:07 +02:00
..
foreachref Use refname:strip-2 instead of refname:short when syncing tags (#28797) 2024-01-16 08:13:07 +01:00
internal Refactor git command package to improve security and maintainability (#22678) 2023-02-04 10:30:43 +08:00
pipeline [CHORE] Drop go-git support 2024-08-12 19:11:09 +02:00
pushoptions fix(hook): ignore unknown push options instead of failing 2024-07-02 21:39:01 +02:00
tests/repos [PERFORMANCE] git check-attr on bare repo if supported 2024-03-28 10:52:51 +01:00
url Add testifylint to lint checks (#4535) 2024-07-30 19:41:10 +00:00
batch_reader.go Enable more revive linter rules (#30608) 2024-04-28 15:39:00 +02:00
blame.go Add io.Closer guidelines (#29387) 2024-02-26 22:30:27 +01:00
blame_sha256_test.go Add testifylint to lint checks (#4535) 2024-07-30 19:41:10 +00:00
blame_test.go Add testifylint to lint checks (#4535) 2024-07-30 19:41:10 +00:00
blob.go [CHORE] Drop go-git support 2024-08-12 19:11:09 +02:00
blob_test.go Add testifylint to lint checks (#4535) 2024-07-30 19:41:10 +00:00
command.go git-grep: fix for initial dashes in expressions 2024-08-12 22:12:47 +02:00
command_race_test.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
command_test.go git-grep: fix for initial dashes in expressions 2024-08-12 22:12:47 +02:00
commit.go Fix commit file status parser (#30602) 2024-04-21 16:28:16 +02:00
commit_info.go [CHORE] Drop go-git support 2024-08-12 19:11:09 +02:00
commit_info_test.go Add testifylint to lint checks (#4535) 2024-07-30 19:41:10 +00:00
commit_reader.go Enable more revive linter rules (#30608) 2024-04-28 15:39:00 +02:00
commit_sha256_test.go [CHORE] Drop go-git support 2024-08-12 19:11:09 +02:00
commit_test.go Add testifylint to lint checks (#4535) 2024-07-30 19:41:10 +00:00
diff.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
diff_test.go Add testifylint to lint checks (#4535) 2024-07-30 19:41:10 +00:00
error.go Add merge style fast-forward-only (#28954) 2024-02-14 17:19:19 +01:00
git.go [CHORE] Drop go-git support 2024-08-12 19:11:09 +02:00
git_test.go Add testifylint to lint checks (#4535) 2024-07-30 19:41:10 +00:00
grep.go Merge pull request 'git-grep: refactor defaults' (#4964) from yoctozepto/git-grep-refactor-defaults into forgejo 2024-08-19 13:12:37 +00:00
grep_test.go git-grep: fix for initial dashes in expressions 2024-08-12 22:12:47 +02:00
hook.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
last_commit_cache.go [CHORE] Drop go-git support 2024-08-12 19:11:09 +02:00
log_name_status.go Fix linting issues 2024-08-18 16:25:13 +02:00
notes.go [CHORE] Drop go-git support 2024-08-12 19:11:09 +02:00
notes_test.go Add testifylint to lint checks (#4535) 2024-07-30 19:41:10 +00:00
object_format.go Enable unparam linter (#31277) 2024-06-16 13:42:58 +02:00
object_id.go chore: fix typos identified by mispell 2024-05-25 09:43:50 +02:00
object_id_test.go fix: hook post-receive for sha256 repos 2024-05-15 16:43:16 +02:00
object_signature.go Rename CommitGPGSignature to ObjectSignature 2024-03-26 08:09:36 +00:00
parse.go [CHORE] Drop go-git support 2024-08-12 19:11:09 +02:00
parse_test.go [CHORE] Drop go-git support 2024-08-12 19:11:09 +02:00
README.md move code.gitea.io/git to code.gitea.io/gitea/modules/git (#6364) 2019-03-27 17:33:00 +08:00
ref.go Add codespell support and fix a good number of typos with its help (#3270) 2024-05-09 13:49:37 +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 Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
repo.go [FEAT] Allow pushmirror to use publickey authentication 2024-08-22 17:05:07 +02:00
repo_archive.go Fix archive creating LFS hooks and breaking pull requests (#28848) 2024-01-19 05:49:18 +00:00
repo_attribute.go Add codespell support and fix a good number of typos with its help (#3270) 2024-05-09 13:49:37 +00:00
repo_attribute_test.go Add testifylint to lint checks (#4535) 2024-07-30 19:41:10 +00:00
repo_base.go [CHORE] Drop go-git support 2024-08-12 19:11:09 +02:00
repo_blame.go Remove git.FileBlame (#25841) 2023-07-12 19:07:29 +02:00
repo_blob_test.go Add testifylint to lint checks (#4535) 2024-07-30 19:41:10 +00:00
repo_branch.go [CHORE] Drop go-git support 2024-08-12 19:11:09 +02:00
repo_branch_test.go Fix IsObjectExist with gogit (#31790) (tests only) 2024-08-13 09:05:43 +02:00
repo_commit.go [CHORE] Drop go-git support 2024-08-12 19:11:09 +02:00
repo_commit_test.go Add testifylint to lint checks (#4535) 2024-07-30 19:41:10 +00:00
repo_commitgraph.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
repo_compare.go Lazy load object format with command line and don't do it in OpenRepository (#29712) 2024-03-20 08:46:28 +01:00
repo_compare_test.go Add testifylint to lint checks (#4535) 2024-07-30 19:41:10 +00:00
repo_gpg.go Abstract hash function usage (#28138) 2023-12-13 21:02:00 +00:00
repo_hook.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
repo_index.go Fix slow patch checking with commits that add or remove many files (#31548) 2024-07-07 07:33:01 +02:00
repo_language_stats.go [CHORE] Drop go-git support 2024-08-12 19:11:09 +02:00
repo_language_stats_test.go [CHORE] Drop go-git support 2024-08-12 19:11:09 +02:00
repo_object.go Improve ObjectFormat interface (#28496) 2023-12-19 07:20:47 +00:00
repo_ref.go [CHORE] Drop go-git support 2024-08-12 19:11:09 +02:00
repo_ref_test.go Add testifylint to lint checks (#4535) 2024-07-30 19:41:10 +00:00
repo_stats.go Fix some pending problems (#29985) 2024-03-26 19:04:26 +01:00
repo_stats_test.go Add testifylint to lint checks (#4535) 2024-07-30 19:41:10 +00:00
repo_tag.go [CHORE] Drop go-git support 2024-08-12 19:11:09 +02:00
repo_tag_test.go Add testifylint to lint checks (#4535) 2024-07-30 19:41:10 +00:00
repo_test.go Add testifylint to lint checks (#4535) 2024-07-30 19:41:10 +00:00
repo_tree.go [CHORE] Drop go-git support 2024-08-12 19:11:09 +02:00
signature.go [CHORE] Drop go-git support 2024-08-12 19:11:09 +02:00
signature_test.go [gitea] Refactor parseSignatureFromCommitLine (#29054) 2024-02-10 10:53:43 +01:00
submodule.go Enable more revive linter rules (#30608) 2024-04-28 15:39:00 +02:00
submodule_test.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
tag.go Count downloads for tag archives 2024-04-08 12:51:27 +02:00
tag_test.go Add testifylint to lint checks (#4535) 2024-07-30 19:41:10 +00:00
tree.go [CHORE] Drop go-git support 2024-08-12 19:11:09 +02:00
tree_blob.go [CHORE] Drop go-git support 2024-08-12 19:11:09 +02:00
tree_entry.go [CHORE] Drop go-git support 2024-08-12 19:11:09 +02:00
tree_entry_mode.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
tree_test.go Add testifylint to lint checks (#4535) 2024-07-30 19:41:10 +00:00
utils.go Refactor sha1 and time-limited code (#31023) 2024-05-26 18:43:30 +02:00
utils_test.go [CHORE] Drop go-git support 2024-08-12 19:11:09 +02: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.