
Filtering Subfolders
Filtering Subfolders
I'm going to despair of this feature: Given a Directory-Structure with many Folders where I just want to compare "folder1", "folder2\subfolder2" and "folder3\subfolder3" with any of their Subfolders, but nothing else outside these Paths - what can I do? Using something like "folder2\subfolder2\*" for filtering doesn't work
.

Thank you for the answer, it's the latter one - it finds nothing. And adding a (Back)Slash infront of the Pattern results in finding nothing, too - even with only one Folder in Pattern. Where can I get the recent Version (currently using 3.4.1547)?
And if I filter by Folders - is it possible to exclude the Root Directory? It's a bit confusing if I filter by Folders and the Root Directory is parsed although it's not matched by the Filter-Pattern.
And if I filter by Folders - is it possible to exclude the Root Directory? It's a bit confusing if I filter by Folders and the Root Directory is parsed although it's not matched by the Filter-Pattern.
Without Filtering everything is compared (Option to compare only the same Folders is deactivated).
Filtering with Pattern containing only one Folder works as expected, where "folder*" and "folder\*" are identical. Root is compared too, even if not matched by pattern.
Filtering with Pattern starting with "\" (like "\foobar") compares nothing, even if "foobar" is located directly in Root of Source-Path (regardless of if Source-Path ends with "\" or not).
Filtering with Pattern containing "\" on any other Position than last (resp. last but one with "*" after it) compares nothing, regardless of having "*" in Pattern.
Happens on Win98 and WinXP. Tested with simple Pathes, no long Names, no System-Folders etc.
Surprisingly for excluding Patterns containing "\" do work (but not with "\" at first position). Even multiple "*" work. But using exactly the same Pattern, that excludes a Folder succesfully, for filtering, doesn't work.
Filtering with Pattern containing only one Folder works as expected, where "folder*" and "folder\*" are identical. Root is compared too, even if not matched by pattern.
Filtering with Pattern starting with "\" (like "\foobar") compares nothing, even if "foobar" is located directly in Root of Source-Path (regardless of if Source-Path ends with "\" or not).
Filtering with Pattern containing "\" on any other Position than last (resp. last but one with "*" after it) compares nothing, regardless of having "*" in Pattern.
Happens on Win98 and WinXP. Tested with simple Pathes, no long Names, no System-Folders etc.
Surprisingly for excluding Patterns containing "\" do work (but not with "\" at first position). Even multiple "*" work. But using exactly the same Pattern, that excludes a Folder succesfully, for filtering, doesn't work.
There is a folder "test" in both, c:\ and d:\. On d:\ it's empty, on c:\ it contains:

Result is "No files were found to synchronize!"
When just switching to "Exclude folders" (with the same Filter string), home.pwd and bar.pwd are compared (see screenshots below).


Using e.g. "*foo*" as Filter string leeds to exactly the same Results. However, "\usr\home\foo*" as Filter string compares nothing when used for filtering and compares all three files when used for excluding.
When I start to take Path-Components from Filter string into Src and Dst, with Src "c:\test\usr", Dst "d:\test\usr" and Filter string "home\foo*" Results are like above. With Src "c:\test\usr\home", Dst "d:\test\usr\home" and Filter string "foo*" for excluding Result is like above and for filtering foo.pwd and home.pwd are compared (home.pwd as mentioned above without being matched by Filter string).
I hope, this environment could be easy reproduced. But maybe results don't happen on every system (actually tested on WinXP Home 2002, SP3).
Src is "c:\test", Dst is "d:\test", Filter string is "usr\home\foo*" (see Screenshot below, sorry for German translation, hope it's okay nevertheless).dir /b /w /s wrote:C:\test\usr
C:\test\usr\home
C:\test\usr\home\home.pwd
C:\test\usr\home\bar
C:\test\usr\home\bar\bar.pwd
C:\test\usr\home\foo
C:\test\usr\home\foo\foo.pwd

Result is "No files were found to synchronize!"
When just switching to "Exclude folders" (with the same Filter string), home.pwd and bar.pwd are compared (see screenshots below).


Using e.g. "*foo*" as Filter string leeds to exactly the same Results. However, "\usr\home\foo*" as Filter string compares nothing when used for filtering and compares all three files when used for excluding.
When I start to take Path-Components from Filter string into Src and Dst, with Src "c:\test\usr", Dst "d:\test\usr" and Filter string "home\foo*" Results are like above. With Src "c:\test\usr\home", Dst "d:\test\usr\home" and Filter string "foo*" for excluding Result is like above and for filtering foo.pwd and home.pwd are compared (home.pwd as mentioned above without being matched by Filter string).
I hope, this environment could be easy reproduced. But maybe results don't happen on every system (actually tested on WinXP Home 2002, SP3).
Looking at your version number again - are you sure this is 3.4? because final 3.4 had build number of 1636/ Can you update to http://www.grigsoft.com/wndsyncu.zip?
Your version must be marked as 3.4b in app title.
You can subscribe to RSS feeds on main site to get notifications of releases, or to blog rss, to be notified of all updates, including beta's. Also recently I have created google group for email notifications - http://www.grigsoft.com/maillist.htm
You can subscribe to RSS feeds on main site to get notifications of releases, or to blog rss, to be notified of all updates, including beta's. Also recently I have created google group for email notifications - http://www.grigsoft.com/maillist.htm
Jepp - Version 3.4.1640 works fine and as expected, thank you
.
The only thing is, that Root-Contents is compared even when not matched by a Filter String resp. can't be excluded from comparing - but that would be a persisting Problem, as there is no Filter String only matching the Root. Maybe it should be handled by an extra Option-Checkbox for filtering and excluding, something like "compare Root-Contents". But I think, that's a minor Problem.
I subscribed for the google group to be up to date from now on
.

The only thing is, that Root-Contents is compared even when not matched by a Filter String resp. can't be excluded from comparing - but that would be a persisting Problem, as there is no Filter String only matching the Root. Maybe it should be handled by an extra Option-Checkbox for filtering and excluding, something like "compare Root-Contents". But I think, that's a minor Problem.
I subscribed for the google group to be up to date from now on

With excluding there should be no problem: Currently excluding "\" doesn't work, which could be considered as bug. If someone explicitly added "\" to his exclude-patterns, he/she surely wants to exclude root from being compared and should be at most positively surprised if it works now.
With filtering there indeed is a problem, as it can't be excepted that some people rely on filtering working like it does now, comparing root even if it is not matched by pattern.
One possibility would be an option to switch on/off root-filtering by using "\" as pattern. Must be switched off by default (current behaviour). Another possibility would be, when introducing the new version, on it's first run it must add a "\" to every filter pattern (which will lead to the current behaviour).
With filtering there indeed is a problem, as it can't be excepted that some people rely on filtering working like it does now, comparing root even if it is not matched by pattern.
One possibility would be an option to switch on/off root-filtering by using "\" as pattern. Must be switched off by default (current behaviour). Another possibility would be, when introducing the new version, on it's first run it must add a "\" to every filter pattern (which will lead to the current behaviour).