git-annex/Annex
Joey Hess 3af29b3ba9
When annex.thin is set, allow hard links to be made between executable work tree files and annex objects.
This is safe, because while the annex object ends up executable,
there were already at least two other cases where it ended up executable:

1. git add an an executable file
2. chmod +x of a a non-executable worktree file that was hard linked to the
   annex object

After copy/hard link, it always fixes up the permissions to match the mode
of the worktree file, so when an executable annex object gets hard linked
to a non-executable worktree file, its execute bit gets removed.

Commit b7c8bf5274 already *said* it would do
this; I suspect the line of code I've removed was included in that commit
accidentially.

Also improves annex.thin documentation.

This commit was sponsored by Boyd Stephen Smith Jr. on Patreon.
2018-10-26 13:51:43 -04:00
..
AdjustedBranch refactor getCurrentBranch 2018-10-19 17:29:18 -04:00
Branch fix build with older ghc 2018-09-12 14:10:08 -04:00
Content When annex.thin is set, allow hard links to be made between executable work tree files and annex objects. 2018-10-26 13:51:43 -04:00
LockPool enable LambdaCase and convert around 10% of places that could use it 2017-11-15 16:59:32 -04:00
MetaData fix thinko for the second time 2018-04-09 13:10:44 -04:00
View remove 163 lines of code without changing anything except imports 2016-01-20 16:36:33 -04:00
Action.hs finally really add back custom-setup stanza 2017-12-31 16:36:39 -04:00
AdjustedBranch.hs fix strange test failure 2018-10-22 16:51:09 -04:00
AutoMerge.hs rename BlobType and add submodule to it 2018-05-14 14:45:41 -04:00
BloomFilter.hs Another redundant constraint 2016-01-28 12:34:07 -04:00
Branch.hs Fix git-annex branch data loss that could occur after git-annex forget --drop-dead 2018-08-06 17:36:30 -04:00
BranchState.hs remove 163 lines of code without changing anything except imports 2016-01-20 16:36:33 -04:00
CatFile.hs sync --content now supports --hide-missing adjusted branches 2018-10-19 17:51:25 -04:00
ChangedRefs.hs enable LambdaCase and convert around 10% of places that could use it 2017-11-15 16:59:32 -04:00
CheckAttr.hs annex.largefiles can be configured in .gitattributes too 2016-02-02 15:18:17 -04:00
CheckIgnore.hs remove 163 lines of code without changing anything except imports 2016-01-20 16:36:33 -04:00
Common.hs finally really add back custom-setup stanza 2017-12-31 16:36:39 -04:00
Concurrent.hs fix git command queue to be concurrency safe 2018-08-28 13:16:33 -04:00
Content.hs remove debug prints 2018-10-26 12:56:40 -04:00
CurrentBranch.hs refactor getCurrentBranch 2018-10-19 17:29:18 -04:00
Difference.hs remove 163 lines of code without changing anything except imports 2016-01-20 16:36:33 -04:00
Direct.hs avoid update-index race 2018-08-17 16:03:40 -04:00
DirHashes.hs stop using MissingH for MD5 2017-05-15 21:36:03 -04:00
Drop.hs avoid sync/assistant drop from appendonly 2018-08-30 11:23:57 -04:00
Environment.hs removed the old Android app 2018-10-13 01:41:11 -04:00
Export.hs centralized "yes"/"no" parsing 2018-10-10 11:14:27 -04:00
FileMatcher.hs v6: avoid accidental conversion when annex.largefiles is not configured 2018-08-27 14:51:10 -04:00
Fixup.hs fix android/old ghc build 2018-07-19 13:27:29 -04:00
GitOverlay.hs removed the old Android app 2018-10-13 01:41:11 -04:00
HashObject.hs Sped up git-annex add in direct mode and v6 by using git hash-object --batch. 2016-03-14 15:58:46 -04:00
Hook.hs git post-checkout and post-merge hooks 2018-10-25 15:59:51 -04:00
Ingest.hs remove unused import 2018-10-25 16:25:21 -04:00
Init.hs default to v7 adjusted unlocked in crippled filesystem 2018-10-25 18:49:57 -04:00
InodeSentinal.hs remove 163 lines of code without changing anything except imports 2016-01-20 16:36:33 -04:00
Journal.hs back out incorrect IO interleaving change 2018-05-08 13:54:42 -04:00
Link.hs avoid update-index race 2018-08-17 16:03:40 -04:00
Locations.hs defer updating unlocked files until after smudge filter 2018-10-25 15:08:20 -04:00
LockFile.hs Ssh password prompting improved when using -J 2017-05-11 17:36:03 -04:00
LockPool.hs pid locking configuration and abstraction layer for git-annex 2015-11-12 17:50:34 -04:00
MakeRepo.hs added annex.commitmessage 2018-08-02 14:06:06 -04:00
MetaData.hs don't copy old date metadata when adding new version of a file 2018-04-04 13:58:16 -04:00
Multicast.hs fix build with old ghc 2017-05-10 14:39:15 -04:00
Notification.hs reorg 2017-12-14 11:26:59 -04:00
NumCopies.hs removed the old Android app 2018-10-13 01:41:11 -04:00
Path.hs remove ifdef for older base than git-annex.cabal allows 2017-12-14 13:45:50 -04:00
Perms.hs avoid compiler warning 2018-03-15 13:21:32 -04:00
Queue.hs fix git command queue to be concurrency safe 2018-08-28 13:16:33 -04:00
ReplaceFile.hs narrow the race where a file gets modified before update-index 2018-08-16 15:56:43 -04:00
SpecialRemote.hs finish fixing inverted Ord for TrustLevel 2018-04-13 15:17:54 -04:00
Ssh.hs remove no longer needed uuid check in prepSocket 2018-06-05 12:51:17 -04:00
TaggedPush.hs sync: Added --cleanup, which removes local and remote synced/ branches. 2017-09-28 14:58:48 -04:00
Transfer.hs Fix wrong sorting of remotes when using -J 2018-08-03 13:10:50 -04:00
UpdateInstead.hs sync hack to make updateInstead work on eg FAT 2017-02-17 15:21:52 -04:00
Url.hs Fix reversion in support of annex.web-options 2018-10-04 13:43:29 -04:00
UUID.hs adeiu, MissingH 2017-05-16 01:03:52 -04:00
VariantFile.hs stop using MissingH for MD5 2017-05-15 21:36:03 -04:00
VectorClock.hs avoid accidental Show of VectorClock 2017-08-14 14:51:54 -04:00
Version.hs remove 3 from supportedVersions (no behavior change) 2018-10-25 18:50:44 -04:00
View.hs reuse hashes of dotfiles/dirs/submodules when entering view 2018-05-14 15:35:20 -04:00
Wanted.hs remove 163 lines of code without changing anything except imports 2016-01-20 16:36:33 -04:00
WorkTree.hs sync --content now supports --hide-missing adjusted branches 2018-10-19 17:51:25 -04:00
YoutubeDl.hs improve message 2018-09-02 16:08:00 -04:00