assistant: When updating ~/.ssh/config, preserve any symlinks.
This commit is contained in:
parent
c6041164e4
commit
0ebde659bf
3 changed files with 22 additions and 2 deletions
|
@ -15,6 +15,7 @@ import Utility.FileMode
|
|||
import Data.Char
|
||||
import Data.Ord
|
||||
import Data.Either
|
||||
import System.Directory
|
||||
|
||||
data SshConfig
|
||||
= GlobalConfig SshSetting
|
||||
|
@ -117,8 +118,11 @@ changeUserSshConfig modifier = do
|
|||
whenM (doesFileExist configfile) $ do
|
||||
c <- readFileStrict configfile
|
||||
let c' = modifier c
|
||||
when (c /= c') $
|
||||
viaTmp writeSshConfig configfile c'
|
||||
when (c /= c') $ do
|
||||
-- If it's a symlink, replace the file it
|
||||
-- points to.
|
||||
f <- catchDefaultIO configfile (canonicalizePath configfile)
|
||||
viaTmp writeSshConfig f c'
|
||||
|
||||
writeSshConfig :: FilePath -> String -> IO ()
|
||||
writeSshConfig f s = do
|
||||
|
|
1
debian/changelog
vendored
1
debian/changelog
vendored
|
@ -2,6 +2,7 @@ git-annex (5.20150917) UNRELEASED; urgency=medium
|
|||
|
||||
* info: Don't allow use in a non-git-annex repository, since it
|
||||
uses the git-annex branch and would create it if it were missing.
|
||||
* assistant: When updating ~/.ssh/config, preserve any symlinks.
|
||||
|
||||
-- Joey Hess <id@joeyh.name> Wed, 16 Sep 2015 12:23:33 -0400
|
||||
|
||||
|
|
|
@ -0,0 +1,15 @@
|
|||
[[!comment format=mdwn
|
||||
username="joey"
|
||||
subject="""comment 1"""
|
||||
date="2015-09-21T16:14:03Z"
|
||||
content="""
|
||||
The assistant does not normally do this when you merely start it up. It does it
|
||||
when you configure a ssh remote, when it needs to modify that file.
|
||||
It might also modify the file on startup if it detects a configuration that
|
||||
an old version of the assistant put in that needs to be fixed up.
|
||||
|
||||
Is the trailing whitespace you speak of just a newline added after the
|
||||
existing host block, or something else? Your "..." is not very clear.
|
||||
|
||||
Fixed symlink issue in git.
|
||||
"""]]
|
Loading…
Reference in a new issue