Fossil

Check-in [1f45ade6]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Fixed a bug where windows would strip exe or lnk status from files checked in with posix semantics. Note: There is still a known potential issue if a repo is opened on a file system that does not support reparse points (such as FAT derived file systems) or similar such scenarios.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | bad-winsymlink
Files: files | file ages | folders
SHA1:1f45ade696db6cfed6a41fee1b57a1f0389d3926
User & Date: sdr 2014-09-21 06:13:35
Original Comment: Fixed a bug where windows would strip exe or lnk status from files checked in with posix semantics.
Context
2014-09-23
00:15
Cherrypicked a number of commits from a "bad branch" (I somehow fouled up a merge from trunk). check-in: 2d75e87b user: sdr tags: winsymlink
2014-09-21
06:13
Fixed a bug where windows would strip exe or lnk status from files checked in with posix semantics. Note: There is still a known potential issue if a repo is opened on a file system that does not support reparse points (such as FAT derived file systems) or similar such scenarios. Closed-Leaf check-in: 1f45ade6 user: sdr tags: bad-winsymlink
03:05
Merging latest updates from trunk. check-in: 0ee7e922 user: sdr tags: bad-winsymlink
Changes
Hide Diffs Side-by-Side Diffs Ignore Whitespace Patch

Changes to src/checkin.c.

  1110   1110       ** directly from the filesystem.  However, only do this if the file
  1111   1111       ** itself is actually selected to be part of this check-in.
  1112   1112       */
  1113   1113       if( isSelected ){
  1114   1114         int mPerm;
  1115   1115   
  1116   1116         mPerm = file_wd_perm(blob_str(&filename));
         1117  +#if !defined(_WIN32)
  1117   1118         isExe = ( mPerm==PERM_EXE );
  1118         -      isLink = ( mPerm==PERM_LNK );
         1119  +#endif
         1120  +#if defined(_WIN32)
         1121  +      if (win32_symlinks_supported())
         1122  +#endif
         1123  +        isLink = ( mPerm==PERM_LNK );
  1119   1124       }
  1120   1125   
  1121   1126       if( isExe ){
  1122   1127         zPerm = " x";
  1123   1128       }else if( isLink ){
  1124   1129         zPerm = " l"; /* note: symlinks don't have executable bit on unix */
  1125   1130       }else{