gitea/modules
Jason Song 09b56fc069
Distinguish LFS object errors to ignore missing objects during migration (#31702)
Fix #31137.

Replace #31623 #31697.

When migrating LFS objects, if there's any object that failed (like some
objects are losted, which is not really critical), Gitea will stop
migrating LFS immediately but treat the migration as successful.

This PR checks the error according to the [LFS api
doc](https://github.com/git-lfs/git-lfs/blob/main/docs/api/batch.md#successful-responses).

> LFS object error codes should match HTTP status codes where possible:
> 
> - 404 - The object does not exist on the server.
> - 409 - The specified hash algorithm disagrees with the server's
acceptable options.
> - 410 - The object was removed by the owner.
> - 422 - Validation error.

If the error is `404`, it's safe to ignore it and continue migration.
Otherwise, stop the migration and mark it as failed to ensure data
integrity of LFS objects.

And maybe we should also ignore others errors (maybe `410`? I'm not sure
what's the difference between "does not exist" and "removed by the
owner".), we can add it later when some users report that they have
failed to migrate LFS because of an error which should be ignored.
2024-07-31 10:29:48 +00:00
..
actions Resolve lint for unused parameter and unnecessary type arguments (#30750) 2024-04-29 08:47:56 +00:00
activitypub
analyze
assetfs
auth Add Passkey login support (#31504) 2024-06-29 22:50:03 +00:00
avatar
badge
base fix OIDC introspection authentication (#31632) 2024-07-23 12:43:03 +00:00
cache Add cache test for admins (#31265) 2024-06-17 21:22:39 +02:00
charset
container Allow disabling authentication related user features (#31535) 2024-07-09 17:36:31 +00:00
csv
dump
emoji
eventsource
generate
git Fix slow patch checking with commits that add or remove many files (#31548) 2024-07-04 18:57:11 +00:00
gitgraph
gitrepo Use repo as of renderctx's member rather than a repoPath on metas (#29222) 2024-05-30 07:04:01 +00:00
graceful
hcaptcha
highlight
hostmatcher
html
httpcache
httplib Fix duplicate sub-path for avatars (#31365) 2024-06-15 11:43:57 +08:00
indexer Properly filter issue list given no assignees filter (#31522) 2024-07-23 18:36:32 +00:00
issue/template Issue Templates: add option to have dropdown printed list (#31577) 2024-07-14 16:38:45 +02:00
json
label
lfs Distinguish LFS object errors to ignore missing objects during migration (#31702) 2024-07-31 10:29:48 +00:00
log Add some tests to clarify the "must-change-password" behavior (#30693) 2024-04-27 12:23:37 +00:00
markup Fix markdown preview $$ support (#31514) 2024-06-29 23:23:47 +00:00
mcaptcha
metrics Rename project board -> column to make the UI less confusing (#30170) 2024-05-27 08:59:54 +00:00
migration
nosql
optional Resolve lint for unused parameter and unnecessary type arguments (#30750) 2024-04-29 08:47:56 +00:00
options
packages Extract and display readme and comments for Composer packages (#30927) 2024-06-14 04:45:52 +00:00
paginator
pprof
private Move database operations of merging a pull request to post receive hook and add a transaction (#30805) 2024-05-07 07:36:48 +00:00
process Update misspell to 0.5.1 and add misspellings.csv (#30573) 2024-04-27 08:03:49 +00:00
proxy
proxyprotocol
public
queue Fix queue test (#30646) 2024-04-22 23:55:43 +00:00
recaptcha
references Refactor to use UnsafeStringToBytes (#31358) 2024-06-14 01:26:33 +00:00
regexplru
repository Distinguish LFS object errors to ignore missing objects during migration (#31702) 2024-07-31 10:29:48 +00:00
secret
session Improve oauth2 client "preferred username field" logic and the error handling (#30622) 2024-04-25 11:22:32 +00:00
setting Add option to change mail from user display name (#31528) 2024-07-14 23:27:00 +02:00
sitemap
ssh
storage Enable unparam linter (#31277) 2024-06-11 18:47:45 +00:00
structs add skip secondary authorization option for public oauth2 clients (#31454) 2024-07-19 14:28:30 -04:00
svg
sync
system Refactor to use UnsafeStringToBytes (#31358) 2024-06-14 01:26:33 +00:00
templates Refactor names (#31405) 2024-06-19 06:32:45 +08:00
test Remove sub-path from container registry realm (#31293) 2024-06-09 16:29:29 +08:00
testlogger
timeutil
translation
turnstile
typesniffer
updatechecker
uri
user
util Refactor to use UnsafeStringToBytes (#31358) 2024-06-14 01:26:33 +00:00
validation
web Refactor names (#31405) 2024-06-19 06:32:45 +08:00
webhook