forgejo-aneksajo/services
Nick fb72fd30a8 git-annex: support downloading over HTTP (#6)
This makes HTTP symmetric with SSH clone URLs.

This gives us the fancy feature of _anonymous_ downloads,
so people can access datasets without having to set up an
account or manage ssh keys.

Previously, to access "open access" data shared this way,
users would need to:

  1. Create an account on gitea.example.com
  2. Create ssh keys
  3. Upload ssh keys (and make sure to find and upload the correct file)
  4. `git clone git@gitea.example.com:user/dataset.git`
  5. `cd dataset`
  6. `git annex get`

This cuts that down to just the last three steps:

  1. `git clone https://gitea.example.com/user/dataset.git`
  2. `cd dataset`
  3. `git annex get`

This is significantly simpler for downstream users, especially for those
unfamiliar with the command line.

Unfortunately there's no uploading. While git-annex supports uploading
over HTTP to S3 and some other special remotes, it seems to fail on a
_plain_ HTTP remote. See https://github.com/neuropoly/gitea/issues/7
and https://git-annex.branchable.com/forum/HTTP_uploads/#comment-ce28adc128fdefe4c4c49628174d9b92.

This is not a major loss since no one wants uploading to be anonymous anyway.

To support private repos, I had to hunt down and patch a secret extra security
corner that Gitea only applies to HTTP for some reason (services/auth/basic.go).

This was guided by https://git-annex.branchable.com/tips/setup_a_public_repository_on_a_web_site/

Fixes https://github.com/neuropoly/gitea/issues/3

Co-authored-by: Mathieu Guay-Paquet <mathieu.guaypaquet@polymtl.ca>
2024-05-08 15:01:54 +02:00
..
actions Use action user as the trigger user of schedules (#30581) 2024-04-21 18:17:35 +02:00
agit Use the database object format name but not read from git repoisitory everytime and fix possible migration wrong objectformat when migrating a sha256 repository (#29294) 2024-02-26 22:30:26 +01:00
asymkey Simplify how git repositories are opened (#28937) 2024-01-27 21:09:51 +01:00
attachment Add support for API blob upload of release attachments (#29507) 2024-03-06 12:10:46 +08:00
auth git-annex: support downloading over HTTP (#6) 2024-05-08 15:01:54 +02:00
automerge Simplify how git repositories are opened (#28937) 2024-01-27 21:09:51 +01:00
context Clean up log messages (#30313) 2024-04-15 16:11:14 +02:00
contexttest add label filters in org/{org_name}/issues 2024-04-04 17:37:56 +00:00
convert Fix branch_protection api shows users/teams who has no readAccess (#30291) (#30544) 2024-04-21 18:10:34 +02:00
cron Update checker setting updates 2024-04-10 20:55:35 +00:00
doctor Merge pull request '[v7.0/forgejo] [BUG] Don't remove builtin OAuth2 applications' (#3069) from bp-v7.0/forgejo-6af8f3a into v7.0/forgejo 2024-04-06 12:43:33 +00:00
externalaccount Final round of db.DefaultContext refactor (#27587) 2023-10-14 08:37:24 +00:00
feed More db.DefaultContext refactor (#27265) 2023-09-29 12:12:54 +00:00
forgejo [UPGRADE] run sanity checks before the database is upgraded 2024-02-05 14:44:33 +01:00
forms [I18N] Improve English locale 2024-04-15 17:50:01 +00:00
gitdiff [PERFORMANCE] git check-attr on bare repo if supported 2024-03-28 10:52:51 +01:00
indexer Fix missing issue search index update when changing status (#28325) 2023-12-03 12:22:44 +01:00
issue [Port] gitea#29999: Fix Add/Remove WIP on pull request title failure 2024-03-29 12:21:51 +01:00
lfs Move context from modules to services (#29440) 2024-03-06 12:10:43 +08:00
mailer fix(incoming): allow replies to comments 2024-04-22 22:43:16 +00:00
markup [v7.0/forgejo] Render inline file permalinks 2024-04-01 16:15:58 +02:00
migrations Change the default maxPerPage for gitbucket (#30392) (#30425) 2024-04-15 16:41:09 +02:00
mirror Avoid losing token when updating mirror settings (#30429) (#30464) 2024-04-15 16:43:34 +02:00
notify Clean up log messages (#30313) 2024-04-15 16:11:14 +02:00
org Delete repos of org when purge delete user (#27273) 2023-10-19 13:16:11 +00:00
packages packages: skip error logging on duplicate 2024-03-24 07:12:31 +01:00
pull [TEST] make the indexer and pull tasks cancellable (without shutdown) 2024-04-16 10:37:59 +02:00
release Fix release published actions not triggering for releases created from existing tags 2024-04-16 18:28:53 +00:00
repository Fix commit status cache which missed target_url (#30426) (#30444) 2024-04-21 18:02:50 +02:00
secrets Refactor deletion (#28610) 2023-12-25 21:25:29 +01:00
task Fix incorrect ctx usage in defer function (#27740) 2023-10-22 14:12:27 +00:00
uinotification Penultimate round of db.DefaultContext refactor (#27414) 2023-10-11 04:24:07 +00:00
user Check the token's owner and repository when registering a runner (#30406) 2024-04-16 11:43:08 +02:00
webhook s/Gitea/Forgejo in various log messages and comments 2024-04-22 14:41:17 +00:00
wiki Clean up log messages (#30313) 2024-04-15 16:11:14 +02:00