<feed xmlns='http://www.w3.org/2005/Atom'>
<title>sourcewatch.git/sync_test.go, branch main</title>
<subtitle>experimental filesync for windows docker bindmounts</subtitle>
<link rel='alternate' type='text/html' href='https://git.begu.at/sourcewatch.git/'/>
<entry>
<title>Implement nested .gitignore support with GitignoreStack</title>
<updated>2026-07-06T19:36:29+00:00</updated>
<author>
<name>Bernhard Guillon</name>
<email>Bernhard.Guillon@begu.org</email>
</author>
<published>2026-07-06T19:36:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.begu.at/sourcewatch.git/commit/?id=ad7575e85ebf6332d324ca5997db18ea81065df4'/>
<id>ad7575e85ebf6332d324ca5997db18ea81065df4</id>
<content type='text'>
- 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
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- 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
</pre>
</div>
</content>
</entry>
<entry>
<title>Add sync and gitignore tests, fix loadGitignore bug</title>
<updated>2026-07-06T19:21:53+00:00</updated>
<author>
<name>Bernhard Guillon</name>
<email>Bernhard.Guillon@begu.org</email>
</author>
<published>2026-07-06T19:21:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.begu.at/sourcewatch.git/commit/?id=7512c95fa3f4b4e4ccdf452024f314a9a3c3b60f'/>
<id>7512c95fa3f4b4e4ccdf452024f314a9a3c3b60f</id>
<content type='text'>
- Added gitignore_test.go: comprehensive tests for go-gitignore patterns
  - Verified: *, **, [], negation, anchored patterns, comments
  - Documented limitation: ? wildcard not supported by go-gitignore
- Added sync_test.go: integration tests for initial sync
  - Tests: basic files, gitignore excludes, negation, double-star,
    directory patterns, symlinks, permissions, dry-run, .git skip,
    nested gitignore, complex combined patterns
- Fixed gitignore.go: use CompileIgnoreFile instead of passing
  entire file content as single string to CompileIgnoreLines
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- Added gitignore_test.go: comprehensive tests for go-gitignore patterns
  - Verified: *, **, [], negation, anchored patterns, comments
  - Documented limitation: ? wildcard not supported by go-gitignore
- Added sync_test.go: integration tests for initial sync
  - Tests: basic files, gitignore excludes, negation, double-star,
    directory patterns, symlinks, permissions, dry-run, .git skip,
    nested gitignore, complex combined patterns
- Fixed gitignore.go: use CompileIgnoreFile instead of passing
  entire file content as single string to CompileIgnoreLines
</pre>
</div>
</content>
</entry>
</feed>
