Ignore Unreadable Files?

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Narbat
    Enthusiast
    • Jun 2010
    • 22

    Ignore Unreadable Files?

    Is there a way to get BC3 to ignore unreadable files, or at least treat them as "unimportant"? I use the Windows version of BC, and I often do diffs of largish directory trees mounted on a Unix system. Either because of file permissions or because of broken symlinks I get a lot of "permission denied" errors. I just want a way to filter those out so I don't have to deal with them in the folder tree view.
  • Aaron
    Team Scooter
    • Oct 2007
    • 16002

    #2
    Hello,

    You can exclude files using file name filters or by certain file attributes. This can be done in the Session Settings dialog -> Name Filters tab, or Other Filters tab.

    Also, are you using our latest release of BC3.1.11? BC3.x updates are free for 3.x users.
    Aaron P Scooter Software

    Comment

    • Narbat
      Enthusiast
      • Jun 2010
      • 22

      #3
      Yes, I'm using 3.1.11, Pro Edition for Windows.

      The name filter won't do it, as there's no real commonality. I'd have to put each name in manually, and there are too many to do that. None of the DOS attribute filters do the job, either. The only attributes listed are Archive, System, Hidden, and Read-only. The broken symlinks are none of those. The error BC3 prints in the log is "Access denied".

      Here's a simple example. I'm actually running BC3 in a VMware session on my Mac, in a virtual WinXP machine. VMware lets me make the Mac's hard drive available as if it were a network share. I made two directories, 'a' and 'b'. Each one has one regular text file named 'foo', a file named 'bar' which is a symbolic link to 'foo', and a file name 'baz' which is a symbolic link to a non-existent file.

      Code:
      macduff:~/tmp/bc3$ ls -l *
      a:
      total 24
      lrwxr-xr-x  1 sking  staff  3 Jun  7 12:25 bar@ -> foo
      lrwxr-xr-x  1 sking  staff  6 Jun  7 12:25 baz@ -> broken
      -rw-r--r--  1 sking  staff  6 Jun  7 12:25 foo
      
      b:
      total 24
      lrwxr-xr-x  1 sking  staff  3 Jun  7 12:25 bar@ -> foo
      lrwxr-xr-x  1 sking  staff  6 Jun  7 12:25 baz@ -> broken
      -rw-r--r--  1 sking  staff  6 Jun  7 12:25 foo
      The attached screenshot shows that BC3 shows 'Access denied' for the symlinks. (I think the error for 'bar' is a bug with VMware as it should resolve that link, but that's a side issue.) I normally work with medium-large projects containing thousands of files and hundreds of symlinks. I want to unclutter the folder display by filtering out all those 'Access denied' files. Can it be done? If not, consider this an enhancement request.

      [EDIT: In lieu of a filter, I'd accept a version of BC for the Mac. Just sayin'. :-) ]
      Last edited by Narbat; 07-Jun-2010, 11:55 AM.

      Comment

      • Zoë
        Team Scooter
        • Oct 2007
        • 2666

        #4
        If you run "dir /a:l" from your Windows command prompt, does it show the symlinks (as junction points)?
        Zoë P Scooter Software

        Comment

        • Narbat
          Enthusiast
          • Jun 2010
          • 22

          #5
          No, they appear as plain files.

          Code:
          Z:\sking\tmp\bc3\a>dir
           Volume in drive Z is Shared Folders
           Volume Serial Number is 0000-0064
          
           Directory of Z:\sking\tmp\bc3\a
          
          06/07/2010  12:25 PM    <DIR>          .
          06/07/2010  12:24 PM    <DIR>          ..
          06/07/2010  12:25 PM                 3 bar
          06/07/2010  12:25 PM                 6 baz
          06/07/2010  12:25 PM                 6 foo
                         3 File(s)            321 bytes
                         2 Dir(s)  92,845,711,360 bytes free
          
          Z:\sking\tmp\bc3\a>dir /a:l
           Volume in drive Z is Shared Folders
           Volume Serial Number is 0000-0064
          
           Directory of Z:\sking\tmp\bc3\a
          
          File Not Found
          
          Z:\sking\tmp\bc3\a>attrib
                     Z:\sking\tmp\bc3\a\bar
                     Z:\sking\tmp\bc3\a\baz
                     Z:\sking\tmp\bc3\a\foo
          
          Z:\sking\tmp\bc3\a>cacls *
          The Cacls command can be run only on disk drives that use the NTFS file system.
          Z:\sking\tmp\bc3\a>type foo
          hello
          
          Z:\sking\tmp\bc3\a>type bar
          Access is denied.
          
          Z:\sking\tmp\bc3\a>
          I'd also like to note that you can get this same behavior on local NTFS drives if you change the ACLs to deny access to the current user. This isn't something specific to symlinks or network shares; it's a problem whenever a file can't be read. Unreadable files are just more likely to crop up on a shared multiuser drive than they are on a single-user local drive.

          Comment

          • Aaron
            Team Scooter
            • Oct 2007
            • 16002

            #6
            Thanks for the feedback. We've researched this a bit more and discovered that Samba does not support identifying symlinks well. We will look into improving the handling of the error state, as well as look at Samba2 (with Vista and Win7 improvements) which may help in identifying symlinks.
            Aaron P Scooter Software

            Comment

            Working...