diff options
author | Joey Hess <joey@kitenet.net> | 2010-10-09 23:35:05 -0400 |
---|---|---|
committer | Joey Hess <joey@kitenet.net> | 2010-10-09 23:35:05 -0400 |
commit | 381e6f84e5f4ddc64ed86f08064ebaf2313b18db (patch) | |
tree | b1adc6b70db80856275db0b0328cb484996093ab /GitRepo.hs | |
parent | 011118dbdff84458a5f9eea05547d79fbf7e88ac (diff) |
robustness
Diffstat (limited to 'GitRepo.hs')
-rw-r--r-- | GitRepo.hs | 13 |
1 files changed, 3 insertions, 10 deletions
diff --git a/GitRepo.hs b/GitRepo.hs index 01e6746ae..2e7fff22e 100644 --- a/GitRepo.hs +++ b/GitRepo.hs @@ -6,6 +6,7 @@ import Directory import System.Directory import System.Path import Data.String.Utils +import Utility {- Given a relative or absolute filename, calculates the name to use - relative to a git repository directory (which must be absolute). @@ -49,16 +50,8 @@ seekUp dir want = do if ok then return (Just dir) else case (parentDir dir) of - (Just d) -> seekUp d want - Nothing -> return Nothing - -parentDir :: String -> Maybe String -parentDir dir = - if length dirs > 0 - then Just ("/" ++ (join "/" $ take ((length dirs) - 1) dirs)) - else Nothing - where - dirs = filter (\x -> length x > 0) $ split "/" dir + "" -> return Nothing + d -> seekUp d want isRepoTop dir = do r <- isGitRepo dir |