zeripath 270c7f36db
Correctly rollback in ForkRepository (#17034) (#17045)
Backport #17034

The rollback functionality in
services/repository/repository.go:ForkRepository is incorrect and could
lead to a deadlock as it uses DeleteRepository to delete the rolled-back
repository - a function which creates its own transaction.

This PR adjusts the rollback function to only use RemoveAll as any
database changes will be automatically rolled-back. It also handles
panics and adjusts the Close within WithTx to ensure that if there is a
panic the session will always be closed.

Signed-off-by: Andrew Thornton <art27@cantab.net>

Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
2021-09-15 08:42:09 +03:00
..
2021-04-01 19:41:09 +02:00
2021-06-07 07:27:09 +02:00
2021-04-19 18:25:08 -04:00
2021-04-19 18:25:08 -04:00
2021-04-17 10:27:25 +01:00
2020-10-02 23:37:53 -04:00
2021-04-12 10:49:26 -04:00
2021-07-21 20:19:36 +08:00
2018-11-04 22:20:00 -05:00
2021-05-03 13:24:24 -04:00
2019-06-12 15:41:28 -04:00
2021-07-21 20:19:36 +08:00
2020-04-05 07:20:50 +01:00