Make scan paths required operands; add -x/--one-file-system
All checks were successful
check / check (push) Successful in 4s
All checks were successful
check / check (push) Successful in 4s
scan now takes one or more PATH operands (directories or regular files) via cobra flags instead of the -root flag with its /srv default; invoking scan with no operand is a usage error and a nonexistent operand is fatal. Filesystem boundaries are crossed by default; the new -x/--one-file-system flag (GNU du/rsync convention) stops the walk at each operand's filesystem, implemented by comparing lstat device IDs with build-tagged helpers for darwin's int32 Dev. Verified against a real mounted disk image: default crosses, -x does not, --one-file-system is identical to -x.
This commit is contained in:
10
scan_dev_other.go
Normal file
10
scan_dev_other.go
Normal file
@@ -0,0 +1,10 @@
|
||||
//go:build !darwin
|
||||
|
||||
package main
|
||||
|
||||
import "syscall"
|
||||
|
||||
// statDev returns the filesystem device ID of st.
|
||||
func statDev(st *syscall.Stat_t) uint64 {
|
||||
return st.Dev
|
||||
}
|
||||
Reference in New Issue
Block a user