forgejo/services/repository
vincent fb137d1e49
Fix content size does not match error when uploading lfs file (#29259)
![image](https://github.com/go-gitea/gitea/assets/38434877/cd726b4d-4771-4547-8aee-ae4e4b56b1d1)
When we update an lfs file by API
`api/v1/repos/{owner}/{repo}/contents/{filepath}`, there will show an
error

```json
{
  "message": "Put \"05904d6c7b\": readfrom tcp [::1]:57300->[::1]:9000: content size does not match",
  "url": "http://localhost:3000/api/swagger"
}
```

The reason of this error is
https://github.com/go-gitea/gitea/blob/main/services/repository/files/update.go,
in this file, the `file.ContentReader` been used twice. So when use
`file.ContentReader` in the second time, the `i` of this Reader has been
updated to the length of the content. it will return 0 and an `io.EOF`
error when we try to read cotent from this Reader.

(cherry picked from commit 35d5e4aea4bb02a0b4c7b38ecb2acf612151e891)
2024-02-26 21:42:14 +01:00
..
archiver Simplify how git repositories are opened (#28937) 2024-01-27 21:09:51 +01:00
files Fix content size does not match error when uploading lfs file (#29259) 2024-02-26 21:42:14 +01:00
adopt.go Simplify how git repositories are opened (#28937) 2024-01-27 21:09:51 +01:00
adopt_test.go Use more specific test methods (#24265) 2023-04-22 17:56:27 -04:00
avatar.go Improve avatar uploading / resizing / compressing, remove Fomantic card module (#24653) 2023-05-13 20:59:11 +02:00
avatar_test.go Use context parameter in services/repository (#23186) 2023-02-28 16:17:51 -06:00
branch.go [GITEA] Fix typo in formatting error 2024-02-05 16:54:44 +01:00
cache.go Always enable caches (#28527) 2023-12-19 09:29:05 +00:00
check.go Update tool dependencies (#29030) 2024-02-02 19:11:39 -05:00
collaboration.go Fix DeleteCollaboration transaction behaviour (#28886) 2024-01-22 07:19:56 +00:00
collaboration_test.go Next round of db.DefaultContext refactor (#27089) 2023-09-16 14:39:12 +00:00
commit.go Show branches and tags that contain a commit (#25180) 2023-07-27 12:47:41 +02:00
contributors_graph.go Implement contributors graph (#27882) 2024-02-17 23:24:31 +01:00
contributors_graph_test.go Implement contributors graph (#27882) 2024-02-17 23:24:31 +01:00
create.go [GITEA] Allow changing the repo Wiki branch to main 2024-02-05 16:57:47 +01:00
create_test.go [CLEANUP] make golangci-lint@v1.56.1 happy 2024-02-15 16:19:36 +01:00
delete.go Use db.Find instead of writing methods for every object (#28084) 2023-11-24 03:49:41 +00:00
delete_test.go Delete repos of org when purge delete user (#27273) 2023-10-19 13:16:11 +00:00
fork.go Simplify how git repositories are opened (#28937) 2024-01-27 21:09:51 +01:00
fork_test.go Add option to prohibit fork if user reached maximum limit of repositories (#21848) 2022-12-27 15:21:14 -06:00
hooks.go Simplify how git repositories are opened (#28937) 2024-01-27 21:09:51 +01:00
lfs.go Simplify how git repositories are opened (#28937) 2024-01-27 21:09:51 +01:00
lfs_test.go Remove GetByBean method because sometimes it's danger when query condition parameter is zero and also introduce new generic methods (#28220) 2023-12-07 15:27:36 +08:00
main_test.go make writing main test easier (#27270) 2023-09-28 01:38:53 +00:00
push.go Do not use lower tag names to find releases/tags (#29261) 2024-02-19 22:58:33 +01:00
repository.go Remove unnecessary parameter (#27671) 2023-10-18 15:03:10 +00:00
repository_test.go refactor some functions to support ctx as first parameter (#21878) 2022-12-03 10:48:26 +08:00
review.go Use context parameter in services/repository (#23186) 2023-02-28 16:17:51 -06:00
review_test.go Use context parameter in services/repository (#23186) 2023-02-28 16:17:51 -06:00
setting.go Revert "Fix schedule tasks bugs (#28691)" (part 2) 2024-02-05 16:54:44 +01:00
template.go Move notification interface to services layer (#26915) 2023-09-05 18:37:47 +00:00
transfer.go [MODERATION] User blocking 2024-02-05 15:56:45 +01:00
transfer_test.go [MODERATION] User blocking 2024-02-05 15:56:45 +01:00