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-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 Unified Diffs Ignore Whitespace Patch

Changes to src/checkin.c.

1110
1111
1112
1113
1114
1115
1116

1117




1118
1119
1120
1121
1122
1123
1124
1125
    ** directly from the filesystem.  However, only do this if the file
    ** itself is actually selected to be part of this check-in.
    */
    if( isSelected ){
      int mPerm;

      mPerm = file_wd_perm(blob_str(&filename));

      isExe = ( mPerm==PERM_EXE );




      isLink = ( mPerm==PERM_LNK );
    }

    if( isExe ){
      zPerm = " x";
    }else if( isLink ){
      zPerm = " l"; /* note: symlinks don't have executable bit on unix */
    }else{







>

>
>
>
>
|







1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
    ** directly from the filesystem.  However, only do this if the file
    ** itself is actually selected to be part of this check-in.
    */
    if( isSelected ){
      int mPerm;

      mPerm = file_wd_perm(blob_str(&filename));
#if !defined(_WIN32)
      isExe = ( mPerm==PERM_EXE );
#endif
#if defined(_WIN32)
      if (win32_symlinks_supported())
#endif
        isLink = ( mPerm==PERM_LNK );
    }

    if( isExe ){
      zPerm = " x";
    }else if( isLink ){
      zPerm = " l"; /* note: symlinks don't have executable bit on unix */
    }else{