post-receive hook updateInstead emulation cleanup
The code is only needed because for a long time, git-annex didn't install hooks in repos on crippled filesystems. Now it does, and they work at least on FAT (where all files are executable) and Windows. It would be possible to remove this code in v8 simply by re-installing the hooks.
This commit is contained in:
parent
9317c4a5b3
commit
99b509572d
2 changed files with 4 additions and 3 deletions
|
@ -458,8 +458,9 @@ pushRemote o remote (Just branch, _) = stopUnless (pure (pushOption o) <&&> need
|
|||
| remoteAnnexReadOnly gc = return False
|
||||
| not (remoteAnnexPush gc) = return False
|
||||
| otherwise = anyM (newer remote) [syncBranch branch, Annex.Branch.name]
|
||||
-- Do updateInstead emulation for remotes on eg removable drives
|
||||
-- formatted FAT, where the post-receive hook won't run.
|
||||
-- Older remotes on crippled filesystems may not have a
|
||||
-- post-receive hook set up, so when updateInstead emulation
|
||||
-- is needed, run post-receive manually.
|
||||
postpushupdate repo = case Git.repoWorkTree repo of
|
||||
Nothing -> return True
|
||||
Just wt -> ifM needemulation
|
||||
|
|
|
@ -13,7 +13,7 @@ automatically creates a post-receive hook using this.
|
|||
|
||||
When a repository is configured with receive.denyCurrentBranch=updateInstead,
|
||||
pushes to the repository update its work tree. However, that does not work
|
||||
for repositories that use have an adjusted branch checked
|
||||
for repositories that have an adjusted branch checked
|
||||
out. The hook updates the work tree when run in such a repository,
|
||||
the same as running `git-annex merge` would.
|
||||
|
||||
|
|
Loading…
Reference in a new issue