If this is your first visit, be sure to
check out the FAQ by clicking the
link above. You may have to register
before you can post: click the register link above to proceed. To start viewing messages,
select the forum that you want to visit from the selection below.

Folder comparison and filename case differences

18-Apr-2012, 12:55 AM

Hi, I am a new user, so please excuse my ignorance.

I am maintaining several large datasets (some at remote locations), and using the Snapshot feature to capture data set details, for comparison at a latter time. The intent is to use the Sneaker net update as described at http://www.scootersoftware.com/suppo...=kb_sneakernet. Generally it is working well, but I have run into an issue.

When comparing a data set from a UNC network path on a unix machine with the equivalent location on a Windows local drive, the same names aren't being matched, despite clearing the "Compare filename case" checkbox in Rules, Comparison. Additionally, some but not all of these unmatched files have "(r)" displayed after the name.

In the screenshot above, the first 2 files do not have (r) after the filenames but the remainder do, even though they are all unmatched and the same filenames just different case. If I compare the original source locations the files all match.

What does the (r) mean, and how can I get the different case filenames to match when comparing snapshots? Using the Align option doesn't work either. And although unix filenames are case sensitive, I doubt that is the issue as the snapshot is created on a windows machine, and the physical location compare works, just not in the snapshots.

Edit: I also tried comparing the snapshots to their original location and they match the filenames, same as comparing the original locations, so it is just something with comparing snapshots.

Our BC3 Snapshots are considered always case sensitive. If you compare one against a case insensitive location, they will align as you expect, but if you compare a snapshot against a case sensitive location (such as most Linux filesystems), then it won't align. Even if it's a snapshot of an originally case insensitive location. I'll make a wishlist entry to see if we can add tracking the origin sensitivity as an enhancement.

Aaron P Scooter Software

Comment

Our BC3 Snapshots are considered always case sensitive. If you compare one against a case insensitive location, they will align as you expect, but if you compare a snapshot against a case sensitive location (such as most Linux filesystems), then it won't align. Even if it's a snapshot of an originally case insensitive location.

But the Unix share snapshot does align against the local folder despite case differences. From what you say above, they should not. In the first screenshot the lowercase names in the snapshot (of the local folder) do align with the uppercase names on the Unix share. Oddly the opposite (local folder snapshot against Unix share folder) also aligns, as does Unix folder to local folder. It is just the two snapshots that don't.

And I didn't think that case mattered on a windows mapped drive even if the network target is Unix. Second screenshot shows existing zzz file being deleted using del Z:\zzz in windows (Z: mapped to same unix share as location used in the snapshot and comparisons).

Comment

Could you post or email (support@scootersoftware.com) a screenshot that shows the full file paths? Are you currently on a Windows machine with a snapshot on one side, and a remote directory share pointing to a Unix shared folder on the other? It may be that the unix share is not detecting as case sensitive. In that share, are you able to create two files: one named "Test" and one named "test" and have them both appear in Windows Explorer and Beyond Compare 3?

If you email us, please include a link back to this forum thread for our reference. Thanks.

Aaron P Scooter Software

Comment

I don't have a monitor wide enough. But the left path is D:\PFPS FSR\Mapping\Data Stores\Freecom\Freecom Terrain_2012-04-18.bcss\dted, and right path is \\N4200\lcl_apps\PEMS\Terrain\dted. The right path is a share path on a unix server. The bcss snapshot file was created on a windows machine from X:\PFPS (Freecom 2TB)\lcl_apps\PEMS\Terrain.
So this is comparing local windows snapshot to a unix share path - and it matches despite different case of the files. The reverse also matches - comparing X:\PFPS (Freecom 2TB)\lcl_apps\PEMS\Terrain to a snapshot of the \\N4200\lcl_apps\PEMS\Terrain path (also created on a windows machine). What doesn't match is when I compare the two snapshots to each other - then it doesn't match the different case names.
I can not create same names on the share path in windows, it blocks it. If I create 2 files with same name different case on the server directly (remote console), then I can see them both on the share in windows, but regardless of which one I try and edit, it always edits the uppercase name one.
Cheers

Comment

Thanks for the details. The issue is that the snapshot files themselves are case sensitive, but UNC or network shares are not. Even though it is hosted on a Unix server, the \\network share\ is actually case insensitive in Windows (hence, when you try to open either file, Windows just uses one of them). Comparing the case insensitive location to a snapshot will align filenames regardless of case, but once you compare two case sensitive locations (such as two snapshots), it'll treat the case as important.

I'll make a note about enhancing this behavior to see if we can better handle and track a snapshots origin and mark it as case sensitive or not.

Aaron P Scooter Software

Comment

What really threw me was that the setting "Compare filename case" had no effect on the alignment behaviour (that I could see). Is there a reason BC3 doesn't appear to comply with the implied meaning of that setting always eg even when comparing 2 snapshots? Is that setting only to make normally case insensitive comparisons case sensitive, but has no effect on case sensitive locations?

Also, why is a snapshot of a non case sensitive location case sensitive itself? That seems a bit counter intuitive.

Either solution (save case sensitivity of source in snapshot and make the Compare filename case setting also apply to case sensitive locations) would give me the control I would like. Both would be perfect.

Comment

In the Session Settings, Comparison tab, none of these settings have an effect on the alignment, they only impact how an already aligned pair of files is compared. The ability to compare file name case is limited/not used when comparing two case sensitive sides, but in other cases it would allow users to find a difference in file name case in the other scenarios.

Sorry for the confusion. Snapshots simply default to always be case sensitive, since they currently do not have the feature to store whether they are case sensitive or not in origin.