diff --git a/Assistant/WebApp/Configurators/Ssh.hs b/Assistant/WebApp/Configurators/Ssh.hs index ffef008495..c4308f00b8 100644 --- a/Assistant/WebApp/Configurators/Ssh.hs +++ b/Assistant/WebApp/Configurators/Ssh.hs @@ -284,18 +284,18 @@ makeSsh rsync setup sshdata | needsPubKey sshdata = do keypair <- liftIO genSshKeyPair sshdata' <- liftIO $ setupSshKeyPair keypair sshdata - makeSsh' rsync setup sshdata' (Just keypair) + makeSsh' rsync setup sshdata sshdata' (Just keypair) | sshPort sshdata /= 22 = do sshdata' <- liftIO $ setSshConfig sshdata [] - makeSsh' rsync setup sshdata' Nothing - | otherwise = makeSsh' rsync setup sshdata Nothing + makeSsh' rsync setup sshdata sshdata' Nothing + | otherwise = makeSsh' rsync setup sshdata sshdata Nothing -makeSsh' :: Bool -> (Remote -> Handler ()) -> SshData -> Maybe SshKeyPair -> Handler RepHtml -makeSsh' rsync setup sshdata keypair = +makeSsh' :: Bool -> (Remote -> Handler ()) -> SshData -> SshData -> Maybe SshKeyPair -> Handler RepHtml +makeSsh' rsync setup origsshdata sshdata keypair = do sshSetup [sshhost, remoteCommand] "" $ makeSshRepo rsync setup sshdata where - sshhost = genSshHost (sshHostName sshdata) (sshUserName sshdata) + sshhost = genSshHost (sshHostName origsshdata) (sshUserName origsshdata) remotedir = T.unpack $ sshDirectory sshdata remoteCommand = shellWrap $ intercalate "&&" $ catMaybes [ Just $ "mkdir -p " ++ shellEscape remotedir diff --git a/debian/changelog b/debian/changelog index dcf5e41af6..85a356122b 100644 --- a/debian/changelog +++ b/debian/changelog @@ -5,6 +5,8 @@ git-annex (4.20130622) UNRELEASED; urgency=low * bup: Handle /~/ in bup remote paths. Thanks, Oliver Matthews * fsck: Ensures that direct mode is used for files when it's enabled. + * webapp: Fix bug when setting up a remote ssh repo repeatedly on the same + server. -- Joey Hess Fri, 21 Jun 2013 13:16:17 -0400