forgejo-aneksajo/services
Nick aa842b0eb5 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-06-14 15:11:19 +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-06-14 15:11:19 +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 Return access_denied error when an OAuth2 request is denied (#30974) 2024-06-05 17:19:22 +02: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 migrations: Map non-existant external users to Ghost 2024-05-28 16:44:23 +00:00
mirror test(mock): DeletePushMirrors & AddPushMirrorRemote 2024-06-02 15:45:31 +00: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 fix(hook): repo admins are wrongly denied the right to force merge 2024-06-02 22:05:16 +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 push multiple branches error with tests (#31151) 2024-06-03 09:47:51 +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 test(avatar): deleting a user avatar is idempotent 2024-06-05 16:02:24 +02:00
webhook refactor: sourcehut_builds ignore unused fields 2024-05-24 00:26:19 +00:00
wiki Clean up log messages (#30313) 2024-04-15 16:11:14 +02:00