234842a347
Install new git hooks in this version. This does beg the question of what to do if git later gets eg a post-smudge hook, that could run git-annex smudge --update. I think the thing to do in that case would be to make git-annex smudge --update install the new hooks. That way, as the user uses git-annex, the hook would be created pretty quickly and without needing any extra syscalls except for when git-annex smudge --update is called. I considered doing something like that for installation of the post-checkout and post-merge hooks, which would have avoided the need for v7. But the only place it was cheap to do it would be in git-annex smudge which could cheaply notice that smudge.log didn't exist yet and so know the hooks needed to be installed. But since smudge used to populate pointer files, it would be quite surprising if a single git checkout/merge failed to update the work tree, and so that idea didn't work out. The other reason for v7 is psychological -- users don't need to worry about whether they might be running an old version of git-annex that doesn't support their v7 repository very well. And bug reports about "v6" have gotten a bit of a bad association in my head since they often hit one of the known limitations and didn't realize it was experimental. newtyped RepoVersion Int to avoid needing 2 comparisons in versionSupportsUnlockedPointers etc. Also it's just nicer. This commit was sponsored by John Pellman on Patreon. |
||
---|---|---|
.. | ||
Directory | ||
DirWatcher | ||
Env | ||
LockFile | ||
LockPool | ||
Path | ||
Process | ||
Scheduled | ||
Tmp | ||
Touch | ||
Aeson.hs | ||
Android.hs | ||
Applicative.hs | ||
AuthToken.hs | ||
Base64.hs | ||
Batch.hs | ||
Bloom.hs | ||
CoProcess.hs | ||
CopyFile.hs | ||
Daemon.hs | ||
Data.hs | ||
DataUnits.hs | ||
DBus.hs | ||
Directory.hs | ||
DirWatcher.hs | ||
DiskFree.hs | ||
Dot.hs | ||
DottedVersion.hs | ||
Env.hs | ||
Exception.hs | ||
FileMode.hs | ||
FileSize.hs | ||
FileSystemEncoding.hs | ||
Format.hs | ||
FreeDesktop.hs | ||
Glob.hs | ||
Gpg.hs | ||
Hash.hs | ||
HtmlDetect.hs | ||
HttpManagerRestricted.hs | ||
HumanNumber.hs | ||
HumanTime.hs | ||
InodeCache.hs | ||
IPAddress.hs | ||
libkqueue.c | ||
libkqueue.h | ||
LinuxMkLibs.hs | ||
LockFile.hs | ||
LockPool.hs | ||
LogFile.hs | ||
Lsof.hs | ||
MagicWormhole.hs | ||
Matcher.hs | ||
Metered.hs | ||
Misc.hs | ||
Monad.hs | ||
Mounts.hs | ||
Network.hs | ||
NotificationBroadcaster.hs | ||
OptParse.hs | ||
OSX.hs | ||
Parallel.hs | ||
PartialPrelude.hs | ||
Path.hs | ||
Percentage.hs | ||
PID.hs | ||
Process.hs | ||
QuickCheck.hs | ||
Rsync.hs | ||
SafeCommand.hs | ||
Scheduled.hs | ||
Shell.hs | ||
SimpleProtocol.hs | ||
Split.hs | ||
SshConfig.hs | ||
SshHost.hs | ||
Su.hs | ||
SystemDirectory.hs | ||
Tense.hs | ||
ThreadLock.hs | ||
ThreadScheduler.hs | ||
TList.hs | ||
Tmp.hs | ||
Tor.hs | ||
Touch.hs | ||
Tuple.hs | ||
Url.hs | ||
UserInfo.hs | ||
Verifiable.hs | ||
WebApp.hs | ||
Yesod.hs |