webapp: Fix bugs that could result in a relative path such as "." being written to ~/.config/git-annex/autostart
and ignore any such relative paths in the file This was a reversion caused by the relative path changes in 5.20150113.
This commit is contained in:
parent
f16e235983
commit
e9f43c07f9
5 changed files with 41 additions and 5 deletions
|
@ -118,5 +118,5 @@ postPreferencesR = page "Preferences" (Just Configuration) $ do
|
|||
|
||||
inAutoStartFile :: Annex Bool
|
||||
inAutoStartFile = do
|
||||
here <- fromRepo Git.repoPath
|
||||
here <- liftIO . absPath =<< fromRepo Git.repoPath
|
||||
any (`equalFilePath` here) <$> liftIO readAutoStartFile
|
||||
|
|
|
@ -26,8 +26,11 @@ autoStartFile = userConfigFile "autostart"
|
|||
readAutoStartFile :: IO [FilePath]
|
||||
readAutoStartFile = do
|
||||
f <- autoStartFile
|
||||
nub . map dropTrailingPathSeparator . lines
|
||||
filter valid . nub . map dropTrailingPathSeparator . lines
|
||||
<$> catchDefaultIO "" (readFile f)
|
||||
where
|
||||
-- Ignore any relative paths; some old buggy versions added eg "."
|
||||
valid = isAbsolute
|
||||
|
||||
modifyAutoStartFile :: ([FilePath] -> [FilePath]) -> IO ()
|
||||
modifyAutoStartFile func = do
|
||||
|
@ -42,12 +45,16 @@ modifyAutoStartFile func = do
|
|||
- present, it's moved to the top, so it will be used as the default
|
||||
- when opening the webapp. -}
|
||||
addAutoStartFile :: FilePath -> IO ()
|
||||
addAutoStartFile path = modifyAutoStartFile $ (:) path
|
||||
addAutoStartFile path = do
|
||||
path' <- absPath path
|
||||
modifyAutoStartFile $ (:) path'
|
||||
|
||||
{- Removes a directory from the autostart file. -}
|
||||
removeAutoStartFile :: FilePath -> IO ()
|
||||
removeAutoStartFile path = modifyAutoStartFile $
|
||||
filter (not . equalFilePath path)
|
||||
removeAutoStartFile path = do
|
||||
path' <- absPath path
|
||||
modifyAutoStartFile $
|
||||
filter (not . equalFilePath path')
|
||||
|
||||
{- The path to git-annex is written here; which is useful when cabal
|
||||
- has installed it to some awful non-PATH location. -}
|
||||
|
|
4
debian/changelog
vendored
4
debian/changelog
vendored
|
@ -14,6 +14,10 @@ git-annex (5.20151117) UNRELEASED; urgency=medium
|
|||
* addurl, importfeed: Changed to honor annex.largefiles settings,
|
||||
when the content of the url is downloaded. (Not when using --fast or
|
||||
--relaxed.)
|
||||
* webapp: Fix bugs that could result in a relative path such as "."
|
||||
being written to ~/.config/git-annex/autostart, and ignore any such
|
||||
relative paths in the file.
|
||||
This was a reversion caused by the relative path changes in 5.20150113.
|
||||
|
||||
-- Joey Hess <id@joeyh.name> Mon, 16 Nov 2015 16:49:34 -0400
|
||||
|
||||
|
|
|
@ -23,3 +23,4 @@ there is nothing relevant to this error in there unfortunately.
|
|||
### Have you had any luck using git-annex before? (Sometimes we get tired of reading bug reports all day and a lil' positive end note does wonders)
|
||||
|
||||
|
||||
> [[fixed|done]] --[[Joey]]
|
||||
|
|
|
@ -0,0 +1,24 @@
|
|||
[[!comment format=mdwn
|
||||
username="joey"
|
||||
subject="""comment 2"""
|
||||
date="2015-12-02T19:36:14Z"
|
||||
content="""
|
||||
Found this in the changelog:
|
||||
|
||||
* webapp: When adding another local repository, and combining it
|
||||
with the current repository, the new repository's remote path
|
||||
was set to "." rather than the path to the current repository.
|
||||
This was a reversion caused by the relative path changes in 5.20150113.
|
||||
|
||||
I guess this is a similar problem, although it seems that the "." in your case
|
||||
made it into `~/.config/git-annex/autostart`
|
||||
|
||||
I found two ways to do that. One is to tell the webapp to make a repository, and
|
||||
enter "." as the repository location. The other, which is probably what you
|
||||
did, is to go to Configuration -> Preferences and uncheck "Auto start", save
|
||||
and then go back and check it. This wrongly puts in a "." instead of the full
|
||||
repo path.
|
||||
|
||||
I've fixed all code paths to force absolute paths in the autostart file,
|
||||
and made any relative paths that got in there be ignored.
|
||||
"""]]
|
Loading…
Reference in a new issue