Fossil

View Ticket
Login
2011-02-28
14:19 Fixed ticket [baf9b6b11e]: update/revert don't set permissions plus 1 other change artifact: 0294ac8cfc user: drh
14:18
All of the execute permission bit handling appears to be working now, though beta testing would be good. Ticket [baf9b6b11e08c1]. check-in: 3ad119b703 user: drh tags: trunk
13:26
Fix the "revert" command so that it distinguishes between files that were added versus files imported by merge. Added files are not unlinked. Ticket [baf9b6b11e08c1]. Closed-Leaf check-in: 157eed29f4 user: drh tags: exe-permission-fix
03:26
Try to get the "stash" command using execute permission bits correctly. Continuing work on the "revert" command - but it is still not working quite right. Ticket [baf9b6b11e08c1d0b]. check-in: ae3409bf49 user: drh tags: exe-permission-fix
02:54
Changes to get the "merge" command to process execute permission correctly. Ticket [baf9b6b11e08c1d0]. check-in: 7a4d75fc8c user: drh tags: exe-permission-fix
02:44
Further changes trying to get execute permissions right for the "update" command. Ticket [baf9b6b11e08]. check-in: 55bf7a0ff2 user: drh tags: exe-permission-fix
2011-02-27
23:31
Change the ZIP file generator so that it sets the execute bit approprately. Ticket [baf9b6b11e08c1d]. check-in: b57bc473b0 user: drh tags: trunk
22:22
Untested changes trying to get execute permission to be set correctly following "update", "merge", "stash", etc. Ticket [baf9b6b11e08c1d]. This is a big mess and is going to take some time to get right. check-in: 081aefde56 user: drh tags: exe-permission-fix
21:45
Fix the "revert" command so that it restores the correct execute permission to the file. Ticket [baf9b6b11e08c1] check-in: 3c39caac39 user: drh tags: trunk
20:45 Ticket [baf9b6b11e] update/revert don't set permissions status still Open with 2 other changes artifact: 2bad20d036 user: anonymous
20:41 Ticket [5f2f147f7e] Fossil forgets about executable bit when switching branches status still Open with 2 other changes artifact: 03bd7e993d user: anonymous
2011-02-15
00:06 Ticket [baf9b6b11e] update/revert don't set permissions status still Open with 3 other changes artifact: 8d712d07db user: anonymous
2011-02-08
16:33 New ticket [baf9b6b11e]. artifact: e5db7b80d5 user: anonymous

Ticket Hash: baf9b6b11e08c1d0b151d52dd6392ffcb8d44590
Title: update/revert don't set permissions
Status: Fixed Type: Code_Defect
Severity: Severe Priority:
Subsystem: Resolution: Fixed
Last Modified: 2011-02-28 14:19:06
15.09 years ago
Created: 2011-02-08 16:33:37
15.14 years ago
Version Found In:
Description:
In reading through update.c, it doesn't look as though updates or reverts will set the permissions of files when recreating them. Unlike checkout's code path, update/revert doesn't call checkout.c:checkout_set_all_exe() to set the permissions of files. At first glance, it looks like the best place to check to see if permissions need to be updated is via vfile.c:vfile_check_signature() (in the call path for revert) or in vfile.c:vfile_compare_repository_to_disk() (not used other than in checkin).

To reproduce:

# In a test repository with `alias fs fossil`
printf '#\!/bin/sh\necho test script perms\n' > test.sh
chmod 755 test.sh
fs add test.sh
fs ci -m "Adding a test script"
rm -f test.sh
fs revert test.sh
# test.sh will be mode 644

anonymous added on 2011-02-15 00:06:57 UTC:
This is a real pain for me. I guess the work-around is a clean checkout ....


anonymous claiming to be rkeene added on 2011-02-27 20:45:10 UTC:
We are also having this issue in Tcl.