forgejo-aneksajo/services
Nick a44d7f25f6 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-24 17:45:25 +02:00
..
actions fix: hook post-receive for sha256 repos 2024-05-15 21:08:15 +00: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-24 17:45:25 +02:00
automerge Simplify how git repositories are opened (#28937) 2024-01-27 21:09:51 +01:00
context Ignore useless error message "broken pipe" (#30801) (#30842) 2024-05-07 08:15:36 +01:00
contexttest Move database operations of merging a pull request to post receive hook and add a transaction (#30805) 2024-05-14 15:37:32 +02:00
convert services/convert: Convert a Repository's ObjectFormatName too 2024-04-26 08:55:40 +00: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 Update issue indexer after merging a PR (#30715) 2024-05-14 16:00:57 +02: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 Replace reply with a forked version to fix the cut-off of the incoming mail text (#3747) 2024-05-13 23:51:40 +02:00
markup [v7.0/forgejo] Render inline file permalinks 2024-04-01 16:15:58 +02:00
migrations FIX gogs migration if gogs is hosted at a subpath (#3572) 2024-05-01 16:32:17 +00: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 Move database operations of merging a pull request to post receive hook and add a transaction (#30805) 2024-05-14 15:37:32 +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 incorrect default branch when adopt a repository (#30912) (#30928) 2024-05-14 16:09:33 +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 Merge pull request '[v7.0/forgejo] fix: webhook: send short ref on gitea create/delete payload' (#3560) from bp-v7.0/forgejo-0d3a9e6-cb0f361 into v7.0/forgejo 2024-04-30 12:51:43 +00:00
wiki Clean up log messages (#30313) 2024-04-15 16:11:14 +02:00