f99010fae1
Desktop Artifacts / Desktop Build (Linux) (push) Waiting to run
Desktop Artifacts / Desktop Build (Windows) (push) Waiting to run
Desktop Artifacts / Desktop Build (Linux (arm64)) (push) Waiting to run
Desktop Artifacts (macOS) / Desktop Build (macOS (aarch64)) (push) Waiting to run
Desktop Artifacts (macOS) / Desktop Build (macOS (x86_64)) (push) Waiting to run
CI / lint (push) Failing after 1s
CI / frontend (push) Failing after 1s
CI / scripts (push) Failing after 1s
CI / Go Test (ubuntu-latest) (push) Failing after 0s
CI / frontend-node-25 (push) Failing after 1s
CI / docs (push) Failing after 0s
CI / coverage (push) Failing after 0s
CI / e2e (push) Failing after 0s
Docker / build-and-push (push) Failing after 1s
CI / integration (push) Failing after 4m43s
CI / Go Test (windows-latest) (push) Has been cancelled
CI / Desktop Unit Tests (Windows) (push) Has been cancelled
40 lines
1.1 KiB
Go
40 lines
1.1 KiB
Go
// ABOUTME: Root-containment checks used to skip provider changed-path
|
|
// ABOUTME: classification for agents whose roots cannot contain the path.
|
|
package sync
|
|
|
|
import (
|
|
"path/filepath"
|
|
"strings"
|
|
)
|
|
|
|
// changedPathWithinAnyRoot reports whether path lies within at least
|
|
// one of roots (see changedPathWithinRoot).
|
|
func changedPathWithinAnyRoot(path string, roots []string) bool {
|
|
for _, root := range roots {
|
|
if changedPathWithinRoot(path, root) {
|
|
return true
|
|
}
|
|
}
|
|
return false
|
|
}
|
|
|
|
// changedPathWithinRoot reports whether path is root itself or lies
|
|
// under it, including the "root#member" virtual form used for
|
|
// sessions stored inside container files. It mirrors the containment
|
|
// clauses of storedSourcePathHintQuery.
|
|
func changedPathWithinRoot(path, root string) bool {
|
|
root = filepath.Clean(root)
|
|
if root == "" || root == "." {
|
|
return false
|
|
}
|
|
path = filepath.Clean(path)
|
|
if path == root {
|
|
return true
|
|
}
|
|
if root == string(filepath.Separator) {
|
|
return strings.HasPrefix(path, root)
|
|
}
|
|
return strings.HasPrefix(path, root+string(filepath.Separator)) ||
|
|
strings.HasPrefix(path, root+"#")
|
|
}
|