diff options
author | Joey Hess <joeyh@joeyh.name> | 2015-08-04 14:43:42 -0400 |
---|---|---|
committer | Joey Hess <joeyh@joeyh.name> | 2015-08-04 14:43:42 -0400 |
commit | a9c156e7e70e6ec259a66e5d1f5a029ab9d17b3b (patch) | |
tree | b5d1ee19d863d1ebe4f533cb5bf1cbfbc17480c2 /Command | |
parent | 1f78c03012fa46bd0e4b0c7af9b70df872f35b0d (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.hs | 3 |
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 |