From a6191e2476ebe4f1722f1cac9f2569a7e2d2a09c Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Thu, 23 Feb 2017 18:37:02 -0400 Subject: noCommit for PostReceive This was noticed because it broke the datalad test suite, which pushed to the remote and then fetched to check if it had received the expected branches. Auto-init caused the git-annex branch on the remote to diverge, breaking that test. https://github.com/datalad/datalad/issues/1319#issuecomment-281649518 The auto-init still happens, it's staged in the journal, and will be commited by some later git-annex command when it runs. Which is fine, it's the same as that later command doing the auto-init. This commit was supported by the NSF-funded DataLad project --- Command/PostReceive.hs | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) (limited to 'Command') diff --git a/Command/PostReceive.hs b/Command/PostReceive.hs index 84652f20d..ffb5516a2 100644 --- a/Command/PostReceive.hs +++ b/Command/PostReceive.hs @@ -13,11 +13,16 @@ import Git.Types import Annex.UpdateInstead import Command.Sync (mergeLocal, prepMerge, mergeConfig, getCurrBranch) +-- This does not need to modify the git-annex branch to update the +-- work tree, but auto-initialization might change the git-annex branch. +-- Since it would be surprising for a post-receive hook to make such a +-- change, that's prevented by noCommit. cmd :: Command -cmd = command "post-receive" SectionPlumbing - "run by git post-receive hook" - paramNothing - (withParams seek) +cmd = noCommit $ + command "post-receive" SectionPlumbing + "run by git post-receive hook" + paramNothing + (withParams seek) seek :: CmdParams -> CommandSeek seek _ = whenM needUpdateInsteadEmulation $ do -- cgit v1.2.3