forked from NYANDEV/forgejo
2aebef847f
- Backport https://codeberg.org/forgejo/forgejo/pulls/1742
- While looking trough the logs for unrelated things I noticed errors
for directory size calculations in `pushUpdates` that were being caused
by a race condition in which git was making temporary file,
`filepath.WalkDir` noticed that but by the time the second lstat
came(`info.Info()`) it was already gone and it would error.
- Ignore temporary files created by Git.
- There are other cases but much much more rarer and not trivial to detect.
Examples:
...s/repository/push.go:96:pushUpdates() [E] Failed to update size for repository: updateSize: lstat [...]/objects/info/commit-graphs/tmp_graph_Wcy9kR: no such file or directory
...s/repository/push.go:96:pushUpdates() [E] Failed to update size for repository: updateSize: lstat [...]/packed-refs.lock: no such file or directory
(cherry picked from commit
|
||
---|---|---|
.. | ||
branch.go | ||
collaborator.go | ||
collaborator_test.go | ||
commits.go | ||
commits_test.go | ||
create.go | ||
create_test.go | ||
delete.go | ||
env.go | ||
fork.go | ||
generate.go | ||
generate_test.go | ||
hooks.go | ||
init.go | ||
init_test.go | ||
license.go | ||
license_test.go | ||
main_test.go | ||
push.go | ||
repo.go | ||
temp.go |