Merge branch 'master' of ssh://git-annex.branchable.com

This commit is contained in:
Joey Hess 2012-08-03 10:48:24 -04:00
commit c3f94aa744
3 changed files with 25 additions and 2 deletions

22
Init.hs
View file

@ -19,6 +19,26 @@ import Logs.UUID
import Annex.Version
import Annex.UUID
import System.Posix.User
genDescription :: Maybe String -> Annex String
genDescription (Just d) = return d
genDescription Nothing = do
hostname <- getHostname
let at = if null hostname then "" else "@"
username <- clicketyclickety
reldir <- liftIO . relHome =<< fromRepo Git.repoPath
return $ concat [username, at, hostname, ":", reldir]
where
{- Haskell lacks uname(2) bindings, except in the
- Bindings.Uname addon. Rather than depend on that,
- use uname -n when available. -}
getHostname = liftIO $ catchDefaultIO uname_node ""
uname_node = takeWhile (/= '\n') <$>
readProcess "uname" ["-n"]
clicketyclickety = liftIO $ userName <$>
(getUserEntryForID =<< getEffectiveUserID)
initialize :: Maybe String -> Annex ()
initialize mdescription = do
prepUUID
@ -26,7 +46,7 @@ initialize mdescription = do
setVersion
gitPreCommitHookWrite
u <- getUUID
maybe (recordUUID u) (describeUUID u) mdescription
describeUUID u =<< genDescription mdescription
uninitialize :: Annex ()
uninitialize = do

2
debian/changelog vendored
View file

@ -2,6 +2,8 @@ git-annex (3.20120722) UNRELEASED; urgency=low
* initremote: Avoid recording remote's description before checking
that its config is valid.
* init: If no description is provided for a new repository, one will
automatically be generated, like "joey@gnu:~/foo"
-- Joey Hess <joeyh@debian.org> Fri, 27 Jul 2012 21:04:47 -0400

View file

@ -194,7 +194,8 @@ subdirectories).
using it in a repository that was not intended to have an annex.
It's useful, but not mandatory, to initialize each new clone
of a repository with its own description.
of a repository with its own description. If you don't provide one,
one will be generated.
* describe repository description