initremote: Automatically describe a remote when creating it.

This ensures that all special remotes show up in git annex status.
Before, a special remote that was not manually described, and was not
a current git remote, did not show up there, although initremote did list
it.
This commit is contained in:
Joey Hess 2012-06-07 11:16:48 -04:00
parent 8408a91082
commit 4d1c114e4d
3 changed files with 5 additions and 5 deletions

View file

@ -15,6 +15,7 @@ import qualified Remote
import qualified Logs.Remote import qualified Logs.Remote
import qualified Types.Remote as R import qualified Types.Remote as R
import Annex.UUID import Annex.UUID
import Logs.UUID
def :: [Command] def :: [Command]
def = [command "initremote" def = [command "initremote"
@ -60,6 +61,7 @@ findByName name = do
where where
generate = do generate = do
uuid <- liftIO genUUID uuid <- liftIO genUUID
describeUUID uuid name
return (uuid, M.insert nameKey name M.empty) return (uuid, M.insert nameKey name M.empty)
findByName' :: String -> M.Map UUID R.RemoteConfig -> Maybe (UUID, R.RemoteConfig) findByName' :: String -> M.Map UUID R.RemoteConfig -> Maybe (UUID, R.RemoteConfig)

View file

@ -54,9 +54,9 @@ remoteMap :: (Remote -> a) -> Annex (M.Map UUID a)
remoteMap c = M.fromList . map (\r -> (uuid r, c r)) . remoteMap c = M.fromList . map (\r -> (uuid r, c r)) .
filter (\r -> uuid r /= NoUUID) <$> remoteList filter (\r -> uuid r /= NoUUID) <$> remoteList
{- Map of UUIDs and their descriptions. {- Map of UUIDs of remotes and their descriptions.
- The names of Remotes are added to suppliment any description that has - The names of Remotes are added to suppliment any description that has
- been set for a repository. -} - been set for a repository. -}
uuidDescriptions :: Annex (M.Map UUID String) uuidDescriptions :: Annex (M.Map UUID String)
uuidDescriptions = M.unionWith addName <$> uuidMap <*> remoteMap name uuidDescriptions = M.unionWith addName <$> uuidMap <*> remoteMap name
@ -101,9 +101,6 @@ nameToUUID n = byName' n >>= go
double (a, _) = (a, a) double (a, _) = (a, a)
{- Pretty-prints a list of UUIDs of remotes, for human display. {- Pretty-prints a list of UUIDs of remotes, for human display.
-
- Shows descriptions from the uuid log, falling back to remote names,
- as some remotes may not be in the uuid log.
- -
- When JSON is enabled, also generates a machine-readable description - When JSON is enabled, also generates a machine-readable description
- of the UUIDs. -} - of the UUIDs. -}

1
debian/changelog vendored
View file

@ -2,6 +2,7 @@ git-annex (3.20120606) UNRELEASED; urgency=low
* add: Prevent (most) modifications from being made to a file while it * add: Prevent (most) modifications from being made to a file while it
is being added to the annex. is being added to the annex.
* initremote: Automatically describe a remote when creating it.
-- Joey Hess <joeyh@debian.org> Tue, 05 Jun 2012 20:25:51 -0400 -- Joey Hess <joeyh@debian.org> Tue, 05 Jun 2012 20:25:51 -0400