| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
| |
- 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
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- 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
|
|
|
- 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)
|