- commit
- f8ad8c5
- parent
- 6819e95
- author
- Eric Bower
- date
- 2025-12-18 20:23:21 -0500 EST
fix(rsync): delete largest path first
1 files changed,
+8,
-0
+8,
-0
1@@ -153,6 +153,14 @@ func (h *handler) Remove(willReceive []*rsyncutils.ReceiverFile) error {
2 }
3 }
4
5+ // Sort by path depth descending so children are deleted before parents.
6+ // This ensures directories are empty before we try to remove them.
7+ slices.SortFunc(toDelete, func(a, b string) int {
8+ depthA := strings.Count(a, "/")
9+ depthB := strings.Count(b, "/")
10+ return depthB - depthA
11+ })
12+
13 var errs []error
14
15 for _, file := range toDelete {