Commit graph

270 commits

Author SHA1 Message Date
621e599b31 refactor: git: use thiserror and cleanup errors 2024-06-03 20:31:39 +01:00
0b8e41a8ec refactor: config: use thiserror and move tests about 2024-06-03 07:38:59 +01:00
235aee8b11 chore: remove unused dependencies
Identified using: cargo +nightly udeps --all-targets
2024-06-02 20:30:35 +01:00
c189aa3ad3 test: add more tests to forge-forgejo crate 2024-06-02 18:55:02 +01:00
98839c8a00 test: add more tests to forge crate 2024-06-01 12:03:30 +01:00
1010eaec64 tests: add more tests to config crate 2024-06-01 11:44:36 +01:00
1eb4ed6d23 fix: add missing list webhooks implementation 2024-05-31 08:09:00 +01:00
46b6d8680c feat: Add support for GitHub
This doesn't include GitHub Enterprise

Closes kemitix/git-next#86
2024-05-31 07:23:48 +01:00
206e64cd5b feat: Webhook query paths include forge alias
This allows for more than one forge to be configured and for the webhook
to correctly route incoming messages.
2024-05-29 19:35:50 +01:00
9f04b1ae6c fix: remove old implementation of forgejo get all branches 2024-05-28 06:45:49 +01:00
012668dd0a refactor: move git::remote_branches to git crate 2024-05-28 06:37:08 +01:00
f259179274 refactor: move git::read_file implementation to git crate 2024-05-26 18:22:15 +01:00
d0638fdbc4 refactor: move repo_clone implementation to git crate 2024-05-26 13:30:46 +01:00
f10dc25aeb refactor: merge git::validate module into git::validation 2024-05-26 09:20:08 +01:00
dd5532d3a3 refactor: move validate_positions into git crate 2024-05-26 09:20:05 +01:00
8a35911d00 refactor: get commit from from local repo (part 2/3)
Remove the legacy implementation
2024-05-26 08:07:12 +01:00
3642b2cdd1 fix: new commit_log matches original from API request
The original was including a lot of extra commits, those are now trimmed
to match the expected.
2024-05-25 20:36:24 +01:00
7a0247ea03 refactor: get commit log from local repo (step 1)
Avoid using a forge-specific API to get a commit log when the
information is already available locally in the cloned repo through a
generic git command.

The commit adds the new method of getting the commit log and compares it
with the original methods, logging if they match or not.

The updated results are returned only if they match.
2024-05-25 08:10:02 +01:00
7818b25a5c refactor: move forgejo branch test to forgejo crate 2024-05-24 07:07:01 +01:00
0202be19fe refactor: remove unused git branch error 2024-05-23 20:52:16 +01:00
4cd797ac0a build: forge only include forgejo crate when feature enabled 2024-05-23 19:41:50 +01:00
5253e136cc refactor: extract forge-forgejo crate 2024-05-23 19:36:05 +01:00
9e37c073c2 refactor(repo_actor): consitent use of config crate 2024-05-23 17:56:47 +01:00
17b1629cdf refactor(repo_actor): merge config and load modules 2024-05-23 17:53:36 +01:00
64cbe36dac refactor: move ForgeLike to git 2024-05-23 16:50:36 +01:00
639223fcaa refactor: improve consistency of use of git types 2024-05-23 16:19:28 +01:00
f2af849d0b refactor(forge): rename gitforge crate as forge 2024-05-23 16:04:38 +01:00
ebbb655bfc feat(server): config file watcher will respond to touch
You can now trigger a server reload by `touch`ing the
`git-next-server.toml` file.
2024-05-23 09:01:57 +01:00
d76be1197a test: don't record coverage for mock forge 2024-05-23 08:53:16 +01:00
4053563b30 refactor: move MessageToken to repo-actor crate 2024-05-23 08:52:42 +01:00
564e14a370 refactor(gitforge): disolve gitforge:errors module 2024-05-23 08:01:16 +01:00
db9b4220ee refactor: extract repo-actor and gitforge crates 2024-05-22 19:57:48 +01:00
ac25c9985e chore: remove feature declarations
git crate doesn't have and feature dependent code
2024-05-21 19:58:18 +01:00
df8ebc6af7 refactor(server): collapse type module into gitforge module 2024-05-21 19:47:01 +01:00
341dc97a51 refactor(git): add mock repository and tests
Repository is now behind an enum to allow selection of a mock Repsitory
for use in tests.
2024-05-21 19:47:01 +01:00
e5744e85ad fix(server): invalid webhook authorisations
Parameters had been passed in wrong order. Added strong types to prevent
a repeat.
2024-05-21 09:01:44 +01:00
c6c8dcedc5 feat(server): display expected auth in logs in invalid request 2024-05-20 07:46:23 +01:00
4977619c70 fix(server): don't use gix in server 2024-05-20 07:46:23 +01:00
c3c4c41c73 refactor(git): only expose OpenRepository from repository::open 2024-05-20 07:46:21 +01:00
70100f6dc5 refactor(git): reporitory errors don't leak implementation 2024-05-20 07:43:03 +01:00
155497c97f refactor(git): split mock, real and open into their files 2024-05-20 07:42:52 +01:00
f4b8401bb1 test(git): add more tests 2024-05-19 14:54:17 +01:00
f398fb3b6a feat(server/webhook): warn when message is dropped 2024-05-18 22:36:54 +01:00
9d0f2d1ba1 feat(server): don't log validation ok 2024-05-18 22:29:57 +01:00
ee83def127 feat(server): don't log individual internal messages 2024-05-18 22:26:44 +01:00
76472fa74a chore: remove unused dependency tempfile 2024-05-18 22:23:18 +01:00
6c06d63c57 chore: remove dependency pretty_assertions 2024-05-18 22:21:10 +01:00
d6ca6ea3b2 chore: remove dependency test-log 2024-05-18 22:20:07 +01:00
f1a6d5089b chore: remove unused dependency anyhow 2024-05-18 22:18:36 +01:00
f56ac321f4 chore: remove dependency on terrors 2024-05-18 22:16:17 +01:00
58e991b2b7 test(git): make repository more testable
Adds a layer around Repository to allow the use of a mock.

Mock has still to be implemented.
2024-05-18 20:37:03 +01:00
6757723b77 feat(server/webhook): log errors in webhook requests 2024-05-18 20:26:44 +01:00
c3a5e50ad5 test(git): add more tests 2024-05-18 07:37:04 +01:00
896e1cba42 test(config): add more tests 2024-05-17 20:26:33 +01:00
446300e786 refactor(git): rename reset as push 2024-05-16 14:45:25 +01:00
d87af324d6 refactor(server): more derive_more replacing boilerplate 2024-05-16 06:46:03 +01:00
f8375ed1fc refactor(server/config): rename RepoConfigValidationError as Error
It is never referenced directly outside of this module.
2024-05-15 20:46:29 +01:00
eb7d14bc33 refactor(git): more derive_more replacing boilerplate 2024-05-15 20:40:25 +01:00
d70baa4350 refactor(config): more derive_more replacing boilerplate 2024-05-15 07:55:05 +01:00
c374076323 refactor(git): more use of derive_more 2024-05-14 16:28:21 +01:00
ac3e1be261 test: add some tests 2024-05-14 07:59:31 +01:00
a7e7d12928 test(cli): add tests 2024-05-14 07:58:28 +01:00
a4694d48f6 refactor(config): replace boilerplate with derive_more 2024-05-13 21:03:33 +01:00
1e38330914 feat(git): add git_dir value to error when reset fails 2024-05-13 19:09:11 +01:00
4d352f005d refactor(server,config,git): extract modules config and git from server 2024-05-12 10:49:33 +01:00
740419ffb8 refactor: specify server dependency in workspace 2024-05-11 19:29:38 +01:00
87c762c59a chore: clean up dependencies for split crates 2024-05-11 19:14:06 +01:00
a8eedfcac5 fix: clippy fixes for tests 2024-05-11 18:58:47 +01:00
3a112ddd8b refactor: extract server crate 2024-05-11 18:57:18 +01:00
834dff4370 chore: convert project into a cargo workspace 2024-05-11 16:33:18 +01:00