fix absrepo data loss
it was dropping the config map for the repos it changed
This commit is contained in:
parent
30869187f0
commit
ef2d4f650e
2 changed files with 29 additions and 17 deletions
16
GitRepo.hs
16
GitRepo.hs
|
@ -13,6 +13,7 @@ module GitRepo (
|
|||
repoFromCwd,
|
||||
repoFromPath,
|
||||
repoFromUrl,
|
||||
localToUrl,
|
||||
repoIsUrl,
|
||||
repoIsSsh,
|
||||
repoDescribe,
|
||||
|
@ -109,6 +110,19 @@ repoFromUrl url
|
|||
Just v -> v
|
||||
Nothing -> error $ "bad url " ++ url
|
||||
|
||||
{- Converts a Local Repo into a remote repo, using the reference repo
|
||||
- which is assumed to be on the same host. -}
|
||||
localToUrl :: Repo -> Repo -> Repo
|
||||
localToUrl reference r
|
||||
| not $ repoIsUrl reference = error "internal error; reference repo not url"
|
||||
| repoIsUrl r = r
|
||||
| otherwise = r { location = Url $ fromJust $ parseURI absurl }
|
||||
where
|
||||
absurl =
|
||||
urlScheme reference ++ "//" ++
|
||||
urlHostFull reference ++
|
||||
workTree r
|
||||
|
||||
{- User-visible description of a git repo. -}
|
||||
repoDescribe :: Repo -> String
|
||||
repoDescribe Repo { remoteName = Just name } = name
|
||||
|
@ -338,7 +352,7 @@ configStore :: Repo -> String -> Repo
|
|||
configStore repo s = r { remotes = configRemotes r }
|
||||
where r = repo { config = configParse s }
|
||||
|
||||
{- Checks if a string fron git config is a true value. -}
|
||||
{- Checks if a string from git config is a true value. -}
|
||||
configTrue :: String -> Bool
|
||||
configTrue s = map toLower s == "true"
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue