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 :: Annex Bool
|
||||||
inAutoStartFile = do
|
inAutoStartFile = do
|
||||||
here <- fromRepo Git.repoPath
|
here <- liftIO . absPath =<< fromRepo Git.repoPath
|
||||||
any (`equalFilePath` here) <$> liftIO readAutoStartFile
|
any (`equalFilePath` here) <$> liftIO readAutoStartFile
|
||||||
|
|
|
@ -26,8 +26,11 @@ autoStartFile = userConfigFile "autostart"
|
||||||
readAutoStartFile :: IO [FilePath]
|
readAutoStartFile :: IO [FilePath]
|
||||||
readAutoStartFile = do
|
readAutoStartFile = do
|
||||||
f <- autoStartFile
|
f <- autoStartFile
|
||||||
nub . map dropTrailingPathSeparator . lines
|
filter valid . nub . map dropTrailingPathSeparator . lines
|
||||||
<$> catchDefaultIO "" (readFile f)
|
<$> catchDefaultIO "" (readFile f)
|
||||||
|
where
|
||||||
|
-- Ignore any relative paths; some old buggy versions added eg "."
|
||||||
|
valid = isAbsolute
|
||||||
|
|
||||||
modifyAutoStartFile :: ([FilePath] -> [FilePath]) -> IO ()
|
modifyAutoStartFile :: ([FilePath] -> [FilePath]) -> IO ()
|
||||||
modifyAutoStartFile func = do
|
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
|
- present, it's moved to the top, so it will be used as the default
|
||||||
- when opening the webapp. -}
|
- when opening the webapp. -}
|
||||||
addAutoStartFile :: FilePath -> IO ()
|
addAutoStartFile :: FilePath -> IO ()
|
||||||
addAutoStartFile path = modifyAutoStartFile $ (:) path
|
addAutoStartFile path = do
|
||||||
|
path' <- absPath path
|
||||||
|
modifyAutoStartFile $ (:) path'
|
||||||
|
|
||||||
{- Removes a directory from the autostart file. -}
|
{- Removes a directory from the autostart file. -}
|
||||||
removeAutoStartFile :: FilePath -> IO ()
|
removeAutoStartFile :: FilePath -> IO ()
|
||||||
removeAutoStartFile path = modifyAutoStartFile $
|
removeAutoStartFile path = do
|
||||||
filter (not . equalFilePath path)
|
path' <- absPath path
|
||||||
|
modifyAutoStartFile $
|
||||||
|
filter (not . equalFilePath path')
|
||||||
|
|
||||||
{- The path to git-annex is written here; which is useful when cabal
|
{- The path to git-annex is written here; which is useful when cabal
|
||||||
- has installed it to some awful non-PATH location. -}
|
- 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,
|
* addurl, importfeed: Changed to honor annex.largefiles settings,
|
||||||
when the content of the url is downloaded. (Not when using --fast or
|
when the content of the url is downloaded. (Not when using --fast or
|
||||||
--relaxed.)
|
--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
|
-- 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)
|
### 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…
Add table
Add a link
Reference in a new issue