summaryrefslogtreecommitdiff
path: root/Command
diff options
context:
space:
mode:
authorGravatar Joey Hess <joeyh@joeyh.name>2015-08-04 14:43:42 -0400
committerGravatar Joey Hess <joeyh@joeyh.name>2015-08-04 14:43:42 -0400
commita9c156e7e70e6ec259a66e5d1f5a029ab9d17b3b (patch)
treeb5d1ee19d863d1ebe4f533cb5bf1cbfbc17480c2 /Command
parent1f78c03012fa46bd0e4b0c7af9b70df872f35b0d (diff)
proxy: Fix removal of files deleted by the proxied command.
Git.Ref.headSha doesn't really work in direct mode as there's not a head, so it was actually diffing against the empty tree and so not removing any deleted files. Get the sha of the current branch instead, which is the same thing Command.Sync does.
Diffstat (limited to 'Command')
-rw-r--r--Command/Proxy.hs3
1 files changed, 2 insertions, 1 deletions
diff --git a/Command/Proxy.hs b/Command/Proxy.hs
index 97cfafeaf..d38a94b46 100644
--- a/Command/Proxy.hs
+++ b/Command/Proxy.hs
@@ -41,7 +41,8 @@ start (c:ps) = liftIO . exitWith =<< ifM isDirect
where
go tmp = do
oldref <- fromMaybe Git.Sha.emptyTree
- <$> inRepo Git.Ref.headSha
+ <$> (inRepo . maybe Git.Ref.headSha Git.Ref.sha
+ =<< inRepo Git.Branch.currentUnsafe)
setuptmpworktree tmp
exitcode <- proxy tmp