Ticket UUID: | 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 | ||
Version Found In: | |||
Description & Comments: | |||
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: anonymous claiming to be rkeene added on 2011-02-27 20:45:10 UTC: |