aboutsummaryrefslogtreecommitdiffstats
path: root/watcher_test.go
Commit message (Collapse)AuthorAgeFilesLines
* Add log level system and sync loggingBernhard Guillon6 hours1-16/+16
| | | | | | | | | - log.go: log level system (DEBUG, INFO, WARN, ERROR, NONE) - CLI: -log-level flag (default info), -verbose as shorthand for debug - Watcher: logs sync/remove actions at INFO level - Watcher: logs events at DEBUG level - Errors: structured error messages (DISK FULL, PERMISSION DENIED, etc.) - Updated README with -log-level flag
* Add symlink watcher support with testsBernhard Guillon6 hours1-0/+149
| | | | | | | | | | | - syncCreate: remove existing file before creating symlink - syncWrite: handle symlink target changes (remove + recreate) - Added 4 new tests: - CreateSymlink: new symlink synced to /data - UpdateSymlinkTarget: symlink target change updates /data - RemoveSymlink: symlink removal synced - ModifySymlinkTargetFile: target file change preserves symlink - 39 tests passing
* Implement nested .gitignore support with GitignoreStackBernhard Guillon7 hours1-45/+81
| | | | | | | | | | | | | | | - Replaced go-gitignore with custom GitignoreStack that tracks multiple .gitignore files hierarchically - Patterns are processed in root-to-leaf order, last match wins - Negation patterns in child dirs override parent ignores - Patterns only apply within their directory scope (no leaking) - Added 6 new tests for nested .gitignore: - Scoped: patterns only affect own directory - Dir-scoped: different dirs can ignore different things - Negation override: child !pattern un-ignores parent's *.pattern - Deep nesting: 3+ levels of .gitignore - Parent scope doesn't leak to siblings - All 35 tests passing
* Add watcher tests, refactor watch() to accept contextBernhard Guillon7 hours1-0/+325
- Added watcher_test.go: 10 tests covering create, write, remove, rename, ignored files, debouncing, directory creation/removal, and manifest updates - Refactored watch() to accept context.Context for clean cancellation - Added signal handling (SIGINT/SIGTERM) for graceful shutdown in main.go - Fixed test expectations (version two = 11 bytes, not 10)