Windows: Fix bug that caused git-annex sync to fail due to missing environment variable.

I think that the problem was caused by windows not having a concept of an
env var that is set, but to the empty string. So, GIT_ANNEX_SSHOPTION
got set to "" and was not seen as set at all.

Easy fix, which also makes git-annex sync a little faster is to not set
GIT_SSH, when GIT_ANNEX_SSHOPTION has no options. Might as well let git use
ssh per usual in this case, no need to run git-annex as the proxy ssh
command..
This commit is contained in:
Joey Hess 2015-08-04 15:27:48 -04:00
parent 3cff287b26
commit f041a65c33
3 changed files with 15 additions and 7 deletions

View file

@ -266,7 +266,7 @@ inRepoWithSshOptionsTo remote gc a =
- to set GIT_SSH=git-annex, and sets sshOptionsEnv. -}
sshOptionsTo :: Git.Repo -> RemoteGitConfig -> Git.Repo -> Annex Git.Repo
sshOptionsTo remote gc g
| not (Git.repoIsUrl remote) || Git.repoIsHttp remote = uncached
| not (Git.repoIsUrl remote) || Git.repoIsHttp remote = unchanged
| otherwise = case Git.Url.hostuser remote of
Nothing -> uncached
Just host -> do
@ -277,17 +277,21 @@ sshOptionsTo remote gc g
prepSocket sockfile
use (sshConnectionCachingParams sockfile)
where
uncached = return g
unchanged = return g
use opts = do
let val = toSshOptionsEnv $ concat
let sshopts =
[ opts
, map Param (remoteAnnexSshOptions gc)
]
command <- liftIO programPath
liftIO $ do
g' <- addGitEnv g sshOptionsEnv val
addGitEnv g' "GIT_SSH" command
if null sshopts
then unchanged
else do
let val = toSshOptionsEnv (concat sshopts)
command <- liftIO programPath
liftIO $ do
g' <- addGitEnv g sshOptionsEnv val
addGitEnv g' "GIT_SSH" command
runSshOptions :: [String] -> String -> IO ()
runSshOptions args s = do

2
debian/changelog vendored
View file

@ -17,6 +17,8 @@ git-annex (5.20150732) UNRELEASED; urgency=medium
make the proxied command fail the same way.
* proxy: Fix removal of files deleted by the proxied command.
* proxy: Fix behavior when run in subdirectory of git repo.
* Windows: Fix bug that caused git-annex sync to fail due to missing
environment variable.
-- Joey Hess <id@joeyh.name> Fri, 31 Jul 2015 12:31:39 -0400

View file

@ -213,3 +213,5 @@ C:\data_organization\data>
"""]]
> [[fixed|done]] I think. --[[Joey]]