packages feed

git-annex 4.20130627 → 4.20130709

raw patch · 311 files changed

+2156/−30597 lines, 311 filesbinary-added

Files

Annex.hs view
@@ -92,6 +92,7 @@ 	, catfilehandles :: M.Map FilePath CatFileHandle 	, checkattrhandle :: Maybe CheckAttrHandle 	, forcebackend :: Maybe String+	, forcenumcopies :: Maybe Int 	, limit :: Matcher (FileInfo -> Annex Bool) 	, uuidmap :: Maybe UUIDMap 	, preferredcontentmap :: Maybe PreferredContentMap@@ -123,6 +124,7 @@ 	, catfilehandles = M.empty 	, checkattrhandle = Nothing 	, forcebackend = Nothing+	, forcenumcopies = Nothing 	, limit = Left [] 	, uuidmap = Nothing 	, preferredcontentmap = Nothing
Annex/Direct.hs view
@@ -189,9 +189,12 @@ 		, do 			{- Copy content from another direct file. -} 			absf <- liftIO $ absPath f-			locs <- filterM (\l -> isNothing <$> getAnnexLinkTarget l) =<<-				(filter (/= absf) <$> addAssociatedFile k f)		-			return $ Just $ fromdirect locs+			dlocs <- filterM (goodContent k) =<<+				filterM (\l -> isNothing <$> getAnnexLinkTarget l) =<<+				(filter (/= absf) <$> addAssociatedFile k f)+			case dlocs of+				[] -> return Nothing+				(dloc:_) -> return $ Just $ fromdirect dloc 		)   where   	fromindirect loc = do@@ -201,14 +204,10 @@ 		void $ addAssociatedFile k f 		thawContent loc 		replaceFile f $ liftIO . moveFile loc-	fromdirect (loc:locs) = ifM (goodContent k loc)-		( do-			replaceFile f $-				liftIO . void . copyFileExternal loc-			updateInodeCache k f-		, fromdirect locs-		)-	fromdirect [] = noop+	fromdirect loc = do+		replaceFile f $+			liftIO . void . copyFileExternal loc+		updateInodeCache k f  {- Removes a direct mode file, while retaining its content in the annex  - (unless its content has already been changed). -}
Annex/Environment.hs view
@@ -13,10 +13,19 @@ import Utility.Env import Utility.UserInfo import qualified Git.Config+import Config+import Annex.Exception  {- Checks that the system's environment allows git to function.  - Git requires a GECOS username, or suitable git configuration, or- - environment variables. -}+ - environment variables.+ -+ - Git also requires the system have a hostname containing a dot.+ - Otherwise, it tries various methods to find a FQDN, and will fail if it+ - does not. To avoid replicating that code here, which would break if its+ - methods change, this function does not check the hostname is valid.+ - Instead, code that commits can use ensureCommit.+ -} checkEnvironment :: Annex () checkEnvironment = do 	gitusername <- fromRepo $ Git.Config.getMaybe "user.name"@@ -42,3 +51,12 @@ 	ensureEnv _ _ = noop #endif #endif++{- Runs an action that commits to the repository, and if it fails, + - sets user.email to a dummy value and tries the action again. -}+ensureCommit :: Annex a -> Annex a+ensureCommit a = either retry return =<< tryAnnex a +  where+  	retry _ = do+		setConfig (ConfigKey "user.email") =<< liftIO myUserName+		a
Annex/Wanted.hs view
@@ -10,7 +10,6 @@ import Common.Annex import Logs.PreferredContent import Annex.UUID-import Types.Remote  import qualified Data.Set as S 
Assistant/Drop.hs view
@@ -11,7 +11,7 @@ import Assistant.DaemonStatus import Logs.Location import Logs.Trust-import Types.Remote (AssociatedFile, uuid)+import Types.Remote (uuid) import qualified Remote import qualified Command.Drop import Command
Assistant/Install/AutoStart.o view

binary file changed (3364 → 3364 bytes)

Assistant/Install/Menu.o view

binary file changed (3216 → 3216 bytes)

Assistant/TransferrerPool.hs view
@@ -16,7 +16,6 @@ import System.Process (create_group) import Control.Exception (throw) import Control.Concurrent-import Types.Remote (AssociatedFile)  {- Runs an action with a Transferrer from the pool. -} withTransferrer :: FilePath -> TransferrerPool -> (Transferrer -> IO a) -> IO a
Assistant/Types/TransferQueue.hs view
@@ -9,7 +9,6 @@  import Common.Annex import Logs.Transfer-import Types.Remote  import Control.Concurrent.STM import Utility.TList
Assistant/WebApp/Configurators/Local.hs view
@@ -366,9 +366,7 @@ {- Creates a new repository, and returns its UUID. -} initRepo :: Bool -> Bool -> FilePath -> Maybe String -> IO UUID initRepo True primary_assistant_repo dir desc = inDir dir $ do-	{- Initialize a git-annex repository in a directory with a description. -}-	unlessM isInitialized $-		initialize desc+	initRepo' desc 	{- Initialize the master branch, so things that expect 	 - to have it will work, before any files are added. -} 	unlessM (Git.Config.isBare <$> gitRepo) $@@ -391,9 +389,13 @@ 	getUUID {- Repo already exists, could be a non-git-annex repo though. -} initRepo False _ dir desc = inDir dir $ do+	initRepo' desc+	getUUID++initRepo' :: Maybe String -> Annex ()+initRepo' desc = do 	unlessM isInitialized $ 		initialize desc-	getUUID  {- Checks if the user can write to a directory.  -
Assistant/WebApp/Configurators/Ssh.hs view
@@ -292,7 +292,7 @@  makeSsh' :: Bool -> (Remote -> Handler ()) -> SshData -> SshData -> Maybe SshKeyPair -> Handler Html makeSsh' rsync setup origsshdata sshdata keypair = do-	sshSetup [sshhost, remoteCommand] "" $+	sshSetup ["-p", show (sshPort origsshdata), sshhost, remoteCommand] "" $ 		makeSshRepo rsync setup sshdata   where 	sshhost = genSshHost (sshHostName origsshdata) (sshUserName origsshdata)@@ -303,7 +303,7 @@ 		, if rsync then Nothing else Just "if [ ! -d .git ]; then git init --bare --shared; fi" 		, if rsync then Nothing else Just "git annex init" 		, if needsPubKey sshdata-			then addAuthorizedKeysCommand (rsyncOnly sshdata) remotedir . sshPubKey <$> keypair+			then addAuthorizedKeysCommand (rsync || rsyncOnly sshdata) remotedir . sshPubKey <$> keypair 			else Nothing 		] 
Assistant/XMPP/Git.hs view
@@ -363,15 +363,16 @@   	loop seqnum = do 		m <- timeout xmppTimeout <~> waitInbox cid side 	  	let go s = a m >> loop s+		let next = seqnum + 1 		case extractSequence =<< m of 			Just seqnum'-				| seqnum' == seqnum + 1 -> go seqnum'+				| seqnum' == next -> go next 				| seqnum' == 0 -> go seqnum 				| seqnum' == seqnum -> do 					debug ["ignoring duplicate sequence number", show seqnum] 					loop seqnum 				| otherwise -> do-					debug ["ignoring out of order sequence number", show seqnum', "expected", show seqnum]+					debug ["ignoring out of order sequence number", show seqnum', "expected", show next] 					loop seqnum 			Nothing -> go seqnum 
Build/Configure.o view

binary file changed (50336 → 54624 bytes)

Build/DesktopFile.o view

binary file changed (13604 → 13604 bytes)

Build/InstallDesktopFile.o view

binary file changed (2536 → 2536 bytes)

Build/TestConfig.o view

binary file changed (32380 → 33088 bytes)

CHANGELOG view
@@ -1,3 +1,41 @@+git-annex (4.20130709) unstable; urgency=low++  * --all: New switch that makes git-annex operate on all data stored+    in the git annex, including old versions of files. Supported by+    fsck, get, move, copy.+  * --unused: New switch that makes git-annex operate on all data found+    by the last run of git annex unused. Supported by fsck, get, move, copy.+  * get, move, copy: Can now be run in a bare repository,+    like fsck already could. --all is enabled automatically in this case.+  * merge: Now also merges synced/master or similar branches, which +    makes it useful to put in a post-receive hook to make a repository+    automatically update its working copy when git annex sync or the assistant+    sync with it.+  * webapp: Fix ssh setup with nonstandard port, broken in last release.+  * init: Detect systems on which git commit fails due to not being able to+    determine the FQDN, and put in a workaround so committing to the git-annex+    branch works.+  * addurl --pathdepth: Fix failure when the pathdepth specified is deeper+    than the urls's path.+  * Windows: Look for .exe extension when searching for a command in path.+  * Pass -f to curl when downloading a file with it, so it propigates failure. +  * Windows: Fix url to object when using a http remote.+  * webapp: Fix authorized_keys line added when setting up a rsync remote+    on a server that also supports git-annex, to not force running+    git-annex-shell.+  * OSX Mountain Lion: Fixed gpg bundled in dmg to not fail due to a missing+    gpg-agent.+  * Android: gpg is built without --enable-minimal, so it interoperates+    better with other gpg builds that may default to using other algorithms+    for encryption.+  * dropunused, addunused: Complain when asked to operate on a number that+    does not correspond to any unused key.+  * fsck: Don't claim to fix direct mode when run on a symlink whose content+    is not present.+  * Make --numcopies override annex.numcopies set in .gitattributes.++ -- Joey Hess <joeyh@debian.org>  Tue, 09 Jul 2013 13:55:39 -0400+ git-annex (4.20130627) unstable; urgency=low    * assistant --autostart: Automatically ionices the daemons it starts.
Command.hs view
@@ -99,7 +99,11 @@ isBareRepo = fromRepo Git.repoIsLocalBare  numCopies :: FilePath  -> Annex (Maybe Int)-numCopies file = readish <$> checkAttr "annex.numcopies" file+numCopies file = do+	forced <- Annex.getState Annex.forcenumcopies+	case forced of+		Just n -> return $ Just n+		Nothing -> readish <$> checkAttr "annex.numcopies" file  numCopiesCheck :: FilePath -> Key -> (Int -> Int -> Bool) -> Annex Bool numCopiesCheck file key vs = do
Command/AddUnused.hs view
@@ -8,10 +8,10 @@ module Command.AddUnused where  import Common.Annex-import Logs.Unused import Logs.Location import Command import qualified Command.Add+import Command.Unused (withUnusedMaps, UnusedMaps(..), startUnused) import Types.Key  def :: [Command]
Command/AddUrl.hs view
@@ -151,6 +151,7 @@ url2file url pathdepth = case pathdepth of 	Nothing -> filesize $ escape fullurl 	Just depth+		| depth >= length urlbits -> frombits id 		| depth > 0 -> frombits $ drop depth 		| depth < 0 -> frombits $ reverse . take (negate depth) . reverse 		| otherwise -> error "bad --pathdepth"
Command/Copy.hs view
@@ -14,13 +14,16 @@ import Annex.Wanted  def :: [Command]-def = [withOptions Command.Move.options $ command "copy" paramPaths seek+def = [withOptions Command.Move.moveOptions $ command "copy" paramPaths seek 	SectionCommon "copy content of files to/from another repository"]  seek :: [CommandSeek]-seek = [withField Command.Move.toOption Remote.byNameWithUUID $ \to ->-		withField Command.Move.fromOption Remote.byNameWithUUID $ \from ->-			withFilesInGit $ whenAnnexed $ start to from]+seek =+	[ withField Command.Move.toOption Remote.byNameWithUUID $ \to ->+	  withField Command.Move.fromOption Remote.byNameWithUUID $ \from ->+	  withKeyOptions (Command.Move.startKey to from False) $+	  withFilesInGit $ whenAnnexed $ start to from+	]  {- A copy is just a move that does not delete the source file.  - However, --auto mode avoids unnecessary copies, and avoids getting or@@ -33,4 +36,3 @@ 	check = case to of 		Nothing -> wantGet False (Just file) 		Just r -> wantSend False (Just file) (Remote.uuid r)-		
Command/DropUnused.hs view
@@ -7,7 +7,6 @@  module Command.DropUnused where -import Logs.Unused import Common.Annex import Command import qualified Annex@@ -15,6 +14,7 @@ import qualified Remote import qualified Git import qualified Option+import Command.Unused (withUnusedMaps, UnusedMaps(..), startUnused)  def :: [Command] def = [withOptions [Command.Drop.fromOption] $
Command/Fsck.hs view
@@ -33,6 +33,7 @@ import Types.Key import Utility.HumanTime import Git.FilePath+import GitAnnex.Options  #ifndef __WINDOWS__ import System.Posix.Process (getProcessID)@@ -45,7 +46,7 @@ import System.Locale  def :: [Command]-def = [withOptions options $ command "fsck" paramPaths seek+def = [withOptions fsckOptions $ command "fsck" paramPaths seek 	SectionMaintenance "check for problems"]  fromOption :: Option@@ -61,19 +62,20 @@ incrementalScheduleOption = Option.field [] "incremental-schedule" paramTime 	"schedule incremental fscking" -options :: [Option]-options = +fsckOptions :: [Option]+fsckOptions =  	[ fromOption 	, startIncrementalOption 	, moreIncrementalOption 	, incrementalScheduleOption-	]+	] ++ keyOptions  seek :: [CommandSeek] seek = 	[ withField fromOption Remote.byNameWithUUID $ \from ->-	  withIncremental $ \i -> withFilesInGit $ whenAnnexed $ start from i-	, withIncremental $ \i -> withBarePresentKeys $ startBare i+	  withIncremental $ \i ->+	  withKeyOptions (startKey i) $+	  withFilesInGit $ whenAnnexed $ start from i 	]  withIncremental :: (Incremental -> CommandSeek) -> CommandSeek@@ -170,26 +172,15 @@ 			) 	dummymeter _ = noop -{- To fsck a bare repository, fsck each key in the location log. -}-withBarePresentKeys :: (Key -> CommandStart) -> CommandSeek-withBarePresentKeys a params = isBareRepo >>= go-  where-	go False = return []-	go True = do-		unless (null params) $-			error "fsck should be run without parameters in a bare repository"-		map a <$> loggedKeys--startBare :: Incremental -> Key -> CommandStart-startBare inc key = case Backend.maybeLookupBackendName (Types.Key.keyBackendName key) of+startKey :: Incremental -> Key -> CommandStart+startKey inc key = case Backend.maybeLookupBackendName (Types.Key.keyBackendName key) of 	Nothing -> stop-	Just backend -> runFsck inc (key2file key) key $ performBare key backend+	Just backend -> runFsck inc (key2file key) key $ performAll key backend -{- Note that numcopies cannot be checked in a bare repository, because- - getting the numcopies value requires a working copy with .gitattributes- - files. -}-performBare :: Key -> Backend -> Annex Bool-performBare key backend = check+{- Note that numcopies cannot be checked in --all mode, since we do not+ - have associated filenames to look up in the .gitattributes file. -}+performAll :: Key -> Backend -> Annex Bool+performAll key backend = check 	[ verifyLocationLog key (key2file key) 	, checkKeySize key 	, checkBackend backend key Nothing
Command/Get.hs view
@@ -1,6 +1,6 @@ {- git-annex command  -- - Copyright 2010 Joey Hess <joey@kitenet.net>+ - Copyright 2010, 2013 Joey Hess <joey@kitenet.net>  -  - Licensed under the GNU GPL version 3 or higher.  -}@@ -14,37 +14,52 @@ import qualified Command.Move import Logs.Transfer import Annex.Wanted+import GitAnnex.Options+import Types.Key  def :: [Command]-def = [withOptions [Command.Move.fromOption] $ command "get" paramPaths seek+def = [withOptions getOptions $ command "get" paramPaths seek 	SectionCommon "make content of annexed files available"] +getOptions :: [Option]+getOptions = [Command.Move.fromOption] ++ keyOptions+ seek :: [CommandSeek]-seek = [withField Command.Move.fromOption Remote.byNameWithUUID $ \from ->-	withFilesInGit $ whenAnnexed $ start from]+seek = +	[ withField Command.Move.fromOption Remote.byNameWithUUID $ \from ->+	  withKeyOptions (startKeys from) $+	  withFilesInGit $ whenAnnexed $ start from+	]  start :: Maybe Remote -> FilePath -> (Key, Backend) -> CommandStart-start from file (key, _) = stopUnless (not <$> inAnnex key) $-	stopUnless (checkAuto (numCopiesCheck file key (<) <||> wantGet False (Just file))) $ do+start from file (key, _) = start' expensivecheck from key (Just file)+  where+	expensivecheck = checkAuto (numCopiesCheck file key (<) <||> wantGet False (Just file))++startKeys :: Maybe Remote -> Key -> CommandStart+startKeys from key = start' (return True) from key Nothing++start' :: Annex Bool -> Maybe Remote -> Key -> AssociatedFile -> CommandStart+start' expensivecheck from key afile = stopUnless (not <$> inAnnex key) $+	stopUnless expensivecheck $ 		case from of-			Nothing -> go $ perform key file+			Nothing -> go $ perform key afile 			Just src ->-				-- get --from = copy --from 				stopUnless (Command.Move.fromOk src key) $-					go $ Command.Move.fromPerform src False key file+					go $ Command.Move.fromPerform src False key afile   where-	go a = do-		showStart "get" file+  	go a = do+		showStart "get" (fromMaybe (key2file key) afile) 		next a -perform :: Key -> FilePath -> CommandPerform-perform key file = stopUnless (getViaTmp key $ getKeyFile key file) $+perform :: Key -> AssociatedFile -> CommandPerform+perform key afile = stopUnless (getViaTmp key $ getKeyFile key afile) $ 	next $ return True -- no cleanup needed  {- Try to find a copy of the file in one of the remotes,  - and copy it to here. -}-getKeyFile :: Key -> FilePath -> FilePath -> Annex Bool-getKeyFile key file dest = dispatch =<< Remote.keyPossibilities key+getKeyFile :: Key -> AssociatedFile -> FilePath -> Annex Bool+getKeyFile key afile dest = dispatch =<< Remote.keyPossibilities key   where 	dispatch [] = do 		showNote "not available"@@ -69,7 +84,7 @@ 			either (const False) id <$> Remote.hasKey r key 		| otherwise = return True 	docopy r continue = do-		ok <- download (Remote.uuid r) key (Just file) noRetry $ \p -> do+		ok <- download (Remote.uuid r) key afile noRetry $ \p -> do 			showAction $ "from " ++ Remote.name r-			Remote.retrieveKeyFile r key (Just file) dest p+			Remote.retrieveKeyFile r key afile dest p 		if ok then return ok else continue
Command/Merge.hs view
@@ -1,6 +1,6 @@ {- git-annex command  -- - Copyright 2011 Joey Hess <joey@kitenet.net>+ - Copyright 2011, 2013 Joey Hess <joey@kitenet.net>  -  - Licensed under the GNU GPL version 3 or higher.  -}@@ -10,22 +10,29 @@ import Common.Annex import Command import qualified Annex.Branch+import qualified Git.Branch+import Command.Sync (mergeLocal)  def :: [Command] def = [command "merge" paramNothing seek SectionMaintenance-	"auto-merge remote changes into git-annex branch"]+	"automatically merge changes from remotes"]  seek :: [CommandSeek]-seek = [withNothing start]+seek =+	[ withNothing mergeBranch+	, withNothing mergeSynced+	] -start :: CommandStart-start = do-	showStart "merge" "."-	next perform+mergeBranch :: CommandStart+mergeBranch = do+	showStart "merge" "git-annex"+	next $ do+		Annex.Branch.update+		-- commit explicitly, in case no remote branches were merged+		Annex.Branch.commit "update"+		next $ return True -perform :: CommandPerform-perform = do-	Annex.Branch.update-	-- commit explicitly, in case no remote branches were merged-	Annex.Branch.commit "update"-	next $ return True+mergeSynced :: CommandStart+mergeSynced = do+	branch <- inRepo Git.Branch.current+	maybe stop mergeLocal branch
Command/Move.hs view
@@ -1,6 +1,6 @@ {- git-annex command  -- - Copyright 2010-2011 Joey Hess <joey@kitenet.net>+ - Copyright 2010-2013 Joey Hess <joey@kitenet.net>  -  - Licensed under the GNU GPL version 3 or higher.  -}@@ -17,9 +17,11 @@ import qualified Option import Logs.Presence import Logs.Transfer+import GitAnnex.Options+import Types.Key  def :: [Command]-def = [withOptions options $ command "move" paramPaths seek+def = [withOptions moveOptions $ command "move" paramPaths seek 	SectionCommon "move content of files to/from another repository"]  fromOption :: Option@@ -28,29 +30,40 @@ toOption :: Option toOption = Option.field ['t'] "to" paramRemote "destination remote" -options :: [Option]-options = [fromOption, toOption]+moveOptions :: [Option]+moveOptions = [fromOption, toOption] ++ keyOptions  seek :: [CommandSeek]-seek = [withField toOption Remote.byNameWithUUID $ \to ->-		withField fromOption Remote.byNameWithUUID $ \from ->-			withFilesInGit $ whenAnnexed $ start to from True]+seek = +	[ withField toOption Remote.byNameWithUUID $ \to ->+	  withField fromOption Remote.byNameWithUUID $ \from ->+	  withKeyOptions (startKey to from True) $+	  withFilesInGit $ whenAnnexed $ start to from True+	]  start :: Maybe Remote -> Maybe Remote -> Bool -> FilePath -> (Key, Backend) -> CommandStart-start to from move file (key, _) = do+start to from move file (key, _) = start' to from move (Just file) key++startKey :: Maybe Remote -> Maybe Remote -> Bool -> Key -> CommandStart+startKey to from move key = start' to from move Nothing key++start' :: Maybe Remote -> Maybe Remote -> Bool -> AssociatedFile -> Key -> CommandStart+start' to from move afile key = do 	noAuto 	case (from, to) of 		(Nothing, Nothing) -> error "specify either --from or --to"-		(Nothing, Just dest) -> toStart dest move file key-		(Just src, Nothing) -> fromStart src move file key+		(Nothing, Just dest) -> toStart dest move afile key+		(Just src, Nothing) -> fromStart src move afile key 		(_ ,  _) -> error "only one of --from or --to can be specified"   where 	noAuto = when move $ whenM (Annex.getState Annex.auto) $ error 		"--auto is not supported for move" -showMoveAction :: Bool -> FilePath -> Annex ()-showMoveAction True file = showStart "move" file-showMoveAction False file = showStart "copy" file+showMoveAction :: Bool -> Key -> AssociatedFile -> Annex ()+showMoveAction True _ (Just file) = showStart "move" file+showMoveAction False _ (Just file) = showStart "copy" file+showMoveAction True key Nothing = showStart "move" (key2file key)+showMoveAction False key Nothing = showStart "copy" (key2file key)  {- Moves (or copies) the content of an annexed file to a remote.  -@@ -61,17 +74,17 @@  - A file's content can be moved even if there are insufficient copies to  - allow it to be dropped.  -}-toStart :: Remote -> Bool -> FilePath -> Key -> CommandStart-toStart dest move file key = do+toStart :: Remote -> Bool -> AssociatedFile -> Key -> CommandStart+toStart dest move afile key = do 	u <- getUUID 	ishere <- inAnnex key 	if not ishere || u == Remote.uuid dest 		then stop -- not here, so nothing to do 		else do-			showMoveAction move file-			next $ toPerform dest move key file-toPerform :: Remote -> Bool -> Key -> FilePath -> CommandPerform-toPerform dest move key file = moveLock move key $ do+			showMoveAction move key afile+			next $ toPerform dest move key afile+toPerform :: Remote -> Bool -> Key -> AssociatedFile -> CommandPerform+toPerform dest move key afile = moveLock move key $ do 	-- Checking the remote is expensive, so not done in the start step. 	-- In fast mode, location tracking is assumed to be correct, 	-- and an explicit check is not done, when copying. When moving,@@ -87,8 +100,8 @@ 			stop 		Right False -> do 			showAction $ "to " ++ Remote.name dest-			ok <- upload (Remote.uuid dest) key (Just file) noRetry $-				Remote.storeKey dest key (Just file)+			ok <- upload (Remote.uuid dest) key afile noRetry $+				Remote.storeKey dest key afile 			if ok 				then do 					Remote.logStatus dest key InfoPresent@@ -117,14 +130,14 @@  - If the current repository already has the content, it is still removed  - from the remote.  -}-fromStart :: Remote -> Bool -> FilePath -> Key -> CommandStart-fromStart src move file key+fromStart :: Remote -> Bool -> AssociatedFile -> Key -> CommandStart+fromStart src move afile key 	| move = go 	| otherwise = stopUnless (not <$> inAnnex key) go   where 	go = stopUnless (fromOk src key) $ do-		showMoveAction move file-		next $ fromPerform src move key file+		showMoveAction move key afile+		next $ fromPerform src move key afile  fromOk :: Remote -> Key -> Annex Bool fromOk src key@@ -137,16 +150,16 @@ 		remotes <- Remote.keyPossibilities key 		return $ u /= Remote.uuid src && elem src remotes -fromPerform :: Remote -> Bool -> Key -> FilePath -> CommandPerform-fromPerform src move key file = moveLock move key $+fromPerform :: Remote -> Bool -> Key -> AssociatedFile -> CommandPerform+fromPerform src move key afile = moveLock move key $ 	ifM (inAnnex key) 		( handle move True 		, handle move =<< go 		)   where-	go = download (Remote.uuid src) key (Just file) noRetry $ \p -> do+	go = download (Remote.uuid src) key afile noRetry $ \p -> do 		showAction $ "from " ++ Remote.name src-		getViaTmp key $ \t -> Remote.retrieveKeyFile src key (Just file) t p+		getViaTmp key $ \t -> Remote.retrieveKeyFile src key afile t p 	handle _ False = stop -- failed 	handle False True = next $ return True -- copy complete 	handle True True = do -- finish moving
Command/TransferKey.hs view
@@ -24,7 +24,7 @@ 		"transfers a key from or to a remote"]  options :: [Option]-options = fileOption : Command.Move.options+options = [fileOption, Command.Move.fromOption, Command.Move.toOption]  fileOption :: Option fileOption = Option.field [] "file" paramFile "the associated file"
Command/TransferKeys.hs view
@@ -15,7 +15,6 @@ import Logs.Location import Logs.Transfer import qualified Remote-import Types.Remote (AssociatedFile) import Types.Key import qualified Option 
Command/Unused.hs view
@@ -15,6 +15,7 @@ import Data.BloomFilter.Easy import Data.BloomFilter.Hash import Control.Monad.ST+import qualified Data.Map as M  import Common.Annex import Command@@ -311,3 +312,49 @@ 			return $ mapMaybe (fileKey . takeFileName) files 		, return [] 		)++data UnusedMaps = UnusedMaps+	{ unusedMap :: UnusedMap+	, unusedBadMap :: UnusedMap+	, unusedTmpMap :: UnusedMap+	}++{- Read unused logs once, and pass the maps to each start action. -}+withUnusedMaps :: (UnusedMaps -> Int -> CommandStart) -> CommandSeek+withUnusedMaps a params = do+	unused <- readUnusedLog ""+	unusedbad <- readUnusedLog "bad"+	unusedtmp <- readUnusedLog "tmp"+	return $ map (a $ UnusedMaps unused unusedbad unusedtmp) $+		concatMap unusedSpec params++unusedSpec :: String -> [Int]+unusedSpec spec+	| "-" `isInfixOf` spec = range $ separate (== '-') spec+	| otherwise = maybe badspec (: []) (readish spec)+  where+	range (a, b) = case (readish a, readish b) of+		(Just x, Just y) -> [x..y]+		_ -> badspec+	badspec = error $ "Expected number or range, not \"" ++ spec ++ "\""++{- Start action for unused content. Finds the number in the maps, and+ - calls either of 3 actions, depending on the type of unused file. -}+startUnused :: String+	-> (Key -> CommandPerform)+	-> (Key -> CommandPerform) +	-> (Key -> CommandPerform)+	-> UnusedMaps -> Int -> CommandStart+startUnused message unused badunused tmpunused maps n = search+	[ (unusedMap maps, unused)+	, (unusedBadMap maps, badunused)+	, (unusedTmpMap maps, tmpunused)+	]+  where+	search [] = error $ show n ++ " not valid (run git annex unused for list)"+	search ((m, a):rest) =+		case M.lookup n m of+			Nothing -> search rest+			Just key -> do+				showStart message (show n)+				next $ a key
Common.o view

binary file changed (622 → 622 bytes)

Config/Files.o view

binary file changed (13076 → 15108 bytes)

GitAnnex/Options.hs view
@@ -53,8 +53,15 @@ 	] ++ Option.matcher   where 	setnumcopies v = maybe noop-		(\n -> Annex.changeGitConfig $ \c -> c { annexNumCopies = n })+		(\n -> Annex.changeState $ \s -> s { Annex.forcenumcopies = Just n }) 		(readish v) 	setgitconfig v = Annex.changeGitRepo =<< inRepo (Git.Config.store v)- 	trustArg t = ReqArg (Remote.forceTrust t) paramRemote++keyOptions :: [Option]+keyOptions = +	[ Option ['A'] ["all"] (NoArg (Annex.setFlag "all"))+		"operate on all versions of all files"+	, Option ['U'] ["unused"] (NoArg (Annex.setFlag "unused"))+		"operate on files found by last run of git-annex unused"+	]
Init.hs view
@@ -32,6 +32,7 @@ import Config import Annex.Direct import Annex.Content.Direct+import Annex.Environment import Backend  genDescription :: Maybe String -> Annex String@@ -53,11 +54,14 @@ 	setVersion defaultVersion 	checkCrippledFileSystem 	checkFifoSupport-	Annex.Branch.create 	gitPreCommitHookWrite 	createInodeSentinalFile 	u <- getUUID-	describeUUID u =<< genDescription mdescription+	{- This will make the first commit to git, so ensure git is set up+	 - properly to allow commits when running it. -}+	ensureCommit $ do+		Annex.Branch.create+		describeUUID u =<< genDescription mdescription  uninitialize :: Annex () uninitialize = do
− Locations/UserConfig.o

binary file changed (21632 → absent bytes)

Logs/Transfer.hs view
@@ -13,7 +13,6 @@ import Annex.Perms import Annex.Exception import qualified Git-import Types.Remote import Types.Key import Utility.Metered import Utility.Percentage
Logs/Unused.hs view
@@ -7,20 +7,19 @@  module Logs.Unused ( 	UnusedMap,-	UnusedMaps(..), 	writeUnusedLog, 	readUnusedLog,-	withUnusedMaps,-	startUnused,+	unusedKeys, ) where  import qualified Data.Map as M  import Common.Annex-import Command import Types.Key import Utility.Tmp +type UnusedMap = M.Map Int Key+ writeUnusedLog :: FilePath -> [(Int, Key)] -> Annex () writeUnusedLog prefix l = do 	logfile <- fromRepo $ gitAnnexUnusedLog prefix@@ -42,50 +41,5 @@ 	  where 		(tag, rest) = separate (== ' ') line -type UnusedMap = M.Map Int Key--data UnusedMaps = UnusedMaps-	{ unusedMap :: UnusedMap-	, unusedBadMap :: UnusedMap-	, unusedTmpMap :: UnusedMap-	}--{- Read unused logs once, and pass the maps to each start action. -}-withUnusedMaps :: (UnusedMaps -> Int -> CommandStart) -> CommandSeek-withUnusedMaps a params = do-	unused <- readUnusedLog ""-	unusedbad <- readUnusedLog "bad"-	unusedtmp <- readUnusedLog "tmp"-	return $ map (a $ UnusedMaps unused unusedbad unusedtmp) $-		concatMap unusedSpec params--unusedSpec :: String -> [Int]-unusedSpec spec-	| "-" `isInfixOf` spec = range $ separate (== '-') spec-	| otherwise = maybe badspec (: []) (readish spec)-  where-	range (a, b) = case (readish a, readish b) of-		(Just x, Just y) -> [x..y]-		_ -> badspec-	badspec = error $ "Expected number or range, not \"" ++ spec ++ "\""--{- Start action for unused content. Finds the number in the maps, and- - calls either of 3 actions, depending on the type of unused file. -}-startUnused :: String-	-> (Key -> CommandPerform)-	-> (Key -> CommandPerform) -	-> (Key -> CommandPerform)-	-> UnusedMaps -> Int -> CommandStart-startUnused message unused badunused tmpunused maps n = search-	[ (unusedMap maps, unused)-	, (unusedBadMap maps, badunused)-	, (unusedTmpMap maps, tmpunused)-	]-  where-	search [] = stop-	search ((m, a):rest) =-		case M.lookup n m of-			Nothing -> search rest-			Just key -> do-				showStart message (show n)-				next $ a key+unusedKeys :: Annex [Key]+unusedKeys = M.elems <$> readUnusedLog ""
Remote/Git.hs view
@@ -266,9 +266,14 @@ 		a  keyUrls :: Git.Repo -> Key -> [String]-keyUrls r key = map tourl (annexLocations key)+keyUrls r key = map tourl locs   where 	tourl l = Git.repoLocation r ++ "/" ++ l+#ifndef __WINDOWS__+	locs = annexLocations key+#else+	locs = replace "\\" "/" $ annexLocations key+#endif  dropKey :: Remote -> Key -> Annex Bool dropKey r key
Seek.hs view
@@ -4,7 +4,7 @@  - the values a user passes to a command, and prepare actions operating  - on them.  -- - Copyright 2010-2012 Joey Hess <joey@kitenet.net>+ - Copyright 2010-2013 Joey Hess <joey@kitenet.net>  -  - Licensed under the GNU GPL version 3 or higher.  -}@@ -24,6 +24,8 @@ import qualified Limit import qualified Option import Config+import Logs.Location+import Logs.Unused  seekHelper :: ([FilePath] -> Git.Repo -> IO ([FilePath], IO Bool)) -> [FilePath] -> Annex [FilePath] seekHelper a params = do@@ -121,6 +123,33 @@ withNothing a [] = return [a] withNothing _ _ = error "This command takes no parameters." +{- If --all is specified, or in a bare repo, runs an action on all+ - known keys.+ -+ - If --unused is specified, runs an action on all keys found by+ - the last git annex unused scan.+ -+ - Otherwise, fall back to a regular CommandSeek action on+ - whatever params were passed. -}+withKeyOptions :: (Key -> CommandStart) -> CommandSeek -> CommandSeek+withKeyOptions keyop fallbackop params = do+	bare <- fromRepo Git.repoIsLocalBare+	allkeys <- Annex.getFlag "all" <||> pure bare+	unused <- Annex.getFlag "unused"+	auto <- Annex.getState Annex.auto+	case    (allkeys , unused, auto ) of+		(True    , False , False) -> go loggedKeys+		(False   , True  , False) -> go unusedKeys+		(True    , True  , _    ) -> error "Cannot use --all with --unused."+		(False   , False , _    ) -> fallbackop params+		(_       , _     , True )+			| bare -> error "Cannot use --auto in a bare repository."+			| otherwise -> error "Cannot use --auto with --all or --unused."+  where+  	go a = do+		unless (null params) $+			error "Cannot mix --all or --unused with file names."+		map keyop <$> a  prepFiltered :: (FilePath -> CommandStart) -> Annex [FilePath] -> Annex [CommandStart] prepFiltered a fs = do
Setup.o view

binary file changed (10440 → 10440 bytes)

Test.hs view
@@ -582,9 +582,9 @@ 		@? "dropkey failed" 	checkunused [sha1annexedfilekey] ("after dropkey --force " ++ Types.Key.key2file annexedfilekey) -	git_annex env "dropunused" ["1", "2"] @? "dropunused failed"+	git_annex env "dropunused" ["1"] @? "dropunused failed" 	checkunused [] "after dropunused"-	git_annex env "dropunused" ["10", "501"] @? "dropunused failed on bogus numbers"+	not <$> git_annex env "dropunused" ["10", "501"] @? "dropunused failed to fail on bogus numbers"    where 	checkunused expectedkeys desc = do
Types.hs view
@@ -9,6 +9,7 @@ 	Annex, 	Backend, 	Key,+	AssociatedFile, 	UUID(..), 	GitConfig(..), 	RemoteGitConfig(..),
Types/Key.hs view
@@ -9,6 +9,7 @@  module Types.Key ( 	Key(..),+	AssociatedFile, 	stubKey, 	key2file, 	file2key,@@ -21,22 +22,25 @@ import Common import Utility.QuickCheck -{- A Key has a unique name, is associated with a key/value backend,+{- A Key has a unique name, which is derived from a particular backend,  - and may contain other optional metadata. -}-data Key = Key {-	keyName :: String,-	keyBackendName :: String,-	keySize :: Maybe Integer,-	keyMtime :: Maybe EpochTime-} deriving (Eq, Ord, Read, Show)+data Key = Key+	{ keyName :: String+	, keyBackendName :: String+	, keySize :: Maybe Integer+	, keyMtime :: Maybe EpochTime+	} deriving (Eq, Ord, Read, Show) +{- A filename may be associated with a Key. -}+type AssociatedFile = Maybe FilePath+ stubKey :: Key-stubKey = Key {-	keyName = "",-	keyBackendName = "",-	keySize = Nothing,-	keyMtime = Nothing-}+stubKey = Key+	{ keyName = ""+	, keyBackendName = ""+	, keySize = Nothing+	, keyMtime = Nothing+	}  fieldSep :: Char fieldSep = '-'
Types/Remote.hs view
@@ -37,9 +37,6 @@ instance Eq (RemoteTypeA a) where 	x == y = typename x == typename y -{- A filename associated with a Key, for display to user. -}-type AssociatedFile = Maybe FilePath- {- An individual remote. -} data RemoteA a = Remote { 	-- each Remote has a unique uuid
Utility/Applicative.o view

binary file changed (1308 → 1308 bytes)

Utility/Directory.o view

binary file changed (15324 → 15500 bytes)

+ Utility/Env.o view

binary file changed (absent → 3664 bytes)

Utility/Exception.o view

binary file changed (7228 → 8648 bytes)

+ Utility/ExternalSHA.o view

binary file changed (absent → 11664 bytes)

Utility/FileSystemEncoding.o view

binary file changed (5668 → 5672 bytes)

Utility/FreeDesktop.o view

binary file changed (21064 → 21064 bytes)

Utility/Misc.o view

binary file changed (19232 → 19232 bytes)

Utility/Monad.o view

binary file changed (7376 → 8204 bytes)

Utility/OSX.o view

binary file changed (8808 → 8808 bytes)

Utility/PartialPrelude.o view

binary file changed (5456 → 5448 bytes)

Utility/Path.hs view
@@ -181,7 +181,12 @@ 	| otherwise = getSearchPath >>= getM indir   where 	indir d = check $ d </> command-	check f = ifM (doesFileExist f) ( return (Just f), return Nothing )+	check f = firstM doesFileExist+#ifdef __WINDOWS__+		[f, f ++ ".exe"]+#else+		[f]+#endif  {- Checks if a filename is a unix dotfile. All files inside dotdirs  - count as dotfiles. -}
Utility/Path.o view

binary file changed (23740 → 28996 bytes)

Utility/Process.hs view
@@ -296,16 +296,6 @@ 	go (ShellCommand s) = s 	go (RawCommand c ps) = c ++ " " ++ show ps -{- Wrappers for System.Process functions that do debug logging.- - - - More could be added, but these are the only ones I usually need.- -}--createProcess :: CreateProcess -> IO (Maybe Handle, Maybe Handle, Maybe Handle, ProcessHandle)-createProcess p = do-	debugProcess p-	System.Process.createProcess p- {- Starts an interactive process. Unlike runInteractiveProcess in  - System.Process, stderr is inherited. -} startInteractiveProcess@@ -322,3 +312,9 @@ 		} 	(Just from, Just to, _, pid) <- createProcess p 	return (pid, to, from)++{- Wrapper around System.Process function that does debug logging. -}+createProcess :: CreateProcess -> IO (Maybe Handle, Maybe Handle, Maybe Handle, ProcessHandle)+createProcess p = do+	debugProcess p+	System.Process.createProcess p
Utility/Process.o view

binary file changed (42568 → 43108 bytes)

Utility/SafeCommand.o view

binary file changed (28136 → 28164 bytes)

− Utility/TempFile.o

binary file changed (11404 → absent bytes)

+ Utility/Tmp.o view

binary file changed (absent → 12272 bytes)

Utility/Url.hs view
@@ -116,7 +116,8 @@ 	 - the remainder to download as the whole file, 	 - and not indicating how much percent was 	 - downloaded before the resume. -}-	curl = go "curl" $ headerparams ++ quietopt "-s" ++ [Params "-L -C - -# -o"]+	curl = go "curl" $ headerparams ++ quietopt "-s" +++		[Params "-f -L -C - -# -o"] 	go cmd opts = boolSystem cmd $ 		options++opts++[File file, File url] 	quietopt s
Utility/UserInfo.o view

binary file changed (6328 → 6304 bytes)

Utility/Yesod.hs view
@@ -12,9 +12,11 @@  module Utility.Yesod  	( module Y+	, liftH+#ifndef __ANDROID__ 	, widgetFile 	, hamletTemplate-	, liftH+#endif #if ! MIN_VERSION_yesod(1,2,0) 	, giveUrlRenderer 	, Html@@ -33,7 +35,9 @@ import Data.Default (def) import Text.Hamlet hiding (Html) #endif+#endif +#ifndef __ANDROID__ widgetFile :: String -> Q Exp #if ! MIN_VERSION_yesod_default(1,1,0) widgetFile = widgetFileNoReload
debian/changelog view
@@ -1,3 +1,41 @@+git-annex (4.20130709) unstable; urgency=low++  * --all: New switch that makes git-annex operate on all data stored+    in the git annex, including old versions of files. Supported by+    fsck, get, move, copy.+  * --unused: New switch that makes git-annex operate on all data found+    by the last run of git annex unused. Supported by fsck, get, move, copy.+  * get, move, copy: Can now be run in a bare repository,+    like fsck already could. --all is enabled automatically in this case.+  * merge: Now also merges synced/master or similar branches, which +    makes it useful to put in a post-receive hook to make a repository+    automatically update its working copy when git annex sync or the assistant+    sync with it.+  * webapp: Fix ssh setup with nonstandard port, broken in last release.+  * init: Detect systems on which git commit fails due to not being able to+    determine the FQDN, and put in a workaround so committing to the git-annex+    branch works.+  * addurl --pathdepth: Fix failure when the pathdepth specified is deeper+    than the urls's path.+  * Windows: Look for .exe extension when searching for a command in path.+  * Pass -f to curl when downloading a file with it, so it propigates failure. +  * Windows: Fix url to object when using a http remote.+  * webapp: Fix authorized_keys line added when setting up a rsync remote+    on a server that also supports git-annex, to not force running+    git-annex-shell.+  * OSX Mountain Lion: Fixed gpg bundled in dmg to not fail due to a missing+    gpg-agent.+  * Android: gpg is built without --enable-minimal, so it interoperates+    better with other gpg builds that may default to using other algorithms+    for encryption.+  * dropunused, addunused: Complain when asked to operate on a number that+    does not correspond to any unused key.+  * fsck: Don't claim to fix direct mode when run on a symlink whose content+    is not present.+  * Make --numcopies override annex.numcopies set in .gitattributes.++ -- Joey Hess <joeyh@debian.org>  Tue, 09 Jul 2013 13:55:39 -0400+ git-annex (4.20130627) unstable; urgency=low    * assistant --autostart: Automatically ionices the daemons it starts.
− debian/files
@@ -1,1 +0,0 @@-git-annex_4.20130501~bpo70+1_i386.deb utils optional
− debian/git-annex.debhelper.log
@@ -1,47 +0,0 @@-dh_auto_configure-dh_auto_build-dh_auto_test-dh_prep-dh_installdirs-dh_auto_install-dh_install-dh_installdocs-dh_installchangelogs-dh_installexamples-dh_installman-dh_installcatalogs-dh_installcron-dh_installdebconf-dh_installemacsen-dh_installifupdown-dh_installinfo-dh_installinit-dh_installmenu-dh_installmime-dh_installmodules-dh_installlogcheck-dh_installlogrotate-dh_installpam-dh_installppp-dh_installudev-dh_installwm-dh_installxfonts-dh_installgsettings-dh_bugfiles-dh_ucf-dh_lintian-dh_gconf-dh_icons-dh_perl-dh_usrlocal-dh_link-dh_compress-dh_fixperms-dh_strip-dh_makeshlibs-dh_shlibdeps-dh_installdeb-dh_gencontrol-dh_md5sums-dh_builddeb-dh_builddeb
− debian/git-annex.substvars
@@ -1,2 +0,0 @@-shlibs:Depends=libc6 (>= 2.3.6-6~), libc6 (>= 2.7), libffi5 (>= 3.0.4), libgmp10, libgnutls26 (>= 2.12.17-0), libgsasl7 (>= 1.4), libidn11 (>= 1.13), libxml2 (>= 2.7.4), libyaml-0-2, zlib1g (>= 1:1.1.4)-misc:Depends=
− debian/git-annex/DEBIAN/conffiles
@@ -1,1 +0,0 @@-/etc/xdg/autostart/git-annex.desktop
− debian/git-annex/DEBIAN/control
@@ -1,24 +0,0 @@-Package: git-annex-Version: 4.20130501~bpo70+1-Architecture: i386-Maintainer: Joey Hess <joeyh@debian.org>-Installed-Size: 33901-Depends: libc6 (>= 2.7), libffi5 (>= 3.0.4), libgmp10, libgnutls26 (>= 2.12.17-0), libgsasl7 (>= 1.4), libidn11 (>= 1.13), libxml2 (>= 2.7.4), libyaml-0-2, zlib1g (>= 1:1.1.4), git (>= 1:1.7.7.6), rsync, wget, curl, openssh-client (>= 1:5.6p1)-Recommends: lsof, gnupg, bind9-host-Suggests: graphviz, bup, libnss-mdns-Section: utils-Priority: optional-Homepage: http://git-annex.branchable.com/-Description: manage files with git, without checking their contents into git- git-annex allows managing files with git, without checking the file- contents into git. While that may seem paradoxical, it is useful when- dealing with files larger than git can currently easily handle, whether due- to limitations in memory, time, or disk space.- .- Even without file content tracking, being able to manage files with git,- move files around and delete files with versioned directory trees, and use- branches and distributed clones, are all very handy reasons to use git. And- annexed files can co-exist in the same git repository with regularly- versioned files, which is convenient for maintaining documents, Makefiles,- etc that are associated with annexed files but that benefit from full- revision control.
− debian/git-annex/DEBIAN/md5sums
@@ -1,232 +0,0 @@-de541a7dde3855a51ed868c8863a7ef3  usr/bin/git-annex-938c1214dca79e4e9a876a7b52504dd8  usr/share/applications/git-annex.desktop-2ef419c4a13022ede5561da5b1914f62  usr/share/doc-base/git-annex-008556d24900b7f08cfeea8da49cd464  usr/share/doc/git-annex/NEWS.Debian.gz-03d9278f03320319db5f95f0376023e6  usr/share/doc/git-annex/changelog.gz-dfc4775bd2a7d941b819e734ec9b7e73  usr/share/doc/git-annex/copyright-685b88e3fc5b468399c86462027cc3dd  usr/share/doc/git-annex/html/assistant.html-6713a86e655998384c46fb7460988b57  usr/share/doc/git-annex/html/assistant/addsshserver.png-ebcfa646439b9df0b54cb7bd31ae20ec  usr/share/doc/git-annex/html/assistant/android/appinstalled.png-9fd3bdafbdc2f5d4266bd313f9b655e8  usr/share/doc/git-annex/html/assistant/android/install.png-e2677873f5ac5d5c97e82e361aca711a  usr/share/doc/git-annex/html/assistant/android/terminal.png-163a4e32f8a84b937607c2a8ac649793  usr/share/doc/git-annex/html/assistant/archival_walkthrough.html-07f39d17b252a39776f1bd2dbd9cda90  usr/share/doc/git-annex/html/assistant/buddylist.png-cb7d4d4757a8e6989a77a843e4f867d2  usr/share/doc/git-annex/html/assistant/cloudnudge.png-e8ca3cd2f32161a83ac41bdcd93fdd56  usr/share/doc/git-annex/html/assistant/combinerepos.png-5013fbf9e1bf92e53a1e70bfcc2b222f  usr/share/doc/git-annex/html/assistant/controlmenu.png-95ce2bd3ae2466242e470396a99b096a  usr/share/doc/git-annex/html/assistant/crashrecovery.png-3494483bd7625aad928c02dbd75507f4  usr/share/doc/git-annex/html/assistant/dashboard.png-a1518dea95aab7eac446bb3d64f7f024  usr/share/doc/git-annex/html/assistant/deleterepository.png-4e6daf0f77faf92c456f93431e0dad32  usr/share/doc/git-annex/html/assistant/example.png-0ad9c7659d23eddbd5bb190a067e165c  usr/share/doc/git-annex/html/assistant/iaitem.png-3f599d408676ea4ccd1ee886f31d43ff  usr/share/doc/git-annex/html/assistant/inotify_max_limit_alert.png-7a997d502b767e61e20e0b32074378f7  usr/share/doc/git-annex/html/assistant/local_pairing_walkthrough.html-17b6d14b4f3225c9dcf2cbab8a754f8f  usr/share/doc/git-annex/html/assistant/local_pairing_walkthrough/addrepository.png-e6d3761647be986783f96722e9243098  usr/share/doc/git-annex/html/assistant/local_pairing_walkthrough/pairing.png-479f35f53a4bdf29d849a90ae13a5196  usr/share/doc/git-annex/html/assistant/local_pairing_walkthrough/pairrequest.png-ebf723435dae6e2c94846a8a30f77bd5  usr/share/doc/git-annex/html/assistant/local_pairing_walkthrough/secret.png-1a1cec71fad74012c37ebd7c6ba30288  usr/share/doc/git-annex/html/assistant/local_pairing_walkthrough/secretempty.png-6410869a6b0d0d359f59367f9f928098  usr/share/doc/git-annex/html/assistant/logs.png-bdc41ce7b9f8b67552614bc36aad9080  usr/share/doc/git-annex/html/assistant/makerepo.png-4f5f4f7879d518cf5a759110dfef4ec5  usr/share/doc/git-annex/html/assistant/menu.png-34fc0ab10ba4736b0e28a94784ca8885  usr/share/doc/git-annex/html/assistant/osx-app.png-2e98430eef3a73aa2c6537727e2e6b2a  usr/share/doc/git-annex/html/assistant/preferences.png-7f0aa514b0d472fcf8b52c35b7932b87  usr/share/doc/git-annex/html/assistant/quickstart.html-1166f2c729a43b119df50ee9a7e8f00c  usr/share/doc/git-annex/html/assistant/release_notes.html-cf5a9f6a60124b7e3f1cf7e8e2856513  usr/share/doc/git-annex/html/assistant/remote_sharing_walkthrough.html-c3b25c8a79014b28a0487a1812be6a86  usr/share/doc/git-annex/html/assistant/repogroup.png-52ec95dc090b11a246dd1026e7cd86fc  usr/share/doc/git-annex/html/assistant/repogroups.png-9fc46bce83b5019646e4853065fec9a2  usr/share/doc/git-annex/html/assistant/repositories.png-dcddb85e4ec4dda2ec030ca4307d5bfd  usr/share/doc/git-annex/html/assistant/rsync.net.png-2ec2114e89c70340ea64d582396a2773  usr/share/doc/git-annex/html/assistant/running.png-7da8ea5c576b3dc7c3240e6a84ef1d7f  usr/share/doc/git-annex/html/assistant/share_with_a_friend_walkthrough.html-5cef90a6c7681efe04db89e4cabb9df1  usr/share/doc/git-annex/html/assistant/share_with_a_friend_walkthrough/buddylist.png-91e3719633fb46bd36b7330d4bb2a1e2  usr/share/doc/git-annex/html/assistant/share_with_a_friend_walkthrough/pairing.png-db44e11831135b45d578ac6e51b2fe71  usr/share/doc/git-annex/html/assistant/share_with_a_friend_walkthrough/repolist.png-4f28f7cdc46d08a70c99b04901f5abd2  usr/share/doc/git-annex/html/assistant/share_with_a_friend_walkthrough/xmppalert.png-106b8cb561294f98e492ac5c0ae489ba  usr/share/doc/git-annex/html/assistant/thanks.html-3904b3966640d84f23bcf9c3d3cc3051  usr/share/doc/git-annex/html/assistant/thumbnail.png-2f8c80fcf1340e81979cbd4e9aae951f  usr/share/doc/git-annex/html/assistant/xmpp.png-f07e8d8fcc01836de290c0fbc3ea0c92  usr/share/doc/git-annex/html/assistant/xmppnudge.png-eef6deb5ab3028057671f5ff74d1cb10  usr/share/doc/git-annex/html/assistant/xmpppairingend.png-33d16b35775bc1a0697794dee498f5db  usr/share/doc/git-annex/html/backends.html-e0d04b4e2fb21e13ba7b83602921d83a  usr/share/doc/git-annex/html/bare_repositories.html-df81f75574ec5a0b107f5e7b7136d3cc  usr/share/doc/git-annex/html/coding_style.html-73bb5de78b66e09171edd4775eb7fc3e  usr/share/doc/git-annex/html/comments.html-35e904ed2bb14883d75763158ab77908  usr/share/doc/git-annex/html/contact.html-55f64a075c5f293966b40649d93d1b87  usr/share/doc/git-annex/html/copies.html-7ff4b3b6c358740420518237ffb2c651  usr/share/doc/git-annex/html/design.html-ceb6d65c9f4521793852dd4fe45ecc03  usr/share/doc/git-annex/html/design/assistant.html-4f32362b61fd1837e70b758c2c8646ea  usr/share/doc/git-annex/html/design/assistant/OSX.html-30840f8a6c21709ccdfb2a04de4701c5  usr/share/doc/git-annex/html/design/assistant/android.html-c1046a6779a98c7cf9e186b6b187f27b  usr/share/doc/git-annex/html/design/assistant/cloud.html-76303d04cb82cf9a7e7dcef9e6d3b072  usr/share/doc/git-annex/html/design/assistant/configurators.html-39b89dd3a4ba2863b72d17467f6089d9  usr/share/doc/git-annex/html/design/assistant/deltas.html-beab663e881e6629074acaa1dafdf832  usr/share/doc/git-annex/html/design/assistant/desymlink.html-2f472ddacbd08503b893713d8673c149  usr/share/doc/git-annex/html/design/assistant/encrypted_git_remotes.html-921e6f1eb4fab8c1c780dc5ffaec090c  usr/share/doc/git-annex/html/design/assistant/inotify.html-cc3266ed19ea93ece3d2eea98364ccc7  usr/share/doc/git-annex/html/design/assistant/leftovers.html-d0480fc2188d5d289dd5ed6c9448d9cc  usr/share/doc/git-annex/html/design/assistant/more_cloud_providers.html-4b0644dbf82de4cdcd81e0e27aa28884  usr/share/doc/git-annex/html/design/assistant/pairing.html-4ed1c0405641b159d7cd3cfacaf7824c  usr/share/doc/git-annex/html/design/assistant/partial_content.html-98f5246055208f9bb0d1f6289ca900b3  usr/share/doc/git-annex/html/design/assistant/polls.html-20f74a5ee63751559f4d1dc63a3a351a  usr/share/doc/git-annex/html/design/assistant/polls/Android.html-b2406103797b363cb1685b556b836295  usr/share/doc/git-annex/html/design/assistant/polls/Android_default_directory.html-22f9d2e081386257200450e101730701  usr/share/doc/git-annex/html/design/assistant/polls/goals_for_April.html-4d1dd8d6c119465f1bdedd8646e083ca  usr/share/doc/git-annex/html/design/assistant/polls/prioritizing_special_remotes.html-0cf94fbdecb73699a53023e0c81f9380  usr/share/doc/git-annex/html/design/assistant/polls/what_is_preventing_me_from_using_git-annex_assistant.html-1cf62b2652ab9da9c390a223c9d36a10  usr/share/doc/git-annex/html/design/assistant/progressbars.html-2f8b4bba0f5fe81cb483bb5cc89f8814  usr/share/doc/git-annex/html/design/assistant/rate_limiting.html-db9dde8542ade8b669f7c939b0bcc965  usr/share/doc/git-annex/html/design/assistant/screenshot/firstrun.png-fd2bf9e02e1bcc91ef40b80099592caf  usr/share/doc/git-annex/html/design/assistant/screenshot/intro.png-051e46cd1d991f5e10152e48453d01ca  usr/share/doc/git-annex/html/design/assistant/syncing.html-1b955f4d8b5e5f15cd991f1c80e66c18  usr/share/doc/git-annex/html/design/assistant/transfer_control.html-d2ad41534251d13f21f92e5011dc7f26  usr/share/doc/git-annex/html/design/assistant/webapp.html-b0295c7c350b5d0fb702923ad6273d6e  usr/share/doc/git-annex/html/design/assistant/windows.html-890c87199a3b4e775615b023008ea4ec  usr/share/doc/git-annex/html/design/assistant/xmpp.html-5474f8a7c6fa58b53fb4d73f8de471cf  usr/share/doc/git-annex/html/design/encryption.html-bf1d04d1a4c67d0bb400c6396c7b59b0  usr/share/doc/git-annex/html/direct_mode.html-914b2d4bd6b0748aea59ba4ee7a10224  usr/share/doc/git-annex/html/distributed_version_control.html-91213cb2c8a82fce54db038f4a16d8a2  usr/share/doc/git-annex/html/download.html-973ddf985bcfa944ae0fa95af148eedd  usr/share/doc/git-annex/html/encryption.html-146f97002d28c80a3b783ce50dbad93b  usr/share/doc/git-annex/html/favicon.ico-8d9f31e7f913c1e511ab87fc04035da2  usr/share/doc/git-annex/html/feeds.html-0029894dfc9cfa21bf816e03305e9474  usr/share/doc/git-annex/html/footer/column_a.html-1f579f4dc57355a609b3ece84773b631  usr/share/doc/git-annex/html/footer/column_b.html-6f1ef31b1cc3a98c49c09e8a6ba39b7b  usr/share/doc/git-annex/html/future_proofing.html-7d759eee5906dcc00511fc7cf5290545  usr/share/doc/git-annex/html/git-annex-shell.html-e4c6a5d68d24233fef08e20d8989c026  usr/share/doc/git-annex/html/git-annex.html-34180496be3df363b22e8dda866e132b  usr/share/doc/git-annex/html/git-union-merge.html-365320869f7e9ca2e4e053d2be065055  usr/share/doc/git-annex/html/how_it_works.html-7edcc34e82cc270a3a0b84244c003ec0  usr/share/doc/git-annex/html/ikiwiki/ikiwiki.js-531101fb991d25633961400bd5b018c5  usr/share/doc/git-annex/html/ikiwiki/relativedate.js-4329a38aa265e63db16f6c8eb629b15c  usr/share/doc/git-annex/html/ikiwiki/toggle.js-da1a729d57a875c4f1f764fdb61bc5be  usr/share/doc/git-annex/html/index.html-1ddf7910567895a2880b0ae61ca2ef98  usr/share/doc/git-annex/html/install.html-d632c3767328adf55bfc133aa41e2c85  usr/share/doc/git-annex/html/install/Android.html-20d16bef5d64869f044e608a08ea799a  usr/share/doc/git-annex/html/install/ArchLinux.html-68a4d40fef0159e8e987b06dddf47402  usr/share/doc/git-annex/html/install/Debian.html-13a675d7e677f7a9ae20c1f460aee625  usr/share/doc/git-annex/html/install/Fedora.html-5e8b78918385f354a6696e6fcfff3a5d  usr/share/doc/git-annex/html/install/FreeBSD.html-c95ed84f3ea9f8ba7957da3515d72df1  usr/share/doc/git-annex/html/install/Gentoo.html-a9c336cf0bab595a1e3fdb2e28073a8e  usr/share/doc/git-annex/html/install/Linux_standalone.html-4769deab931e8a1f4bad23b37c72e396  usr/share/doc/git-annex/html/install/NixOS.html-7c16dd93fdf2324aa12c131b5f0f383c  usr/share/doc/git-annex/html/install/OSX.html-1415f3223530c98d6347f73520994aa7  usr/share/doc/git-annex/html/install/OSX/old_comments.html-170d0970d091180289d157d51fc7edca  usr/share/doc/git-annex/html/install/ScientificLinux5.html-7eed2fe9312590ee289406b7fb0f5cef  usr/share/doc/git-annex/html/install/Ubuntu.html-7090ab7ac51b974e1ca4a908e3e77609  usr/share/doc/git-annex/html/install/cabal.html-3308a0f87459f2f96d7351bfa626a74f  usr/share/doc/git-annex/html/install/fromscratch.html-8d014f709de9b617f9118308b456a08e  usr/share/doc/git-annex/html/install/openSUSE.html-2771ca10fbc2f5364ffc7ddd74561a95  usr/share/doc/git-annex/html/internals.html-4b67d79d75113a55d6834322d95320c2  usr/share/doc/git-annex/html/internals/hashing.html-f8dbafcbd7801a8a8d239a50a8f23cbc  usr/share/doc/git-annex/html/internals/key_format.html-7ace89f41893972f1960cd80e0175253  usr/share/doc/git-annex/html/license.html-55e7b8cb55b0cc3efdde9ee52cce4c3b  usr/share/doc/git-annex/html/license/AGPL.gz-4e0ca2bc63e61797836c39b9a6e33ddc  usr/share/doc/git-annex/html/license/GPL.gz-68f10b63c785bc6767f61275f6a65da9  usr/share/doc/git-annex/html/license/LGPL.gz-c4f6eae5a8691c4f7eb722a0001c9b46  usr/share/doc/git-annex/html/links/key_concepts.html-8d197fa0a477eedca4e2c2959946df8e  usr/share/doc/git-annex/html/links/other_stuff.html-d62b7d8c800c083ce1e67b55733ef944  usr/share/doc/git-annex/html/links/the_details.html-550ca9383584fe78d2bee0c3e306da74  usr/share/doc/git-annex/html/location_tracking.html-d29fa683faf26b4eeaf7e2df5ccc9067  usr/share/doc/git-annex/html/logo-bw.svg-da7ef72c147208844c47996d3701b552  usr/share/doc/git-annex/html/logo.png-0e7352e76622961cbe82145534500c9d  usr/share/doc/git-annex/html/logo.svg-bd3617363704ae91f84398a9d113b067  usr/share/doc/git-annex/html/logo_small.png-4c71f086f4fd267d36bfb2802b11e9be  usr/share/doc/git-annex/html/meta.html-b9b8d4a69d0b10141a629bdc63352e8b  usr/share/doc/git-annex/html/news.html-aed8d8d4b6111f4a60e74ac59a201110  usr/share/doc/git-annex/html/not.html-472549fa6632e1c63b0a9b146a5c124a  usr/share/doc/git-annex/html/preferred_content.html-428a4718c11df247416a4f02e71ed307  usr/share/doc/git-annex/html/related_software.html-99c8387075783f9d4260a525ff0c3950  usr/share/doc/git-annex/html/repomap.png-d232de504d45596a374aa3286c83f1af  usr/share/doc/git-annex/html/scalability.html-2f78fa6e4431f07f406f8fa7f397a5b4  usr/share/doc/git-annex/html/sidebar.html-a55a5e9f8550b500ec263f82c21a03d9  usr/share/doc/git-annex/html/sitemap.html-dbece38fc47a261412ceb5ab899afc9d  usr/share/doc/git-annex/html/special_remotes.html-a3ef8aa085afcf28b6e59cf1ba887a6d  usr/share/doc/git-annex/html/special_remotes/S3.html-4dbd0534b9280d11869774db1b261a1f  usr/share/doc/git-annex/html/special_remotes/bup.html-f5cf43176a14b42adec350bea4c94736  usr/share/doc/git-annex/html/special_remotes/directory.html-f1db6158c40c0a9bd2df8549eee9d718  usr/share/doc/git-annex/html/special_remotes/glacier.html-f3789fd89422cc0b5536cbb5e31fed8d  usr/share/doc/git-annex/html/special_remotes/hook.html-154c6dd0496b3aae312a950a38df2387  usr/share/doc/git-annex/html/special_remotes/rsync.html-91bcf22f8ae50108d821482e6f940f19  usr/share/doc/git-annex/html/special_remotes/web.html-c16b7671632f865f88881333a04eedb9  usr/share/doc/git-annex/html/special_remotes/webdav.html-aaf74425c1bfb387ea7010eba78b4884  usr/share/doc/git-annex/html/special_remotes/xmpp.html-99d44e90179957146b01a3784126c736  usr/share/doc/git-annex/html/summary.html-73cc0f4a53a1e215236008ca22cf9cfb  usr/share/doc/git-annex/html/sync.html-40ff84996d93191b8b2477ba4684b68f  usr/share/doc/git-annex/html/templates/bare.tmpl-2e248fae2f6e9638aaebd98c3e934f43  usr/share/doc/git-annex/html/templates/bugtemplate.html-977b742d9da88d36e4dd927c4c069658  usr/share/doc/git-annex/html/templates/walkthrough.tmpl-6ba1652d9ae7c1a09251c8d9638e62a0  usr/share/doc/git-annex/html/testimonials.html-6a0545d999e5a5e02a786a65586171c2  usr/share/doc/git-annex/html/tips.html-7f453730328429fc257d018945726863  usr/share/doc/git-annex/html/tips/Building_git-annex_on_Debian_OR___37____164____35____34____164____37____38____34____35___Haskell__33__.html-93578ce16f70dd3df08b63f741e572b5  usr/share/doc/git-annex/html/tips/Decentralized_repository_behind_a_Firewall.html-95bbb0f392bb7a8d72362f3828fae4a9  usr/share/doc/git-annex/html/tips/How_to_retroactively_annex_a_file_already_in_a_git_repo.html-940365c761b3a91a1c655776da279b55  usr/share/doc/git-annex/html/tips/Internet_Archive_via_S3.html-94dbe7abc95e3b38d0ccefb0a4a31be3  usr/share/doc/git-annex/html/tips/Using_Git-annex_as_a_web_browsing_assistant.html-a63667505d48ef79a22124a9ffc38a52  usr/share/doc/git-annex/html/tips/assume-unstaged.html-c126a4d317f08fd8d43755ab2cf3d20f  usr/share/doc/git-annex/html/tips/automatically_getting_files_on_checkout.html-696a6f3f5f2f52569e9ecec8ad0d94aa  usr/share/doc/git-annex/html/tips/centralised_repository:_starting_from_nothing.html-de4578646bc3b7a8f3bd4d0af499ac9e  usr/share/doc/git-annex/html/tips/centralized_git_repository_tutorial.html-69d3df2166070268b5e2d5ae1f59b424  usr/share/doc/git-annex/html/tips/emacs_integration.html-108b999387a7de2ff4d8ae53500ea8cd  usr/share/doc/git-annex/html/tips/finding_duplicate_files.html-adee13342f4d60e364579d2a6cfcf2dc  usr/share/doc/git-annex/html/tips/migrating_data_to_a_new_backend.html-b88debb958799599abed290b006a2375  usr/share/doc/git-annex/html/tips/powerful_file_matching.html-94259379fc668106dca8223e7d511270  usr/share/doc/git-annex/html/tips/recover_data_from_lost+found.html-184b713b5cb59f0b787825257535139e  usr/share/doc/git-annex/html/tips/replacing_Sparkleshare_or_dvcs-autosync_with_the_assistant.html-9b1a8f73f7c7e07215bad52a1f8d5af4  usr/share/doc/git-annex/html/tips/setup_a_public_repository_on_a_web_site.html-d1e6d33155d7ac68a8539351a5ad4326  usr/share/doc/git-annex/html/tips/untrusted_repositories.html-d92309b66e10c17a5c1b108547734d49  usr/share/doc/git-annex/html/tips/using_Amazon_Glacier.html-40e60da674a819e91c73966edbf1e255  usr/share/doc/git-annex/html/tips/using_Amazon_S3.html-32215ac3e2e3732421fc43882a0c8373  usr/share/doc/git-annex/html/tips/using_Google_Cloud_Storage.html-f298745974c07a77adbbbd1d2ceb68e2  usr/share/doc/git-annex/html/tips/using_box.com_as_a_special_remote.html-b0f0e743aaca0c7ba15168abc4a72036  usr/share/doc/git-annex/html/tips/using_git_annex_with_no_fixed_hostname_and_optimising_ssh.html-9c493638b6b23baabeb6c2dd6e56a17f  usr/share/doc/git-annex/html/tips/using_gitolite_with_git-annex.html-66b6d9fe6def3367c38eb07c31ae9802  usr/share/doc/git-annex/html/tips/using_the_SHA1_backend.html-9b04810762e4262f452f5c93a08e16da  usr/share/doc/git-annex/html/tips/using_the_web_as_a_special_remote.html-cd580aa02a8204f51d4a5fdae5e43c32  usr/share/doc/git-annex/html/tips/visualizing_repositories_with_gource.html-919131bcd8658ae2c2670849953945a2  usr/share/doc/git-annex/html/tips/visualizing_repositories_with_gource/screenshot.jpg-313149a6f3cf0939263eef6da49b79df  usr/share/doc/git-annex/html/tips/what_to_do_when_a_repository_is_corrupted.html-4ee4a855132811fd2de5b9235d8fee07  usr/share/doc/git-annex/html/tips/what_to_do_when_you_lose_a_repository.html-1e58adc871a07107cd56057197b1af0b  usr/share/doc/git-annex/html/transferring_data.html-f7ad8a50509a8d0f8ef37ad97565111f  usr/share/doc/git-annex/html/trust.html-f8558f4f8dae040481d60b0f2f5f9593  usr/share/doc/git-annex/html/upgrades.html-f6c97d0651c7a5acf8f59c0fc310cd20  usr/share/doc/git-annex/html/upgrades/SHA_size.html-8e217f7cc0d1973807481661dbd2bdc1  usr/share/doc/git-annex/html/use_case/Alice.html-2d7a5fdb1016a57ae9a00fb83173d035  usr/share/doc/git-annex/html/use_case/Bob.html-5e836dcedc1b25bfbf48d6dac7810ce3  usr/share/doc/git-annex/html/users.html-8e6ba607564550ca0467532a3027a135  usr/share/doc/git-annex/html/users/chrysn.html-d13e6b44af054c3f99df81343c337489  usr/share/doc/git-annex/html/users/fmarier.html-d3a79bd61b190e196a302780ab40a4ec  usr/share/doc/git-annex/html/users/gebi.html-a345a4d2e27cb3a38b9f5ab4d89f774f  usr/share/doc/git-annex/html/users/joey.html-0e4dd1ba79fd699ebe02ddcbcdf982ed  usr/share/doc/git-annex/html/videos.html-51ae552acfac67d326bf53e17d6f0d8f  usr/share/doc/git-annex/html/videos/FOSDEM2012.html-4fa794a2607474ffc915c12673662ab0  usr/share/doc/git-annex/html/videos/LCA2013.html-a14716c06d05e63023a2822247c05522  usr/share/doc/git-annex/html/videos/git-annex_assistant_archiving.html-e282d6c0a4abeaa7825ecd4bce280ed4  usr/share/doc/git-annex/html/videos/git-annex_assistant_introduction.html-6da72cd455f202bf3c8c7320eeb54805  usr/share/doc/git-annex/html/videos/git-annex_assistant_remote_sharing.html-72d8e141215974e4c56326041bb1777c  usr/share/doc/git-annex/html/videos/git-annex_assistant_sync_demo.html-30269d2cbedca7e9d241787e4890c421  usr/share/doc/git-annex/html/videos/git-annex_watch_demo.html-c834e41394bd5b0194bb7f6a2f287fec  usr/share/doc/git-annex/html/videos/git-annex_weppapp_demo.html-f29bc3c1e40ec82d8646d570af6e3893  usr/share/doc/git-annex/html/walkthrough.html-03d8415b3143efe76eacbb7e5c837403  usr/share/doc/git-annex/html/walkthrough/adding_a_remote.html-33f436aa1b44dfef282ca546764c1e34  usr/share/doc/git-annex/html/walkthrough/adding_files.html-960de3d1b409efbeaebac9ef8649f612  usr/share/doc/git-annex/html/walkthrough/automatically_managing_content.html-caeaeeaea85feee563943dad3a84da12  usr/share/doc/git-annex/html/walkthrough/backups.html-3d73e09e90d0f85dd15ded89625bfa2e  usr/share/doc/git-annex/html/walkthrough/creating_a_repository.html-98b54e9bf4e04d7cee3bfb3985be482e  usr/share/doc/git-annex/html/walkthrough/fsck:_verifying_your_data.html-6d1abc65429df9a7c1d87b65a30ec950  usr/share/doc/git-annex/html/walkthrough/fsck:_when_things_go_wrong.html-e4410117cff03b8a9f0ec87b4590b083  usr/share/doc/git-annex/html/walkthrough/getting_file_content.html-a1434a311bd7633cf53f4474acd3183e  usr/share/doc/git-annex/html/walkthrough/modifying_annexed_files.html-c811dc97b861f08bdd2bc27acde4a356  usr/share/doc/git-annex/html/walkthrough/more.html-2f329b6821030c0287f868ff684c3817  usr/share/doc/git-annex/html/walkthrough/moving_file_content_between_repositories.html-6cbdae72514a4907cac8846c65099156  usr/share/doc/git-annex/html/walkthrough/removing_files.html-33aef95c4a4b15d1b57efda2e5b5b121  usr/share/doc/git-annex/html/walkthrough/removing_files:_When_things_go_wrong.html-5ca66a6912647361cac8da91506d2d45  usr/share/doc/git-annex/html/walkthrough/renaming_files.html-7ee72345527052122996f0cf3c2ca1b1  usr/share/doc/git-annex/html/walkthrough/syncing.html-3a99d4e12d425cbb45f28951c8eb7d1f  usr/share/doc/git-annex/html/walkthrough/transferring_files:_When_things_go_wrong.html-ed1c0a08473bf439b5d1692d5e5ade85  usr/share/doc/git-annex/html/walkthrough/unused_data.html-411865f3015512c3f561271fc452ee59  usr/share/doc/git-annex/html/walkthrough/using_bup.html-751895de1877010e57d322d9eb425189  usr/share/doc/git-annex/html/walkthrough/using_ssh_remotes.html-c0d91beb3dfd17a071524d8fafcd27af  usr/share/man/man1/git-annex-shell.1.gz-3c53119e137184f00bf865a07f7bac04  usr/share/man/man1/git-annex.1.gz
− debian/git-annex/etc/xdg/autostart/git-annex.desktop
@@ -1,9 +0,0 @@-[Desktop Entry]-Type=Application-Version=1.0-Name=Git Annex Assistant-Comment=Autostart-Terminal=false-Exec=/usr/bin/git-annex assistant --autostart-Categories=-
− debian/git-annex/usr/bin/git-annex

file too large to diff

− debian/git-annex/usr/bin/git-annex-shell

file too large to diff

− debian/git-annex/usr/share/applications/git-annex.desktop
@@ -1,9 +0,0 @@-[Desktop Entry]-Type=Application-Version=1.0-Name=Git Annex-Comment=Track and sync the files in your Git Annex-Terminal=false-Exec=/usr/bin/git-annex webapp-Categories=Network;FileTransfer;-
− debian/git-annex/usr/share/doc-base/git-annex
@@ -1,9 +0,0 @@-Document: git-annex-Title: git-annex documentation-Author: Joey Hess-Abstract: All the documentation from git-annex's website.-Section: File Management--Format: HTML-Index: /usr/share/doc/git-annex/html/index.html-Files: /usr/share/doc/git-annex/html/*.html
− debian/git-annex/usr/share/doc/git-annex/NEWS.Debian.gz

binary file changed (681 → absent bytes)

− debian/git-annex/usr/share/doc/git-annex/changelog.gz

binary file changed (29839 → absent bytes)

− debian/git-annex/usr/share/doc/git-annex/copyright
@@ -1,783 +0,0 @@-Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/-Source: native package--Files: *-Copyright: © 2010-2013 Joey Hess <joey@kitenet.net>-License: GPL-3+--Files: Assistant/WebApp.hs Assistant/WebApp/* templates/* static/*-Copyright: © 2012-2013 Joey Hess <joey@kitenet.net>-License: AGPL-3+--Files: Utility/ThreadScheduler.hs-Copyright: 2011 Bas van Dijk & Roel van Dijk-           2012 Joey Hess <joey@kitenet.net>-License: GPL-3+--Files: Utility/Gpg/Types.hs-Copyright: 2013 guilhem <guilhem@fripost.org>-License: GPL-3+--Files: doc/logo* */favicon.ico standalone/osx/git-annex.app/Contents/Resources/git-annex.icns-Copyright: 2007 Henrik Nyh <http://henrik.nyh.se/>-           2010 Joey Hess <joey@kitenet.net>-License: other-  Free to modify and redistribute with due credit, and obviously free to use.--Files: Utility/Mounts.hsc-Copyright: Volker Wysk <hsss@volker-wysk.de>-License: LGPL-2.1+--Files: Utility/libmounts.c-Copyright: 1980, 1989, 1993, 1994 The Regents of the University of California-           2001 David Rufino <daverufino@btinternet.com>-           2012 Joey Hess <joey@kitenet.net>-License: BSD-3-clause- * Copyright (c) 1980, 1989, 1993, 1994- *      The Regents of the University of California.  All rights reserved.- * Copyright (c) 2001- *      David Rufino <daverufino@btinternet.com>- * Copyright 2012- *      Joey Hess <joey@kitenet.net>- *- * Redistribution and use in source and binary forms, with or without- * modification, are permitted provided that the following conditions- * are met:- * 1. Redistributions of source code must retain the above copyright- *    notice, this list of conditions and the following disclaimer.- * 2. Redistributions in binary form must reproduce the above copyright- *    notice, this list of conditions and the following disclaimer in the- *    documentation and/or other materials provided with the distribution.- * 3. Neither the name of the University nor the names of its contributors- *    may be used to endorse or promote products derived from this software- *    without specific prior written permission.- *- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF- * SUCH DAMAGE.--Files: static/jquery*-Copyright: © 2005-2011 by John Resig, Branden Aaron & Jörn Zaefferer-           © 2011 The Dojo Foundation-License: MIT or GPL-2- The full text of version 2 of the GPL is distributed in- /usr/share/common-licenses/GPL-2 on Debian systems. The text of the MIT- license follows:- .- Permission is hereby granted, free of charge, to any person obtaining- a copy of this software and associated documentation files (the- "Software"), to deal in the Software without restriction, including- without limitation the rights to use, copy, modify, merge, publish,- distribute, sublicense, and/or sell copies of the Software, and to- permit persons to whom the Software is furnished to do so, subject to- the following conditions:- .- The above copyright notice and this permission notice shall be- included in all copies or substantial portions of the Software.- .- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE- LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION- OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION- WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.--Files: static/*/bootstrap* static/img/glyphicons-halflings*-Copyright: 2012 Twitter, Inc.-License: Apache-2.0- Licensed under the Apache License, Version 2.0 (the "License");- you may not use this file except in compliance with the License.- You may obtain a copy of the License at- .-        http://www.apache.org/licenses/LICENSE-2.0- .- Unless required by applicable law or agreed to in writing, software- distributed under the License is distributed on an "AS IS" BASIS,- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.- See the License for the specific language governing permissions and- limitations under the License.- .- The complete text of the Apache License is distributed in- /usr/share/common-licenses/Apache-2.0 on Debian systems.--License: GPL-3+- The full text of version 3 of the GPL is distributed as doc/license/GPL in- this package's source, or in /usr/share/common-licenses/GPL-3 on- Debian systems.--License: LGPL-2.1+- The full text of version 2.1 of the LGPL is distributed as doc/license/LGPL- in this package's source, or in /usr/share/common-licenses/LGPL-2.1- on Debian systems.--License: AGPL-3+-                      GNU AFFERO GENERAL PUBLIC LICENSE-                         Version 3, 19 November 2007- .-   Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>-   Everyone is permitted to copy and distribute verbatim copies-   of this license document, but changing it is not allowed.- .-                              Preamble- .-    The GNU Affero General Public License is a free, copyleft license for-  software and other kinds of works, specifically designed to ensure-  cooperation with the community in the case of network server software.- .-    The licenses for most software and other practical works are designed-  to take away your freedom to share and change the works.  By contrast,-  our General Public Licenses are intended to guarantee your freedom to-  share and change all versions of a program--to make sure it remains free-  software for all its users.- .-    When we speak of free software, we are referring to freedom, not-  price.  Our General Public Licenses are designed to make sure that you-  have the freedom to distribute copies of free software (and charge for-  them if you wish), that you receive source code or can get it if you-  want it, that you can change the software or use pieces of it in new-  free programs, and that you know you can do these things.- .-    Developers that use our General Public Licenses protect your rights-  with two steps: (1) assert copyright on the software, and (2) offer-  you this License which gives you legal permission to copy, distribute-  and/or modify the software.- .-    A secondary benefit of defending all users' freedom is that-  improvements made in alternate versions of the program, if they-  receive widespread use, become available for other developers to-  incorporate.  Many developers of free software are heartened and-  encouraged by the resulting cooperation.  However, in the case of-  software used on network servers, this result may fail to come about.-  The GNU General Public License permits making a modified version and-  letting the public access it on a server without ever releasing its-  source code to the public.- .-    The GNU Affero General Public License is designed specifically to-  ensure that, in such cases, the modified source code becomes available-  to the community.  It requires the operator of a network server to-  provide the source code of the modified version running there to the-  users of that server.  Therefore, public use of a modified version, on-  a publicly accessible server, gives the public access to the source-  code of the modified version.- .-    An older license, called the Affero General Public License and-  published by Affero, was designed to accomplish similar goals.  This is-  a different license, not a version of the Affero GPL, but Affero has-  released a new version of the Affero GPL which permits relicensing under-  this license.- .-    The precise terms and conditions for copying, distribution and-  modification follow.- .-                         TERMS AND CONDITIONS- .-    0. Definitions.- .-    "This License" refers to version 3 of the GNU Affero General Public License.- .-    "Copyright" also means copyright-like laws that apply to other kinds of-  works, such as semiconductor masks.- .-    "The Program" refers to any copyrightable work licensed under this-  License.  Each licensee is addressed as "you".  "Licensees" and-  "recipients" may be individuals or organizations.- .-    To "modify" a work means to copy from or adapt all or part of the work-  in a fashion requiring copyright permission, other than the making of an-  exact copy.  The resulting work is called a "modified version" of the-  earlier work or a work "based on" the earlier work.- .-    A "covered work" means either the unmodified Program or a work based-  on the Program.- .-    To "propagate" a work means to do anything with it that, without-  permission, would make you directly or secondarily liable for-  infringement under applicable copyright law, except executing it on a-  computer or modifying a private copy.  Propagation includes copying,-  distribution (with or without modification), making available to the-  public, and in some countries other activities as well.- .-    To "convey" a work means any kind of propagation that enables other-  parties to make or receive copies.  Mere interaction with a user through-  a computer network, with no transfer of a copy, is not conveying.- .-    An interactive user interface displays "Appropriate Legal Notices"-  to the extent that it includes a convenient and prominently visible-  feature that (1) displays an appropriate copyright notice, and (2)-  tells the user that there is no warranty for the work (except to the-  extent that warranties are provided), that licensees may convey the-  work under this License, and how to view a copy of this License.  If-  the interface presents a list of user commands or options, such as a-  menu, a prominent item in the list meets this criterion.- .-    1. Source Code.- .-    The "source code" for a work means the preferred form of the work-  for making modifications to it.  "Object code" means any non-source-  form of a work.- .-    A "Standard Interface" means an interface that either is an official-  standard defined by a recognized standards body, or, in the case of-  interfaces specified for a particular programming language, one that-  is widely used among developers working in that language.- .-    The "System Libraries" of an executable work include anything, other-  than the work as a whole, that (a) is included in the normal form of-  packaging a Major Component, but which is not part of that Major-  Component, and (b) serves only to enable use of the work with that-  Major Component, or to implement a Standard Interface for which an-  implementation is available to the public in source code form.  A-  "Major Component", in this context, means a major essential component-  (kernel, window system, and so on) of the specific operating system-  (if any) on which the executable work runs, or a compiler used to-  produce the work, or an object code interpreter used to run it.- .-    The "Corresponding Source" for a work in object code form means all-  the source code needed to generate, install, and (for an executable-  work) run the object code and to modify the work, including scripts to-  control those activities.  However, it does not include the work's-  System Libraries, or general-purpose tools or generally available free-  programs which are used unmodified in performing those activities but-  which are not part of the work.  For example, Corresponding Source-  includes interface definition files associated with source files for-  the work, and the source code for shared libraries and dynamically-  linked subprograms that the work is specifically designed to require,-  such as by intimate data communication or control flow between those-  subprograms and other parts of the work.- .-    The Corresponding Source need not include anything that users-  can regenerate automatically from other parts of the Corresponding-  Source.- .-    The Corresponding Source for a work in source code form is that-  same work.- .-    2. Basic Permissions.- .-    All rights granted under this License are granted for the term of-  copyright on the Program, and are irrevocable provided the stated-  conditions are met.  This License explicitly affirms your unlimited-  permission to run the unmodified Program.  The output from running a-  covered work is covered by this License only if the output, given its-  content, constitutes a covered work.  This License acknowledges your-  rights of fair use or other equivalent, as provided by copyright law.- .-    You may make, run and propagate covered works that you do not-  convey, without conditions so long as your license otherwise remains-  in force.  You may convey covered works to others for the sole purpose-  of having them make modifications exclusively for you, or provide you-  with facilities for running those works, provided that you comply with-  the terms of this License in conveying all material for which you do-  not control copyright.  Those thus making or running the covered works-  for you must do so exclusively on your behalf, under your direction-  and control, on terms that prohibit them from making any copies of-  your copyrighted material outside their relationship with you.- .-    Conveying under any other circumstances is permitted solely under-  the conditions stated below.  Sublicensing is not allowed; section 10-  makes it unnecessary.- .-    3. Protecting Users' Legal Rights From Anti-Circumvention Law.- .-    No covered work shall be deemed part of an effective technological-  measure under any applicable law fulfilling obligations under article-  11 of the WIPO copyright treaty adopted on 20 December 1996, or-  similar laws prohibiting or restricting circumvention of such-  measures.- .-    When you convey a covered work, you waive any legal power to forbid-  circumvention of technological measures to the extent such circumvention-  is effected by exercising rights under this License with respect to-  the covered work, and you disclaim any intention to limit operation or-  modification of the work as a means of enforcing, against the work's-  users, your or third parties' legal rights to forbid circumvention of-  technological measures.- .-    4. Conveying Verbatim Copies.- .-    You may convey verbatim copies of the Program's source code as you-  receive it, in any medium, provided that you conspicuously and-  appropriately publish on each copy an appropriate copyright notice;-  keep intact all notices stating that this License and any-  non-permissive terms added in accord with section 7 apply to the code;-  keep intact all notices of the absence of any warranty; and give all-  recipients a copy of this License along with the Program.- .-    You may charge any price or no price for each copy that you convey,-  and you may offer support or warranty protection for a fee.- .-    5. Conveying Modified Source Versions.- .-    You may convey a work based on the Program, or the modifications to-  produce it from the Program, in the form of source code under the-  terms of section 4, provided that you also meet all of these conditions:- .-      a) The work must carry prominent notices stating that you modified-      it, and giving a relevant date.- .-      b) The work must carry prominent notices stating that it is-      released under this License and any conditions added under section-      7.  This requirement modifies the requirement in section 4 to-      "keep intact all notices".- .-      c) You must license the entire work, as a whole, under this-      License to anyone who comes into possession of a copy.  This-      License will therefore apply, along with any applicable section 7-      additional terms, to the whole of the work, and all its parts,-      regardless of how they are packaged.  This License gives no-      permission to license the work in any other way, but it does not-      invalidate such permission if you have separately received it.- .-      d) If the work has interactive user interfaces, each must display-      Appropriate Legal Notices; however, if the Program has interactive-      interfaces that do not display Appropriate Legal Notices, your-      work need not make them do so.- .-    A compilation of a covered work with other separate and independent-  works, which are not by their nature extensions of the covered work,-  and which are not combined with it such as to form a larger program,-  in or on a volume of a storage or distribution medium, is called an-  "aggregate" if the compilation and its resulting copyright are not-  used to limit the access or legal rights of the compilation's users-  beyond what the individual works permit.  Inclusion of a covered work-  in an aggregate does not cause this License to apply to the other-  parts of the aggregate.- .-    6. Conveying Non-Source Forms.- .-    You may convey a covered work in object code form under the terms-  of sections 4 and 5, provided that you also convey the-  machine-readable Corresponding Source under the terms of this License,-  in one of these ways:- .-      a) Convey the object code in, or embodied in, a physical product-      (including a physical distribution medium), accompanied by the-      Corresponding Source fixed on a durable physical medium-      customarily used for software interchange.- .-      b) Convey the object code in, or embodied in, a physical product-      (including a physical distribution medium), accompanied by a-      written offer, valid for at least three years and valid for as-      long as you offer spare parts or customer support for that product-      model, to give anyone who possesses the object code either (1) a-      copy of the Corresponding Source for all the software in the-      product that is covered by this License, on a durable physical-      medium customarily used for software interchange, for a price no-      more than your reasonable cost of physically performing this-      conveying of source, or (2) access to copy the-      Corresponding Source from a network server at no charge.- .-      c) Convey individual copies of the object code with a copy of the-      written offer to provide the Corresponding Source.  This-      alternative is allowed only occasionally and noncommercially, and-      only if you received the object code with such an offer, in accord-      with subsection 6b.- .-      d) Convey the object code by offering access from a designated-      place (gratis or for a charge), and offer equivalent access to the-      Corresponding Source in the same way through the same place at no-      further charge.  You need not require recipients to copy the-      Corresponding Source along with the object code.  If the place to-      copy the object code is a network server, the Corresponding Source-      may be on a different server (operated by you or a third party)-      that supports equivalent copying facilities, provided you maintain-      clear directions next to the object code saying where to find the-      Corresponding Source.  Regardless of what server hosts the-      Corresponding Source, you remain obligated to ensure that it is-      available for as long as needed to satisfy these requirements.- .-      e) Convey the object code using peer-to-peer transmission, provided-      you inform other peers where the object code and Corresponding-      Source of the work are being offered to the general public at no-      charge under subsection 6d.- .-    A separable portion of the object code, whose source code is excluded-  from the Corresponding Source as a System Library, need not be-  included in conveying the object code work.- .-    A "User Product" is either (1) a "consumer product", which means any-  tangible personal property which is normally used for personal, family,-  or household purposes, or (2) anything designed or sold for incorporation-  into a dwelling.  In determining whether a product is a consumer product,-  doubtful cases shall be resolved in favor of coverage.  For a particular-  product received by a particular user, "normally used" refers to a-  typical or common use of that class of product, regardless of the status-  of the particular user or of the way in which the particular user-  actually uses, or expects or is expected to use, the product.  A product-  is a consumer product regardless of whether the product has substantial-  commercial, industrial or non-consumer uses, unless such uses represent-  the only significant mode of use of the product.- .-    "Installation Information" for a User Product means any methods,-  procedures, authorization keys, or other information required to install-  and execute modified versions of a covered work in that User Product from-  a modified version of its Corresponding Source.  The information must-  suffice to ensure that the continued functioning of the modified object-  code is in no case prevented or interfered with solely because-  modification has been made.- .-    If you convey an object code work under this section in, or with, or-  specifically for use in, a User Product, and the conveying occurs as-  part of a transaction in which the right of possession and use of the-  User Product is transferred to the recipient in perpetuity or for a-  fixed term (regardless of how the transaction is characterized), the-  Corresponding Source conveyed under this section must be accompanied-  by the Installation Information.  But this requirement does not apply-  if neither you nor any third party retains the ability to install-  modified object code on the User Product (for example, the work has-  been installed in ROM).- .-    The requirement to provide Installation Information does not include a-  requirement to continue to provide support service, warranty, or updates-  for a work that has been modified or installed by the recipient, or for-  the User Product in which it has been modified or installed.  Access to a-  network may be denied when the modification itself materially and-  adversely affects the operation of the network or violates the rules and-  protocols for communication across the network.- .-    Corresponding Source conveyed, and Installation Information provided,-  in accord with this section must be in a format that is publicly-  documented (and with an implementation available to the public in-  source code form), and must require no special password or key for-  unpacking, reading or copying.- .-    7. Additional Terms.- .-    "Additional permissions" are terms that supplement the terms of this-  License by making exceptions from one or more of its conditions.-  Additional permissions that are applicable to the entire Program shall-  be treated as though they were included in this License, to the extent-  that they are valid under applicable law.  If additional permissions-  apply only to part of the Program, that part may be used separately-  under those permissions, but the entire Program remains governed by-  this License without regard to the additional permissions.- .-    When you convey a copy of a covered work, you may at your option-  remove any additional permissions from that copy, or from any part of-  it.  (Additional permissions may be written to require their own-  removal in certain cases when you modify the work.)  You may place-  additional permissions on material, added by you to a covered work,-  for which you have or can give appropriate copyright permission.- .-    Notwithstanding any other provision of this License, for material you-  add to a covered work, you may (if authorized by the copyright holders of-  that material) supplement the terms of this License with terms:- .-      a) Disclaiming warranty or limiting liability differently from the-      terms of sections 15 and 16 of this License; or- .-      b) Requiring preservation of specified reasonable legal notices or-      author attributions in that material or in the Appropriate Legal-      Notices displayed by works containing it; or- .-      c) Prohibiting misrepresentation of the origin of that material, or-      requiring that modified versions of such material be marked in-      reasonable ways as different from the original version; or- .-      d) Limiting the use for publicity purposes of names of licensors or-      authors of the material; or- .-      e) Declining to grant rights under trademark law for use of some-      trade names, trademarks, or service marks; or- .-      f) Requiring indemnification of licensors and authors of that-      material by anyone who conveys the material (or modified versions of-      it) with contractual assumptions of liability to the recipient, for-      any liability that these contractual assumptions directly impose on-      those licensors and authors.- .-    All other non-permissive additional terms are considered "further-  restrictions" within the meaning of section 10.  If the Program as you-  received it, or any part of it, contains a notice stating that it is-  governed by this License along with a term that is a further-  restriction, you may remove that term.  If a license document contains-  a further restriction but permits relicensing or conveying under this-  License, you may add to a covered work material governed by the terms-  of that license document, provided that the further restriction does-  not survive such relicensing or conveying.- .-    If you add terms to a covered work in accord with this section, you-  must place, in the relevant source files, a statement of the-  additional terms that apply to those files, or a notice indicating-  where to find the applicable terms.- .-    Additional terms, permissive or non-permissive, may be stated in the-  form of a separately written license, or stated as exceptions;-  the above requirements apply either way.- .-    8. Termination.- .-    You may not propagate or modify a covered work except as expressly-  provided under this License.  Any attempt otherwise to propagate or-  modify it is void, and will automatically terminate your rights under-  this License (including any patent licenses granted under the third-  paragraph of section 11).- .-    However, if you cease all violation of this License, then your-  license from a particular copyright holder is reinstated (a)-  provisionally, unless and until the copyright holder explicitly and-  finally terminates your license, and (b) permanently, if the copyright-  holder fails to notify you of the violation by some reasonable means-  prior to 60 days after the cessation.- .-    Moreover, your license from a particular copyright holder is-  reinstated permanently if the copyright holder notifies you of the-  violation by some reasonable means, this is the first time you have-  received notice of violation of this License (for any work) from that-  copyright holder, and you cure the violation prior to 30 days after-  your receipt of the notice.- .-    Termination of your rights under this section does not terminate the-  licenses of parties who have received copies or rights from you under-  this License.  If your rights have been terminated and not permanently-  reinstated, you do not qualify to receive new licenses for the same-  material under section 10.- .-    9. Acceptance Not Required for Having Copies.- .-    You are not required to accept this License in order to receive or-  run a copy of the Program.  Ancillary propagation of a covered work-  occurring solely as a consequence of using peer-to-peer transmission-  to receive a copy likewise does not require acceptance.  However,-  nothing other than this License grants you permission to propagate or-  modify any covered work.  These actions infringe copyright if you do-  not accept this License.  Therefore, by modifying or propagating a-  covered work, you indicate your acceptance of this License to do so.- .-    10. Automatic Licensing of Downstream Recipients.- .-    Each time you convey a covered work, the recipient automatically-  receives a license from the original licensors, to run, modify and-  propagate that work, subject to this License.  You are not responsible-  for enforcing compliance by third parties with this License.- .-    An "entity transaction" is a transaction transferring control of an-  organization, or substantially all assets of one, or subdividing an-  organization, or merging organizations.  If propagation of a covered-  work results from an entity transaction, each party to that-  transaction who receives a copy of the work also receives whatever-  licenses to the work the party's predecessor in interest had or could-  give under the previous paragraph, plus a right to possession of the-  Corresponding Source of the work from the predecessor in interest, if-  the predecessor has it or can get it with reasonable efforts.- .-    You may not impose any further restrictions on the exercise of the-  rights granted or affirmed under this License.  For example, you may-  not impose a license fee, royalty, or other charge for exercise of-  rights granted under this License, and you may not initiate litigation-  (including a cross-claim or counterclaim in a lawsuit) alleging that-  any patent claim is infringed by making, using, selling, offering for-  sale, or importing the Program or any portion of it.- .-    11. Patents.- .-    A "contributor" is a copyright holder who authorizes use under this-  License of the Program or a work on which the Program is based.  The-  work thus licensed is called the contributor's "contributor version".- .-    A contributor's "essential patent claims" are all patent claims-  owned or controlled by the contributor, whether already acquired or-  hereafter acquired, that would be infringed by some manner, permitted-  by this License, of making, using, or selling its contributor version,-  but do not include claims that would be infringed only as a-  consequence of further modification of the contributor version.  For-  purposes of this definition, "control" includes the right to grant-  patent sublicenses in a manner consistent with the requirements of-  this License.- .-    Each contributor grants you a non-exclusive, worldwide, royalty-free-  patent license under the contributor's essential patent claims, to-  make, use, sell, offer for sale, import and otherwise run, modify and-  propagate the contents of its contributor version.- .-    In the following three paragraphs, a "patent license" is any express-  agreement or commitment, however denominated, not to enforce a patent-  (such as an express permission to practice a patent or covenant not to-  sue for patent infringement).  To "grant" such a patent license to a-  party means to make such an agreement or commitment not to enforce a-  patent against the party.- .-    If you convey a covered work, knowingly relying on a patent license,-  and the Corresponding Source of the work is not available for anyone-  to copy, free of charge and under the terms of this License, through a-  publicly available network server or other readily accessible means,-  then you must either (1) cause the Corresponding Source to be so-  available, or (2) arrange to deprive yourself of the benefit of the-  patent license for this particular work, or (3) arrange, in a manner-  consistent with the requirements of this License, to extend the patent-  license to downstream recipients.  "Knowingly relying" means you have-  actual knowledge that, but for the patent license, your conveying the-  covered work in a country, or your recipient's use of the covered work-  in a country, would infringe one or more identifiable patents in that-  country that you have reason to believe are valid.- .-    If, pursuant to or in connection with a single transaction or-  arrangement, you convey, or propagate by procuring conveyance of, a-  covered work, and grant a patent license to some of the parties-  receiving the covered work authorizing them to use, propagate, modify-  or convey a specific copy of the covered work, then the patent license-  you grant is automatically extended to all recipients of the covered-  work and works based on it.- .-    A patent license is "discriminatory" if it does not include within-  the scope of its coverage, prohibits the exercise of, or is-  conditioned on the non-exercise of one or more of the rights that are-  specifically granted under this License.  You may not convey a covered-  work if you are a party to an arrangement with a third party that is-  in the business of distributing software, under which you make payment-  to the third party based on the extent of your activity of conveying-  the work, and under which the third party grants, to any of the-  parties who would receive the covered work from you, a discriminatory-  patent license (a) in connection with copies of the covered work-  conveyed by you (or copies made from those copies), or (b) primarily-  for and in connection with specific products or compilations that-  contain the covered work, unless you entered into that arrangement,-  or that patent license was granted, prior to 28 March 2007.- .-    Nothing in this License shall be construed as excluding or limiting-  any implied license or other defenses to infringement that may-  otherwise be available to you under applicable patent law.- .-    12. No Surrender of Others' Freedom.- .-    If conditions are imposed on you (whether by court order, agreement or-  otherwise) that contradict the conditions of this License, they do not-  excuse you from the conditions of this License.  If you cannot convey a-  covered work so as to satisfy simultaneously your obligations under this-  License and any other pertinent obligations, then as a consequence you may-  not convey it at all.  For example, if you agree to terms that obligate you-  to collect a royalty for further conveying from those to whom you convey-  the Program, the only way you could satisfy both those terms and this-  License would be to refrain entirely from conveying the Program.- .-    13. Remote Network Interaction; Use with the GNU General Public License.- .-    Notwithstanding any other provision of this License, if you modify the-  Program, your modified version must prominently offer all users-  interacting with it remotely through a computer network (if your version-  supports such interaction) an opportunity to receive the Corresponding-  Source of your version by providing access to the Corresponding Source-  from a network server at no charge, through some standard or customary-  means of facilitating copying of software.  This Corresponding Source-  shall include the Corresponding Source for any work covered by version 3-  of the GNU General Public License that is incorporated pursuant to the-  following paragraph.- .-    Notwithstanding any other provision of this License, you have-  permission to link or combine any covered work with a work licensed-  under version 3 of the GNU General Public License into a single-  combined work, and to convey the resulting work.  The terms of this-  License will continue to apply to the part which is the covered work,-  but the work with which it is combined will remain governed by version-  3 of the GNU General Public License.- .-    14. Revised Versions of this License.- .-    The Free Software Foundation may publish revised and/or new versions of-  the GNU Affero General Public License from time to time.  Such new versions-  will be similar in spirit to the present version, but may differ in detail to-  address new problems or concerns.- .-    Each version is given a distinguishing version number.  If the-  Program specifies that a certain numbered version of the GNU Affero General-  Public License "or any later version" applies to it, you have the-  option of following the terms and conditions either of that numbered-  version or of any later version published by the Free Software-  Foundation.  If the Program does not specify a version number of the-  GNU Affero General Public License, you may choose any version ever published-  by the Free Software Foundation.- .-    If the Program specifies that a proxy can decide which future-  versions of the GNU Affero General Public License can be used, that proxy's-  public statement of acceptance of a version permanently authorizes you-  to choose that version for the Program.- .-    Later license versions may give you additional or different-  permissions.  However, no additional obligations are imposed on any-  author or copyright holder as a result of your choosing to follow a-  later version.- .-    15. Disclaimer of Warranty.- .-    THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY-  APPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT-  HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY-  OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,-  THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR-  PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM-  IS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF-  ALL NECESSARY SERVICING, REPAIR OR CORRECTION.- .-    16. Limitation of Liability.- .-    IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING-  WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS-  THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY-  GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE-  USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF-  DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD-  PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),-  EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF-  SUCH DAMAGES.- .-    17. Interpretation of Sections 15 and 16.- .-    If the disclaimer of warranty and limitation of liability provided-  above cannot be given local legal effect according to their terms,-  reviewing courts shall apply local law that most closely approximates-  an absolute waiver of all civil liability in connection with the-  Program, unless a warranty or assumption of liability accompanies a-  copy of the Program in return for a fee.- .-                       END OF TERMS AND CONDITIONS- .-              How to Apply These Terms to Your New Programs- .-    If you develop a new program, and you want it to be of the greatest-  possible use to the public, the best way to achieve this is to make it-  free software which everyone can redistribute and change under these terms.- .-    To do so, attach the following notices to the program.  It is safest-  to attach them to the start of each source file to most effectively-  state the exclusion of warranty; and each file should have at least-  the "copyright" line and a pointer to where the full notice is found.- .-      <one line to give the program's name and a brief idea of what it does.>-      Copyright (C) <year>  <name of author>- .-      This program is free software: you can redistribute it and/or modify-      it under the terms of the GNU Affero General Public License as published by-      the Free Software Foundation, either version 3 of the License, or-      (at your option) any later version.- .-      This program is distributed in the hope that it will be useful,-      but WITHOUT ANY WARRANTY; without even the implied warranty of-      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the-      GNU Affero General Public License for more details.- .-      You should have received a copy of the GNU Affero General Public License-      along with this program.  If not, see <http://www.gnu.org/licenses/>.- .-  Also add information on how to contact you by electronic and paper mail.- .-    If your software can interact with users remotely through a computer-  network, you should also make sure that it provides a way for users to-  get its source.  For example, if your program is a web application, its-  interface could display a "Source" link that leads users to an archive-  of the code.  There are many ways you could offer source, and different-  solutions will be better for different programs; see section 13 for the-  specific requirements.- .-    You should also get your employer (if you work as a programmer) or school,-  if any, to sign a "copyright disclaimer" for the program, if necessary.-  For more information on this, and how to apply and follow the GNU AGPL, see-  <http://www.gnu.org/licenses/>.
− debian/git-annex/usr/share/doc/git-annex/html/assistant.html
@@ -1,215 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">-<html xmlns="http://www.w3.org/1999/xhtml">--<head>--<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />-<title>assistant</title>--<link rel="stylesheet" href="style.css" type="text/css" />--<link rel="stylesheet" href="local.css" type="text/css" />-------</head>-<body>--<div class="page">--<div class="pageheader">-<div class="header">-<span>-<span class="parentlinks">--<a href="./index.html">git-annex</a>/ --</span>-<span class="title">-assistant--</span>-</span>--</div>--------</div>---<div class="sidebar">-<p><img src="./logo_small.png" width="150" height="115" class="img" /></p>--<ul>-<li><a href="./install.html">install</a></li>-<li><span class="selflink">assistant</span></li>-<li><a href="./walkthrough.html">walkthrough</a></li>-<li><a href="./tips.html">tips</a></li>-<li><span class="createlink">bugs</span></li>-<li><span class="createlink">todo</span></li>-<li><span class="createlink">forum</span></li>-<li><a href="./comments.html">comments</a></li>-<li><a href="./contact.html">contact</a></li>-<li><a href="http://flattr.com/thing/84843/git-annex"><img src="https://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" /></a></li>-</ul>---</div>---<div id="pagebody">--<div id="content">-<p>The git-annex assistant creates a folder on each of your computers,-removable drives, and cloud services, which-it keeps synchronised, so its contents are the same everywhere.-It's very easy to use, and has all the power of git and git-annex.</p>--<h2>installation</h2>--<p>The git-annex assistant comes as part of git-annex, starting with version-3.20120924. See <a href="./install.html">install</a> to get it installed.</p>--<p>Note that the git-annex assistant is still beta quality code. See-the <a href="./assistant/release_notes.html">release notes</a> for known infelicities and upgrade instructions.</p>--<h2>intro screencast</h2>--<p><video controls width="400">-<source src="http://downloads.kitenet.net/videos/git-annex/git-annex-assistant-intro.ogv">-</video><br>-A <a href="http://downloads.kitenet.net/videos/git-annex/git-annex-assistant-intro.ogv">8 minute screencast</a>-introducing the <span class="selflink">git-annex assistant</span></a>.</p>-----<h2>documentation</h2>--<ul>-<li><a href="./assistant/quickstart.html">Basic usage</a></li>-<li>Want to make two nearby computers share the same synchronised folder?<br/>-Follow the <a href="./assistant/local_pairing_walkthrough.html">local pairing walkthrough</a>.</li>-<li>Or perhaps you want to share files between computers in different-locations, like home and work?<br/>-Follow the <a href="./assistant/remote_sharing_walkthrough.html">remote sharing walkthrough</a>.</li>-<li>Want to share a synchronised folder with a friend?<br/>-Follow the <a href="./assistant/share_with_a_friend_walkthrough.html">share with a friend walkthrough</a>.</li>-<li>Want to archive data to a drive or the cloud?<br/>-Follow the <a href="./assistant/archival_walkthrough.html">archival walkthrough</a>.</li>-</ul>---<h2>colophon</h2>--<p>The git-annex assistant is being-<a href="http://www.kickstarter.com/projects/joeyh/git-annex-assistant-like-dropbox-but-with-your-own/">crowd funded on-Kickstarter</a>.-<a href="./assistant/thanks.html">Thanks</a> to all my backers.</p>--<p>I blog about my work on the git-annex assistant on a daily basis-in <span class="createlink">this blog</span>. Follow along!</p>--<p>See also: The <a href="./design/assistant.html">design</a> pages.</p>--</div>----<div id="comments">-----<div class="addcomment">Comments on this page are closed.</div>--</div>----</div>--<div id="footer" class="pagefooter">--<div id="pageinfo">-------<div id="backlinks">-Links:--<a href="./design.html">design</a>--<a href="./design/assistant.html">design/assistant</a>--<a href="./direct_mode.html">direct mode</a>--<a href="./install/Debian.html">install/Debian</a>--<a href="./install/OSX.html">install/OSX</a>--<a href="./install/Ubuntu.html">install/Ubuntu</a>--<a href="./install/fromscratch.html">install/fromscratch</a>--<a href="./not.html">not</a>--<a href="./preferred_content.html">preferred content</a>--<a href="./related_software.html">related software</a>---<span class="popup">...-<span class="balloon">--<a href="./sidebar.html">sidebar</a>--<a href="./special_remotes/xmpp.html">special remotes/xmpp</a>--<a href="./summary.html">summary</a>--<a href="./sync/comment_4_cf29326408e62575085d1f980087c923.html">sync/comment 4 cf29326408e62575085d1f980087c923</a>--<a href="./tips/replacing_Sparkleshare_or_dvcs-autosync_with_the_assistant.html">tips/replacing Sparkleshare or dvcs-autosync with the assistant</a>--<a href="./videos/git-annex_assistant_archiving.html">videos/git-annex assistant archiving</a>--<a href="./videos/git-annex_assistant_introduction.html">videos/git-annex assistant introduction</a>--</span>-</span>--</div>-------<div class="pagedate">-Last edited <span class="date">Sat May  4 11:06:34 2013</span>-<!-- Created <span class="date">Sat May  4 11:06:34 2013</span> -->-</div>--</div>---<!-- from git-annex -->-</div>--</div>--</body>-</html>
− debian/git-annex/usr/share/doc/git-annex/html/assistant/addsshserver.png

binary file changed (31740 → absent bytes)

− debian/git-annex/usr/share/doc/git-annex/html/assistant/android/install.png

binary file changed (55106 → absent bytes)

− debian/git-annex/usr/share/doc/git-annex/html/assistant/android/terminal.png

binary file changed (20565 → absent bytes)

− debian/git-annex/usr/share/doc/git-annex/html/assistant/buddylist.png

binary file changed (4347 → absent bytes)

− debian/git-annex/usr/share/doc/git-annex/html/assistant/cloudnudge.png

binary file changed (7332 → absent bytes)

− debian/git-annex/usr/share/doc/git-annex/html/assistant/combinerepos.png

binary file changed (10677 → absent bytes)

− debian/git-annex/usr/share/doc/git-annex/html/assistant/controlmenu.png

binary file changed (8863 → absent bytes)

− debian/git-annex/usr/share/doc/git-annex/html/assistant/crashrecovery.png

binary file changed (6594 → absent bytes)

− debian/git-annex/usr/share/doc/git-annex/html/assistant/dashboard.png

binary file changed (41061 → absent bytes)

− debian/git-annex/usr/share/doc/git-annex/html/assistant/deleterepository.png

binary file changed (22780 → absent bytes)

− debian/git-annex/usr/share/doc/git-annex/html/assistant/example.png

binary file changed (110994 → absent bytes)

− debian/git-annex/usr/share/doc/git-annex/html/assistant/iaitem.png

binary file changed (34868 → absent bytes)

− debian/git-annex/usr/share/doc/git-annex/html/assistant/logs.png

binary file changed (33631 → absent bytes)

− debian/git-annex/usr/share/doc/git-annex/html/assistant/makerepo.png

binary file changed (32061 → absent bytes)

− debian/git-annex/usr/share/doc/git-annex/html/assistant/menu.png

binary file changed (22921 → absent bytes)

− debian/git-annex/usr/share/doc/git-annex/html/assistant/osx-app.png

binary file changed (2604 → absent bytes)

− debian/git-annex/usr/share/doc/git-annex/html/assistant/preferences.png

binary file changed (22815 → absent bytes)

− debian/git-annex/usr/share/doc/git-annex/html/assistant/quickstart.html
@@ -1,158 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">-<html xmlns="http://www.w3.org/1999/xhtml">--<head>--<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />-<title>quickstart</title>--<link rel="stylesheet" href="../style.css" type="text/css" />--<link rel="stylesheet" href="../local.css" type="text/css" />-------</head>-<body>--<div class="page">--<div class="pageheader">-<div class="header">-<span>-<span class="parentlinks">--<a href="../index.html">git-annex</a>/ --<a href="../assistant.html">assistant</a>/ --</span>-<span class="title">-quickstart--</span>-</span>--</div>--------</div>---<div class="sidebar">-<p><img src="../logo_small.png" width="150" height="115" class="img" /></p>--<ul>-<li><a href="../install.html">install</a></li>-<li><a href="../assistant.html">assistant</a></li>-<li><a href="../walkthrough.html">walkthrough</a></li>-<li><a href="../tips.html">tips</a></li>-<li><span class="createlink">bugs</span></li>-<li><span class="createlink">todo</span></li>-<li><span class="createlink">forum</span></li>-<li><a href="../comments.html">comments</a></li>-<li><a href="../contact.html">contact</a></li>-<li><a href="http://flattr.com/thing/84843/git-annex"><img src="https://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" /></a></li>-</ul>---</div>---<div id="pagebody">--<div id="content">-<h2>first run</h2>--<p>To get started with the git-annex assistant, just pick it from-your system's list of applications.</p>--<p><a href="./menu.png"><img src="./menu.png" width="385" height="307" class="img" /></a>-<a href="./osx-app.png"><img src="./osx-app.png" width="87" height="98" class="img" /></a></p>--<p>It'll prompt you to set up a folder:</p>--<p><a href="./makerepo.png"><img src="./makerepo.png" width="588" height="476" class="img" /></a></p>--<p>Then any changes you make to its folder will automatically be committed to-git, and synced to repositories on other computers. You can use the-interface to add repositories and control the git-annex assistant.</p>--<p><a href="./running.png"><img src="./running.png" width="614" height="366" class="img" /></a></p>--<h2>starting on boot</h2>--<p>The git-annex assistant will automatically be started when you log in to-desktop environments like Mac OS X, Gnome, XFCE, and KDE, and the menu item-shown above can be used to open the webapp. On other systems, you may need-to start it by hand.</p>--<p>To start the webapp, run <code>git annex webapp</code> at the command line.</p>--<p>To start the assistant without opening the webapp,-you can run the command "git annex assistant --autostart". This is a-good thing to configure your system to run automatically when you log in.</p>--</div>----<div id="comments">-----<div class="addcomment">Comments on this page are closed.</div>--</div>----</div>--<div id="footer" class="pagefooter">--<div id="pageinfo">-------<div id="backlinks">-Links:--<a href="../assistant.html">assistant</a>---</div>-------<div class="pagedate">-Last edited <span class="date">Sat May  4 11:06:34 2013</span>-<!-- Created <span class="date">Sat May  4 11:06:34 2013</span> -->-</div>--</div>---<!-- from git-annex -->-</div>--</div>--</body>-</html>
− debian/git-annex/usr/share/doc/git-annex/html/assistant/release_notes.html
@@ -1,573 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">-<html xmlns="http://www.w3.org/1999/xhtml">--<head>--<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />-<title>release notes</title>--<link rel="stylesheet" href="../style.css" type="text/css" />--<link rel="stylesheet" href="../local.css" type="text/css" />-------</head>-<body>--<div class="page">--<div class="pageheader">-<div class="header">-<span>-<span class="parentlinks">--<a href="../index.html">git-annex</a>/ --<a href="../assistant.html">assistant</a>/ --</span>-<span class="title">-release notes--</span>-</span>--</div>--------</div>---<div class="sidebar">-<p><img src="../logo_small.png" width="150" height="115" class="img" /></p>--<ul>-<li><a href="../install.html">install</a></li>-<li><a href="../assistant.html">assistant</a></li>-<li><a href="../walkthrough.html">walkthrough</a></li>-<li><a href="../tips.html">tips</a></li>-<li><span class="createlink">bugs</span></li>-<li><span class="createlink">todo</span></li>-<li><span class="createlink">forum</span></li>-<li><a href="../comments.html">comments</a></li>-<li><a href="../contact.html">contact</a></li>-<li><a href="http://flattr.com/thing/84843/git-annex"><img src="https://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" /></a></li>-</ul>---</div>---<div id="pagebody">--<div id="content">-<h2>version 4.20130501</h2>--<p>This version contains numerous bug fixes, and improvements.</p>--<h2>version 4.20130417</h2>--<p>This version contains numerous bug fixes, and improvements.</p>--<p>One bug that was fixed can affect users of gnome-keyring who-have set up remote repositories on ssh servers using the webapp.-The gnome-keyring may load the restricted key that is set up-for that, and make it be used for regular logins to the server;-with the result that you'll get an error message about "git-annex-shell"-when sshing to the server.</p>--<p>If you experience this problem you can fix it by-moving <code>.ssh/key.git-annex*</code> to <code>.ssh/git-annex/</code> (creating-that directory first), and edit <code>.ssh/config</code> to reflect the new-location of the key. You will also need to restart gnome-keyring.</p>--<h2>version 4.20130323, 4.20130405</h2>--<p>These versions continue fixing bugs and adding features.</p>--<h2>version 4.20130314</h2>--<p>This version makes a great many improvements and bugfixes, and is-a recommended upgrade.</p>--<p>If you have already used the webapp to locally pair two computers,-a bug caused the paired repository to not be given an appropriate cost.-To fix this, go into the Repositories page in the webapp, and drag the-repository for the locally paired computer to come before any repositories-that it's more expensive to transfer data to.</p>--<h2>version 4.20130227</h2>--<p>This release fixes a bug with globbing that broke preferred content expressions.-So, it is a recommended upgrade from the previous release, which introduced-that bug.</p>--<p>In this release, the assistant is fully working on Android, although-it must be set up using the command line.</p>--<p>Repositories can now be placed on filesystems that lack support for symbolic-links; FAT support is complete.</p>--<h2>version 3.20130216</h2>--<p>This adds a port to Android. Only usable at the command line so far;-beta qualitty.</p>--<p>Also a bugfix release, and improves support for FAT.</p>--<p>The following are known limitations of this release of the git-annex-assistant:</p>--<ul>-<li>No Android app yet.</li>-<li>On BSD operating systems (but not on OS X), the assistant uses kqueue to-watch files. Kqueue has to open every directory it watches, so too many-directories will run it out of the max number of open files (typically-1024), and fail. See <span class="createlink">this bug</span>-for a workaround.</li>-<li>Also on systems with kqueue, modifications to existing files in direct-mode will not be noticed.</li>-</ul>---<h2>version 3.20130107, 3.20130114, 3.20130124, 3.20130207</h2>--<p>These are bugfix releases.</p>--<h2>version 3.20130102</h2>--<p>This release makes several significant improvements to the git-annex-assistant, which is still in beta.</p>--<p>The main improvement is direct mode. This allows you to directly edit files-in the repository, and the assistant will automatically commit and sync-your changes. Direct mode is the default for new repositories created-by the assistant. To convert your existing repository to use direct mode,-manually run <code>git annex direct</code> inside the repository.</p>--<h2>version 3.20121211</h2>--<p>This release of the git-annex assistant (which is still in beta)-consists of mostly bugfixes, user interface improvements, and improvements-to existing features.</p>--<p>In general, anything you can configure with the assistant's web app-will work. Some examples of use cases supported by this release include:</p>--<ul>-<li>Using Box.com's 5 gigabytes of free storage space as a cloud transfer-point between between repositories that cannot directly contact-one-another. (Many other cloud providers are also supported, from Rsync.net-to Amazon S3, to your own ssh server.)</li>-<li>Archiving or backing up files to Amazon Glacier. See <a href="./archival_walkthrough.html">archival walkthrough</a>.</li>-<li><a href="./share_with_a_friend_walkthrough.html">Sharing repositories with friends</a>-contacted through a Jabber server (such as Google Talk).</li>-<li><a href="./local_pairing_walkthrough.html">Pairing</a> two computers that are on the same local-network (or VPN) and automatically keeping the files in the annex in-sync as changes are made to them.</li>-<li>Cloning your repository to removable drives, USB keys, etc. The assistant-will notice when the drive is mounted and keep it in sync.-Such a drive can be stored as an offline backup, or transported between-computers to keep them in sync.</li>-</ul>---<p>The following are known limitations of this release of the git-annex-assistant:</p>--<ul>-<li>The Max OSX standalone app may not work on all versions of Max OSX.-Please test!</li>-<li>On Mac OSX and BSD operating systems, the assistant uses kqueue to watch-files. Kqueue has to open every directory it watches, so too many-directories will run it out of the max number of open files (typically-1024), and fail. See <span class="createlink">Issue on OSX with some system limits</span>-for a workaround.</li>-</ul>---<h2>version 3.20121126</h2>--<p>This adds several features to the git-annex assistant, which is still in beta.</p>--<p>In general, anything you can configure with the assistant's web app-will work. Some examples of use cases supported by this release include:</p>--<ul>-<li>Using Box.com's 5 gigabytes of free storage space as a cloud transfer-point between between repositories that cannot directly contact-one-another. (Many other cloud providers are also supported, from Rsync.net-to Amazon S3, to your own ssh server.)</li>-<li>Archiving or backing up files to Amazon Glacier.</li>-<li><a href="./share_with_a_friend_walkthrough.html">Sharing repositories with friends</a>-contacted through a Jabber server (such as Google Talk).</li>-<li><a href="./local_pairing_walkthrough.html">Pairing</a> two computers that are on the same local-network (or VPN) and automatically keeping the files in the annex in-sync as changes are made to them.</li>-<li>Cloning your repository to removable drives, USB keys, etc. The assistant-will notice when the drive is mounted and keep it in sync.-Such a drive can be stored as an offline backup, or transported between-computers to keep them in sync.</li>-</ul>---<p>The following are known limitations of this release of the git-annex-assistant:</p>--<ul>-<li>The Max OSX standalone app does not work on all versions of Max OSX.</li>-<li>On Mac OSX and BSD operating systems, the assistant uses kqueue to watch-files. Kqueue has to open every directory it watches, so too many-directories will run it out of the max number of open files (typically-1024), and fail. See <span class="createlink">Issue on OSX with some system limits</span>-for a workaround.</li>-<li>Retrieval of files from Amazon Glacier is not fully automated; the-assistant does not automatically retry in the 4 to 5 hours period-when Glacier makes the files available.</li>-</ul>---<h2>version 3.20121112</h2>--<p>This is a major upgrade of the git-annex assistant, which is still in beta.</p>--<p>In general, anything you can configure with the assistant's web app-will work. Some examples of use cases supported by this release include:</p>--<ul>-<li><a href="./share_with_a_friend_walkthrough.html">Sharing repositories with friends</a>-contacted through a Jabber server (such as Google Talk).</li>-<li>Setting up cloud repositories, that are used as backups, archives,-or transfer points between repositories that cannot directly contact-one-another.</li>-<li><a href="./local_pairing_walkthrough.html">Pairing</a> two computers that are on the same local-network (or VPN) and automatically keeping the files in the annex in-sync as changes are made to them.</li>-<li>Cloning your repository to removable drives, USB keys, etc. The assistant-will notice when the drive is mounted and keep it in sync.-Such a drive can be stored as an offline backup, or transported between-computers to keep them in sync.</li>-</ul>---<p>The following upgrade notes apply if you're upgrading from a previous version:</p>--<ul>-<li>For best results, edit the configuration of repositories you set-up with older versions, and place them in a repository group.-This lets the assistant know how you want to use the repository; for backup,-archival, as a transfer point for clients, etc. Go to Configuration -&gt;-Manage Repositories, and click in the "configure" link to edit a repository's-configuration.</li>-<li>If you set up a cloud repository with an older version, and have multiple-clients using it, you are recommended to configure an Jabber account,-so that clients can use it to communicate when sending data to the-cloud repository. Configure Jabber by opening the webapp, and going to-Configuration -&gt; Configure jabber account</li>-<li>When setting up local pairing, the assistant did not limit the paired-computer to accessing a single git repository. This new version does,-by setting GIT_ANNEX_SHELL_DIRECTORY in <code>~/.ssh/authorized_keys</code>.</li>-</ul>---<p>The following are known limitations of this release of the git-annex-assistant:</p>--<ul>-<li>On Mac OSX and BSD operating systems, the assistant uses kqueue to watch-files. Kqueue has to open every directory it watches, so too many-directories will run it out of the max number of open files (typically-1024), and fail. See <span class="createlink">Issue on OSX with some system limits</span>-for a workaround.</li>-</ul>---<h2>version 3.20121009</h2>--<p>This is a maintenance release of the git-annex assistant, which is still in-beta.</p>--<p>In general, anything you can configure with the assistant's web app-will work. Some examples of use cases supported by this release include:</p>--<ul>-<li><a href="./local_pairing_walkthrough.html">Pairing</a> two computers that are on the same local-network (or VPN) and automatically keeping the files in the annex in-sync as changes are made to them.</li>-<li>Cloning your repository to removable drives, USB keys, etc. The assistant-will notice when the drive is mounted and keep it in sync.-Such a drive can be stored as an offline backup, or transported between-computers to keep them in sync.</li>-<li>Cloning your repository to a remote server, running ssh, and uploading-changes made to your files to the server. There is special support-for using the rsync.net cloud provider this way, or any shell account-on a typical unix server, such as a Linode VPS can be used.</li>-</ul>---<p>The following are known limitations of this release of the git-annex-assistant:</p>--<ul>-<li>On Mac OSX and BSD operating systems, the assistant uses kqueue to watch-files. Kqueue has to open every directory it watches, so too many-directories will run it out of the max number of open files (typically-1024), and fail. See <span class="createlink">Issue on OSX with some system limits</span>-for a workaround.</li>-<li>In order to ensure that all multiple repositories are kept in sync,-each computer with a repository must be running the git-annex assistant.</li>-<li>The assistant does not yet always manage to keep repositories in sync-when some are hidden from others behind firewalls.</li>-</ul>---<h2>version 3.20120924</h2>--<p>This is the first beta release of the git-annex assistant.</p>--<p>In general, anything you can configure with the assistant's web app-will work. Some examples of use cases supported by this release include:</p>--<ul>-<li><a href="./local_pairing_walkthrough.html">Pairing</a> two computers that are on the same local-network (or VPN) and automatically keeping the files in the annex in-sync as changes are made to them.</li>-<li>Cloning your repository to removable drives, USB keys, etc. The assistant-will notice when the drive is mounted and keep it in sync.-Such a drive can be stored as an offline backup, or transported between-computers to keep them in sync.</li>-<li>Cloning your repository to a remote server, running ssh, and uploading-changes made to your files to the server. There is special support-for using the rsync.net cloud provider this way, or any shell account-on a typical unix server, such as a Linode VPS can be used.</li>-</ul>---<p>The following are known limitations of this release of the git-annex-assistant:</p>--<ul>-<li>On Mac OSX and BSD operating systems, the assistant uses kqueue to watch-files. Kqueue has to open every directory it watches, so too many-directories will run it out of the max number of open files (typically-1024), and fail. See <span class="createlink">Issue on OSX with some system limits</span>-for a workaround.</li>-<li>In order to ensure that all multiple repositories are kept in sync,-each computer with a repository must be running the git-annex assistant.</li>-<li>The assistant does not yet always manage to keep repositories in sync-when some are hidden from others behind firewalls.</li>-<li>If a file is checked into git as a normal file and gets modified-(or merged, etc), it will be converted into an annexed file. So you-should not mix use of the assistant with normal git files in the same-repository yet.</li>-<li>If you <code>git annex unlock</code> a file, it will immediately be re-locked.-See <span class="createlink">watcher commits unlocked files</span>.</li>-</ul>---</div>----<div id="comments">-<div  class="feedlink">---</div>-<div class="comment" id="comment-750d9d9679548f9c107b86463ffc6c63">----<div class="comment-subject">--<a href="/assistant/release_notes.html#comment-750d9d9679548f9c107b86463ffc6c63">OSX 10.8&#x27;s gatekeeper does not like git-annex</a>--</div>--<div class="inlinecontent">-<p>Trying to run this release on OSX results in an error message from Gatekeeper:</p>--<blockquote><p>"git-annex" can't be opened because it is from an unidentified developer.</p>--<p>Your security preferences allow installation of only apps from the Mac App Store and identified developers.</p></blockquote>--<p>It would be nice if the binary could be signed to make Gatekeeper happy. Until then a note in the installation instructions might be useful.</p>---</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="http://wiggy.net/">Wichert</a>-</span>---&mdash; <span class="date">Tue Nov 13 10:47:52 2012</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-4ec347a82669fabb94e58d4b5c462884">----<div class="comment-subject">--<a href="/assistant/release_notes.html#comment-4ec347a82669fabb94e58d4b5c462884">git-annex not runnable on OSX 10.8</a>--</div>--<div class="inlinecontent">-<p>After telling Gatekeeper that I really want to run git-annex it still fails:</p>--<p>[fog;~]-131&gt; open Applications/git-annex.app-LSOpenURLsWithRole() failed with error -10810 for the file /Users/wichert/Applications/git-annex.app.</p>---</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="http://wiggy.net/">Wichert</a>-</span>---&mdash; <span class="date">Tue Nov 13 10:49:35 2012</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-bf41641d0dfc2a217615673f62d1e10e">----<div class="comment-subject">--<a href="/assistant/release_notes.html#comment-bf41641d0dfc2a217615673f62d1e10e">comment 3</a>--</div>--<div class="inlinecontent">-<p>This has been previously reported: <span class="createlink">OSX git-annex.app error:  LSOpenURLsWithRole&#40;&#41;</span></p>--<p>No clue what that error is supposed to mean.</p>---</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="http://joeyh.name/">joeyh.name</a>-</span>---&mdash; <span class="date">Tue Nov 13 13:11:51 2012</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-6cc0fc47b477d4906add9ddf5f983733">----<div class="comment-subject">--<a href="/assistant/release_notes.html#comment-6cc0fc47b477d4906add9ddf5f983733">comment 4</a>--</div>--<div class="inlinecontent">-sadly i only have a 10.7 machine to create the builds, so I have no experience with 10.8. I haven't had a 10.6 machine in a while to create the builds. Anyone else want to work together in setting up another 10.6 or 10.8 builder for others?--</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="https://www.google.com/accounts/o8/id?id=AItOawkSq2FDpK2n66QRUxtqqdbyDuwgbQmUWus">Jimmy</a>-</span>---&mdash; <span class="date">Fri Nov 16 09:02:40 2012</span>-</div>----<div style="clear: both"></div>-</div>-----<div class="addcomment">Comments on this page are closed.</div>--</div>----</div>--<div id="footer" class="pagefooter">--<div id="pageinfo">-------<div id="backlinks">-Links:--<a href="../assistant.html">assistant</a>---</div>-------<div class="pagedate">-Last edited <span class="date">Sat May  4 11:06:34 2013</span>-<!-- Created <span class="date">Sat May  4 11:06:34 2013</span> -->-</div>--</div>---<!-- from git-annex -->-</div>--</div>--</body>-</html>
− debian/git-annex/usr/share/doc/git-annex/html/assistant/repogroup.png

binary file changed (10986 → absent bytes)

− debian/git-annex/usr/share/doc/git-annex/html/assistant/repogroups.png

binary file changed (18490 → absent bytes)

− debian/git-annex/usr/share/doc/git-annex/html/assistant/repositories.png

binary file changed (63405 → absent bytes)

− debian/git-annex/usr/share/doc/git-annex/html/assistant/rsync.net.png

binary file changed (61465 → absent bytes)

− debian/git-annex/usr/share/doc/git-annex/html/assistant/running.png

binary file changed (24664 → absent bytes)

− debian/git-annex/usr/share/doc/git-annex/html/assistant/thanks.html
@@ -1,379 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">-<html xmlns="http://www.w3.org/1999/xhtml">--<head>--<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />-<title>thanks</title>--<link rel="stylesheet" href="../style.css" type="text/css" />--<link rel="stylesheet" href="../local.css" type="text/css" />-------</head>-<body>--<div class="page">--<div class="pageheader">-<div class="header">-<span>-<span class="parentlinks">--<a href="../index.html">git-annex</a>/ --<a href="../assistant.html">assistant</a>/ --</span>-<span class="title">-thanks--</span>-</span>--</div>--------</div>---<div class="sidebar">-<p><img src="../logo_small.png" width="150" height="115" class="img" /></p>--<ul>-<li><a href="../install.html">install</a></li>-<li><a href="../assistant.html">assistant</a></li>-<li><a href="../walkthrough.html">walkthrough</a></li>-<li><a href="../tips.html">tips</a></li>-<li><span class="createlink">bugs</span></li>-<li><span class="createlink">todo</span></li>-<li><span class="createlink">forum</span></li>-<li><a href="../comments.html">comments</a></li>-<li><a href="../contact.html">contact</a></li>-<li><a href="http://flattr.com/thing/84843/git-annex"><img src="https://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" /></a></li>-</ul>---</div>---<div id="pagebody">--<div id="content">-<p>The development of the git-annex assistant was made possible by the-generous donations of many people. I want to say "Thank You!" to each of-you individually, but until I meet all 951 of you, this page will have to-do. You have my most sincere thanks. --<span class="createlink">Joey</span></p>--<p>(If I got your name wrong, or you don't want it publically posted here,-email <a href="mailto:joey@kitenet.net">&#x6a;&#111;&#101;&#x79;&#64;&#107;&#105;&#x74;&#101;&#110;&#x65;&#116;&#x2e;&#110;&#x65;&#116;</a>.)</p>--<h2>Major Backers</h2>--<p>These people are just inspiring in their enthusiasm and generosity to this-project.</p>--<ul>-<li>Jason Scott</li>-<li>strager</li>-</ul>---<h2>Beta Testers</h2>--<p>Whole weeks of my time were made possible thanks to each of these-people, and their testing is invaluable to the development of-the git-annex assistant.</p>--<ul>-<li>Jimmy Tang</li>-<li>David Pollak</li>-<li>Pater</li>-<li>Francois Marier</li>-<li>Paul Sherwood</li>-<li>Fred Epma</li>-<li>Robert Ristroph</li>-<li>Josh Triplett</li>-<li>David Haslem</li>-<li>AJ Ashton</li>-<li>Svenne Krap</li>-<li>Drew Hess</li>-<li>Peter van Westen</li>-</ul>---<h2>Prioritizers</h2>--<p>These forward-thinking people contributed generously just to help-set my priorities in which parts of the git-annex assistant were most-important to develop.</p>--<p>Paul C. Bryan, Paul Tötterman, Don Marti, Dean Thompson, Djoume, David Johnston-Asokan Pichai, Anders Østhus, Dominik Wagenknecht, Charlie Fox, Yazz D. Atlas,-fenchel, Erik Penninga, Richard Hartmann, Graham, Stan Yamane, Ben Skelton,-Ian McEwen, asc, Paul Tagliamonte, Sherif Abouseda, Igor Támara, Anne Wind,-Mesar Hameed, Brandur K. Holm Petersen, Takahiro Inoue, Kai Hendry,-Stephen Youndt, Lee Roberson, Ben Strawbridge, Andrew Greenberg, Alfred Adams-Andrew, Aaron De Vries, Monti Knazze, Jorge Canseco, Hamish, Mark Eichin,-Sherif Abouseda, Ben Strawbridge, chee rabbits, Pedro Côrte-Real</p>--<p>And special thanks to Kevin McKenzie, who also gave me a login to a Mac OSX-machine, which has proven invaluable, and Jimmy Tang who has helped-with Mac OSX autobuilding and packaging.</p>--<h2>Other Backers</h2>--<p>Most of the success of the Kickstarter is thanks to these folks. Some of-them spent significant amounts of money in the guise of getting some-swag. For others, being listed here, and being crucial to making the-git-annex assistant happen was reward enough. Large or small, these-contributions are, literally, my bread and butter this year.</p>--<p>Amitai Schlair, mvime, Romain Lenglet, James Petts, Jouni Uuksulainen,-Wichert Akkerman, Robert Bellus, Kasper Souren, rob, Michiel Buddingh',-Kevin, Rob Avina, Alon Levy, Vikash, Michael Alan Dorman, Harley Pig,-Andreas Olsson, Pietpiet, Christine Spang, Liz Young, Oleg Kosorukov,-Allard Hoeve, Valentin Haenel, Joost Baaij, Nathan Yergler, Nathan Howell,-Frédéric Schütz, Matti Eskelinen, Neil McGovern, Lane Lillquist, db48x,-Stuart Prescott, Mark Matienzo, KarlTheGood, leonm, Drew Slininger,-Andreas Fuchs, Conrad Parker, Johannes Engelke, Battlegarden, Justin Kelly,-Robin Wagner, Thad Ward, crenquis, Trudy Goold, Mike Cochrane, Adam Venturella,-Russell Foo, furankupan, Giorgio Occhioni, andy, mind, Mike Linksvayer,-Stefan Strahl, Jelmer Vernooij, Markus Fix, David Hicks, Justin Azoff,-Iain Nicol, Bob Ippolito, Thomas Lundstrøm, Jason Mandel, federico2,-Edd Cochran, Jose Ortega, Emmett Agnew, Rudy Garcia, Kodi, Nick Rusnov,-Michael Rubin, Tom de Grunt, Richard Murray, Peter, Suzanne Pierce, Jared-Marcotte, folk, Eamon, Jeff Richards, Leo Sutedja, dann frazier, Mikkel-kristiansen, Matt Thomas, Kilian Evang, Gergely Risko, Kristian Rumberg,-Peter Kropf, Mark Hepburn, greymont, D. Joe Anderson, Jeremy Zunker, ctebo,-Manuel Roumain, Jason Walsh, np, Shawn, Johan Tibell, Branden Tyree, Dinyar-Rabady, Andrew Mason, damond armstead, Ethan Aubin, TomTom Tommie, Jimmy-Kaplowitz, Steven Zakulec, mike smith, Jacob Kirkwood, Mark Hymers, Nathan-Collins, Asbjørn Sloth Tønnesen, Misty De Meo, James Shubin,-Jim Paris, Adam Sjøgren, miniBill, Taneli, Kumar Appaiah, Greg Grossmeier,-Sten Turpin, Otavio Salvador, Teemu Hukkanen, Brian Stengaard, bob walker,-bibeneus, andrelo, Yaroslav Halchenko, hesfalling, Tommy L, jlargentaye,-Serafeim Zanikolas, Don Armstrong, Chris Cormack, shayne.oneill, Radu-Raduta, Josh S, Robin Sheat, Henrik Mygind, kodx, Christian, Geoff-Crompton, Brian May, Olivier Berger, Filippo Gadotti, Daniel Curto-Millet,-Eskild Hustvedt, Douglas Soares de Andrade, Tom L, Michael Nacos, Michaël-P., William Roe, Joshua Honeycutt, Brian Kelly, Nathan Rasch, jorge, Martin-Galese, alex cox, Avery Brooks, David Whittington, Dan Martinez, Forrest-Sutton, Jouni K. Seppänen, Arnold Cano, Robert Beaty, Daniel, Kevin Savetz,-Randy, Ernie Braganza, Aaron Haviland, Brian Brunswick, asmw, sean, Michael-Williams, Alexander, Dougal Campbell, Robert Bacchas, Michael Lewis, Collin-Price, Wes Frazier, Matt Wall, Brandon Barclay, Derek van Vliet, Martin-DeMello, kitt hodsden, Stephen Kitt, Leif Bergman, Simon Lilburn, Michael-Prokop, Christiaan Conover, Nick Coombe, Tim Dysinger, Brandon Robinson,-Philip Newborough, keith, Mike Fullerton, Kyle, Phil Windley, Tyler Head,-George V. Reilly, Matthew, Ali Gündüz, Vasyl Diakonov, Paolo Capriotti,-allanfranta, Martin Haeberli, msingle, Vincent Sanders, Steven King, Dmitry-Gribanov, Brandon High, Ben Hughes, Mike Dank, JohnE, Diggory Hardy,-Michael Hanke, valhalla, Samuli Tuomola, Jeff Rau, Benjamin Lebsanft, John-Drago, James, Aidan Cooper, rondie, Paul Kohler, Matthew Knights, Aaron-Junod, Patrick R McDonald, Christopher Browne, Daniel Engel, John SJ-Anderson, Peter Sarossy, Mike Prasad, Christoph Ender, Jan Dittberner,-Zohar, Alexander Jelinek, stefan, Danny O'Brien, Matthew Thode, Nicole-Aptekar, maurice gaston, Chris Adams, Mike Klemencic, Reedy, Subito, Tobias-Gruetzmacher, Ole-Morten Duesund, André Koot, mp, gdop, Cole Scott, Blaker,-Matt Sottile, W. Craig Trader, Louis-Philippe Dubrule, Brian Boucheron,-Duncan Smith, Brenton Buchbach, Kyle Stevenson, Eliot Lash, Egon Elbre,-Praveen, williamji, Thomas Schreiber, Neil Ford, Ryan Pratt, Joshua Brand,-Peter Cox, Markus Engstrom, John Sutherland, Dean Bailey, Ed Summers,-Hillel Arnold, David Fiander, Kurt Yoder, Trevor Muñoz, keri, Ivan-Sergeyenko, Shad Bolling, Tal Kelrich, Steve Presley, gerald ocker, Essex-Taylor, Josh Thomson, Trevor Bramble, Lance Higgins, Frank Motta, Dirk-Kraft, soundray, Joe Haskins, nmjk, Apurva Desai, Colin Dean, docwhat,-Joseph Costello, Jst, flamsmark, Alex Lang, Bill Traynor, Anthony David,-Marc-André Lureau, AlNapp, Giovanni Moretti, John Lawrence, João Paulo-Pizani Flor, Jim Ray, Gregory Thrush, Alistair McGann, Andrew Wied,-Koutarou Furukawa, Xiscu Ignacio, Aaron Sachs, Matt, Quirijn, Chet-Williams, Chris Gray, Bruce Segal, Tom Conder, Louis Tovar, Alex Duryee,-booltox, d8uv, Decklin Foster, Rafael Cervantes, Micah R Ledbetter, Kevin-Sjöberg, Johan Strombom, Zachary Cohen, Jason Lewis, Yves Bilgeri, Ville-Aine, Mark Hurley, Marco Bonetti, Maximilian Haack, Hynek Schlawack,-Michael Leinartas, Andreas Liebschner, Duotrig, Nat Fairbanks, David-Deutsch, Colin Hayhurst, calca, Kyle Goodrick, Marc Bobillier, Robert-Snook, James Kim, Olivier Serres, Jon Redfern, Itai Tavor, Michael-Fladischer, Rob, Jan Schmid, Thomas H., Anders Söderbäck, Abhishek-Dasgupta, Jeff Goeke-Smith, Tommy Thorn, bonuswavepilot, Philipp Edelmann,-Nick, Alejandro Navarro Fulleda, Yann Lallemant, andrew brennan,-Dave Allen Barker Jr, Fabian, Lukas Anzinger, Carl Witty, Andy Taylor,-Andre Klärner, Andrew Chilton, Adam Gibbins, Alexander Wauck, Shane O'Dea,-Paul Waite, Iain McLaren, Maggie Ellen Robin Hess, Willard Korfhage,-Nicolas, Eric Nikolaisen, Magnus Enger, Philipp Kern, Andrew Alderwick,-Raphael Wimmer, Benjamin Schötz, Ana Guerrero, Pete, Pieter van der Eems,-Aaron Suggs, Fred Benenson, Cedric Howe, Lance Ivy, Tieg Zaharia, Kevin-Cooney, Jon Williams, Anton Kudris, Roman Komarov, Brad Hilton, Rick Dakan,-Adam Whitcomb, Paul Casagrande, Evgueni Baldin, Robert Sanders, Kagan-Kayal, Dean Gardiner, micah altman, Cameron Banga, Ross Mcnairn, Oscar-Vilaplana, Robin Graham, Dan Gervais, Jon Åslund, Ragan Webber, Noble Hays,-stephen brown, Sean True, Maciek Swiech, faser, eikenberry, Kai Laborenz,-Sergey Fedoseev, Chris Fournier, Svend Sorensen, Greg K, wojtek, Johan-Ribenfors, Anton, Benjamin, Oleg Tsarev, PsychoHazard, John Cochrane,-Kasper Lauritzen, Patrick Naish, Rob, Keith Nasman, zenmaster, David Royer,-Max Woolf, Dan Gabber, martin rhoads, Martin Schmidinger, Paul-Scott-Wilson, Tom Gromak, Andy Webster, Dale Webb, Jim Watson, Stephen-Hansen, Mircea, Dan Goodenberger, Matthias Fink, Andy Gott, Daniel, Jai-Nelson, Shrayas Rajagopal, Vladimir Rutsky, Alexander, Thorben Westerhuys,-hiruki, Tao Neuendorffer Flaherty, Elline, Marco Hegenberg, robert, Balda,-Brennen Bearnes, Richard Parkins, David Gwilliam, Mark Johnson, Jeff Eaton,-Reddawn90, Heather Pusey, Chris Heinz, Colin, Phatsaphong Thadabusapa,-valunthar, Michael Martinez, redlukas, Yury V. Zaytsev, Blake, Tobias-"betabrain" A., Leon, sopyer, Steve Burnett, bessarabov, sarble, krsch.com,-Jack Self, Jeff Welch, Sam Pettiford, Jimmy Stridh, Diego Barberá, David-Steele, Oscar Ciudad, John Braman, Jacob, Nick Jenkins, Ben Sullivan, Brian-Cleary, James Brosnahan, Darryn Ten, Alex Brem, Jonathan Hitchcock, Jan-Schmidle, Wolfrzx99, Steve Pomeroy, Matthew Sitton, Finkregh, Derek Reeve,-GDR!, Cory Chapman, Marc Olivier Chouinard, Andreas Ryland, Justin, Andreas-Persenius, Games That Teach, Walter Somerville, Bill Haecker, Brandon-Phenix, Justin Shultz, Colin Scroggins, Tim Goddard, Ben Margolin, Michael-Martinez, David Hobbs, Andre Le, Jason Roberts, Bob Lopez, Gert Van Gool,-Robert Carnel, Anders Lundqvist, Aniruddha Sathaye, Marco Gillies, Basti-von Bejga, Esko Arajärvi, Dominik Deobald, Pavel Yudaev, Fionn Behrens,-Davide Favargiotti, Perttu Luukko, Silvan Jegen, Marcelo Bittencourt,-Leonard Peris, smercer, Alexandre Dupas, Solomon Matthews, Peter Hogg,-Richard E. Varian, Ian Oswald, James W. Sarvey, Ed Grether, Frederic-Savard, Sebastian Nerz, Hans-Chr. Jehg, Matija Nalis, Josh DiMauro, Jason-Harris, Adam Byrtek, Tellef, Magnus, Bart Schuurmans, Giel van Schijndel,-Ryan, kiodos, Richard 'maddog' Collins, PawZubr, Jason Gassel, Alex-Boisvert, Richard Thompson, maddi bolton, csights, Aaron Bryson, Jason Chu,-Maxime Côté, Kineteka Systems, Joe Cabezas, Mike Czepiel, Rami Nasra,-Christian Simonsen, Wouter Beugelsdijk, Adam Gibson, Gal Buki, James-Marble, Alan Chambers, Bernd Wiehle, Simon Korzun, Daniel Glassey, Eero af-Heurlin, Mikael, Timo Engelhardt, Wesley Faulkner, Jay Wo, Mike Belle,-David Fowlkes Jr., Karl-Heinz Strass, Ed Mullins, Sam Flint,-Hendrica, Mark Emer Anderson, Joshua Cole, Jan Gondol, Henrik Lindhe,-Albert Delgado, Patrick, Alexa Avellar, Chris, sebsn1349, Maxim Kachur,-Andrew Marshall, Navjot Narula, Alwin Mathew, Christian Mangelsdorf, Avi-Shevin, Kevin S., Guillermo Sanchez Estrada, Alex Krieger, Luca Meier, Will-Jessop, Nick Ruest, Lani Aung, Ulf Benjaminsson, Rudi Engelbrecht, Miles-Matton, Cpt_Threepwood, Adam Kuyper, reacocard, David Kilsheimer, Peter-Olson, Bill Fischofer, Prashant Shah, Simon Bonnick, Alexander Grudtsov,-Antoine Boegli, Richard Warren, Sebastian Rust, AlmostHuman, Timmy-Crawford, PC, Marek Belski, pontus, Douglas S Butts, Eric Wallmander, Joe-Pelar, VIjay, Trahloc, Vernon Vantucci, Matthew baya, Viktor Štujber,-Stephen Akiki, Daniil Zamoldinov, Atley, Chris Thomson, Jacob Briggs, Falko-Richter, Andy Schmitz, Sergi Sagas, Peder Refsnes, Jonatan, Ben, Bill-Niblock, Agustin Acuna, Jeff Curl, Tim Humphrey, bib, James Zarbock,-Lachlan Devantier, Michal Berg, Jeff Lucas, Sid Irish, Franklyn, Jared-Dickson, Olli Jarva, Adam Gibson, Lukas Loesche, Jukka Määttä, Alexander-Lin, Dao Tran, Kirk, briankb, Ryan Villasenor, Daniel Wong, barista, Tomas-Jungwirth, Jesper Hansen, Nivin Singh, Alessandro Tieghi, Billy Roessler,-Peter Fetterer, Pallav Laskar, jcherney, Tyler Wang, Steve, Gigahost, Beat-Wolf, Hannibal Skorepa, aktiveradio, Mark Nunnikhoven, Bret Comnes, Alan-Ruttenberg, Anthony DiSanti, Adam Warkiewicz, Brian Bowman, Jonathan, Mark-Filley, Tobias Mohr, Christian St. Cyr, j. faceless user, Karl Miller,-Thomas Taimre, Vikram, Jason Mountcastle, Jason, Paul Elliott, Alexander,-Stephen Farmer, rayslava, Peter Leurs, Sky Kruse, JP Reeves, John J Schatz,-Martin Sandmair, Will Thompson, John Hergenroeder, Thomas, Christophe-Ponsart, Wolfdog, Eagertolearn, LukasM, Federico Hernandez, Vincent Bernat,-Christian Schmidt, Cameron Colby Thomson, Josh Duff, James Brown, Theron-Trowbridge, Falke, Don Meares, tauu, Greg Cornford, Max Fenton, Kenneth-Reitz, Bruce Bensetler, Mark Booth, Herb Mann, Sindre Sorhus, Chris-Knadler, Daniel Digerås, Derek, Sin Valentine, Ben Gamari, david-lampenscherf, fardles, Richard Burdeniuk, Tobias Kienzler, Dawid Humbla,-Bruno Barbaroxa, D Malt, krivar, James Valleroy, Peter, Tim Geddings,-Matthias Holzinger, Hanen, Petr Vacek, Raymond, Griff Maloney, Andreas-Helveg Rudolph, Nelson Blaha, Colonel Fubar, Skyjacker Captain Gavin-Phoenix, shaun, Michael, Kari Salminen, Rodrigo Miranda, Alan Chan, Justin-Eugene Evans, Isaac, Ben Staffin, Matthew Loar, Magos, Roderik, Eugenio-Piasini, Nico B, Scott Walter, Lior Amsalem, Thongrop Rodsavas, Alberto de-Paola, Shawn Poulen, John Swiderski, lluks, Waelen, Mark Slosarek, Jim-Cristol, mikesol, Bilal Quadri, LuP, Allan Nicolson, Kevin Washington,-Isaac Wedin, Paul Anguiano, ldacruz, Jason Manheim, Sawyer, Jason-Woofenden, Joe Danziger, Declan Morahan, KaptainUfolog, Vladron, bart, Jeff-McNeill, Christian Schlotter, Ben McQuillan, Anthony, Julian, Martin O,-altruism, Eric Solheim, MarkS, ndrwc, Matthew, David Lehn, Matthew-Cisneros, Mike Skoglund, Kristy Carey, fmotta, Tom Lowenthal, Branden-Tyree, Aaron Whitehouse</p>--<h2>Also thanks to</h2>--<ul>-<li>The Kickstarter team, who have unleashed much good on the world.</li>-<li>The Haskell developers, who toiled for 20 years in obscurity-before most of us noticed them, and on whose giant shoulders I now stand,-in awe of the view.</li>-<li>The Git developers, for obvious reasons.</li>-<li>All of git-annex's early adopters, who turned it from a personal-toy project into something much more, and showed me the interest was there.</li>-<li>Rsync.net, for providing me a free account so I can make sure git-annex-works well with it.</li>-<li>LeastAuthority.com, for providing me a free Tahoe-LAFS grid account,-so I can test git-annex with that, and back up the git-annex assistant-screencasts.</li>-<li>Anna and Mark, for the loan of the video camera; as well as the rest of-my family, for your support. Even when I couldn't explain what I was-working on.</li>-<li>The Hodges, for providing such a congenial place for me to live and work-on these first world problems, while you're off helping people in the-third world.</li>-</ul>---</div>----<div id="comments">-----<div class="addcomment">Comments on this page are closed.</div>--</div>----</div>--<div id="footer" class="pagefooter">--<div id="pageinfo">-------<div id="backlinks">-Links:--<a href="../assistant.html">assistant</a>---</div>-------<div class="pagedate">-Last edited <span class="date">Sat May  4 11:06:34 2013</span>-<!-- Created <span class="date">Sat May  4 11:06:34 2013</span> -->-</div>--</div>---<!-- from git-annex -->-</div>--</div>--</body>-</html>
− debian/git-annex/usr/share/doc/git-annex/html/assistant/thumbnail.png

binary file changed (3491 → absent bytes)

− debian/git-annex/usr/share/doc/git-annex/html/assistant/xmpp.png

binary file changed (27753 → absent bytes)

− debian/git-annex/usr/share/doc/git-annex/html/assistant/xmppnudge.png

binary file changed (6156 → absent bytes)

− debian/git-annex/usr/share/doc/git-annex/html/assistant/xmpppairingend.png

binary file changed (34379 → absent bytes)

− debian/git-annex/usr/share/doc/git-annex/html/backends.html
@@ -1,285 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">-<html xmlns="http://www.w3.org/1999/xhtml">--<head>--<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />-<title>backends</title>--<link rel="stylesheet" href="style.css" type="text/css" />--<link rel="stylesheet" href="local.css" type="text/css" />-------</head>-<body>--<div class="page">--<div class="pageheader">-<div class="header">-<span>-<span class="parentlinks">--<a href="./index.html">git-annex</a>/ --</span>-<span class="title">-backends--</span>-</span>--</div>--------</div>---<div class="sidebar">-<p><img src="./logo_small.png" width="150" height="115" class="img" /></p>--<ul>-<li><a href="./install.html">install</a></li>-<li><a href="./assistant.html">assistant</a></li>-<li><a href="./walkthrough.html">walkthrough</a></li>-<li><a href="./tips.html">tips</a></li>-<li><span class="createlink">bugs</span></li>-<li><span class="createlink">todo</span></li>-<li><span class="createlink">forum</span></li>-<li><a href="./comments.html">comments</a></li>-<li><a href="./contact.html">contact</a></li>-<li><a href="http://flattr.com/thing/84843/git-annex"><img src="https://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" /></a></li>-</ul>---</div>---<div id="pagebody">--<div id="content">-<p>When a file is annexed, a key is generated from its content and/or metadata.-The file checked into git symlinks to the key. This key can later be used-to retrieve the file's content (its value).</p>--<p>Multiple pluggable key-value backends are supported, and a single repository-can use different ones for different files.</p>--<ul>-<li><code>SHA256E</code> -- The default backend for new files. This allows-verifying that the file content is right, and can avoid duplicates of-files with the same content. Its need to generate checksums-can make it slower for large files.</li>-<li><code>SHA256</code> -- Does not include the file extension in the key, which can-lead to better deduplication.</li>-<li><code>WORM</code> ("Write Once, Read Many") This assumes that any file with-the same basename, size, and modification time has the same content.-This is the the least expensive backend, recommended for really large-files or slow systems.</li>-<li><code>SHA512</code>, <code>SHA512E</code> -- Best currently available hash, for the very paranoid.</li>-<li><code>SHA1</code>, <code>SHA1E</code> -- Smaller hash than <code>SHA256</code> for those who want a checksum- but are not concerned about security.</li>-<li><code>SHA384</code>, <code>SHA384E</code>, <code>SHA224</code>, <code>SHA224E</code> -- Hashes for people who like-unusual sizes.</li>-</ul>---<p>The <code>annex.backends</code> git-config setting can be used to list the backends-git-annex should use. The first one listed will be used by default when-new files are added.</p>--<p>For finer control of what backend is used when adding different types of-files, the <code>.gitattributes</code> file can be used. The <code>annex.backend</code>-attribute can be set to the name of the backend to use for matching files.</p>--<p>For example, to use the SHA256E backend for sound files, which tend to be-smallish and might be modified or copied over time,-while using the WORM backend for everything else, you could set-in <code>.gitattributes</code>:</p>--<pre><code>* annex.backend=WORM-*.mp3 annex.backend=SHA256E-*.ogg annex.backend=SHA256E-</code></pre>--</div>----<div id="comments">-<div  class="feedlink">---</div>-<div class="comment" id="comment-3c1cd45d2a015b4fc412dd813293ad7d">----<div class="comment-subject">--<a href="/backends.html#comment-3c1cd45d2a015b4fc412dd813293ad7d">SHA performance</a>--</div>--<div class="inlinecontent">-<p>It turns out that (at least on x86-64 machines) <code>SHA512</code> <a href="https://community.emc.com/community/edn/rsashare/blog/2010/11/01/sha-2-algorithms-when-sha-512-is-more-secure-and-faster">is faster than</a> <code>SHA256</code>. In some benchmarks I performed<sup>1</sup> <code>SHA256</code> was 1.8–2.2x slower than <code>SHA1</code> while <code>SHA512</code> was only 1.5–1.6x slower.</p>--<p><code>SHA224</code> and <code>SHA384</code> are effectively just truncated versions of <code>SHA256</code> and <code>SHA512</code> so their performance characteristics are identical.</p>--<p><sup>1</sup> <code>time head -c 100000000 /dev/zero | shasum -a 512</code></p>---</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="http://nanotech.nanotechcorp.net/">NanoTech</a>-</span>---&mdash; <span class="date">Fri Aug 10 00:37:32 2012</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-f1af10fa62cec23b61a688a3f8191f53">----<div class="comment-subject">--<a href="/backends.html#comment-f1af10fa62cec23b61a688a3f8191f53">Tracking remote copies not even stored locally / URL backend turned into a &#x22;special remote&#x22;.</a>--</div>--<div class="inlinecontent">-<p>In case you came here looking for the URL backend.</p>--<h2>The URL backend</h2>--<p>Several documents on the web refer to a special "URL backend", e.g. <a href="http://lwn.net/Articles/419241/">Large file management with git-annex [LWN.net]</a>.  Historical content will never be updated yet it drives people to living places.</p>--<h2>Why a URL backend ?</h2>--<p>It is interesting because you can:</p>--<ul>-<li>let <code>git-annex</code> rest on the fact that some documents are available as extra copies available at any time (but from something that is not a git repository).</li>-<li>track these documents like your own with all git features, which opens up some truly marvelous combinations, which this margin is too narrow to contain (Pierre d.F. wouldn't disapprove ;-).</li>-</ul>---<h2>How/Where now ?</h2>--<p><code>git-annex</code> used to have a URL backend. It seems that the design changed into a "special remote" feature, not limited to the web. You can now track files available through plain directories, rsync, webdav, some cloud storage, etc, even clay tablets. For details see <a href="./special_remotes.html">special remotes</a>.</p>---</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="https://www.google.com/accounts/o8/id?id=AItOawm7eqCMh_B7mxE0tnchbr0JoYu11FUAFRY">Stéphane</a>-</span>---&mdash; <span class="date">Thu Jan  3 06:59:35 2013</span>-</div>----<div style="clear: both"></div>-</div>-----<div class="addcomment">Comments on this page are closed.</div>--</div>----</div>--<div id="footer" class="pagefooter">--<div id="pageinfo">-------<div id="backlinks">-Links:--<a href="./how_it_works.html">how it works</a>--<a href="./internals.html">internals</a>--<a href="./internals/key_format.html">internals/key format</a>--<a href="./links/the_details.html">links/the details</a>--<a href="./scalability.html">scalability</a>--<a href="./tips/Internet_Archive_via_S3.html">tips/Internet Archive via S3</a>--<a href="./tips/using_the_SHA1_backend.html">tips/using the SHA1 backend</a>--<a href="./upgrades.html">upgrades</a>--<a href="./upgrades/SHA_size.html">upgrades/SHA size</a>--<a href="./walkthrough/fsck:_verifying_your_data.html">walkthrough/fsck: verifying your data</a>---<span class="popup">...-<span class="balloon">--<a href="./walkthrough/unused_data.html">walkthrough/unused data</a>--</span>-</span>--</div>-------<div class="pagedate">-Last edited <span class="date">Sat May  4 11:06:34 2013</span>-<!-- Created <span class="date">Sat May  4 11:06:34 2013</span> -->-</div>--</div>---<!-- from git-annex -->-</div>--</div>--</body>-</html>
− debian/git-annex/usr/share/doc/git-annex/html/bare_repositories.html
@@ -1,223 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">-<html xmlns="http://www.w3.org/1999/xhtml">--<head>--<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />-<title>bare repositories</title>--<link rel="stylesheet" href="style.css" type="text/css" />--<link rel="stylesheet" href="local.css" type="text/css" />-------</head>-<body>--<div class="page">--<div class="pageheader">-<div class="header">-<span>-<span class="parentlinks">--<a href="./index.html">git-annex</a>/ --</span>-<span class="title">-bare repositories--</span>-</span>--</div>--------</div>---<div class="sidebar">-<p><img src="./logo_small.png" width="150" height="115" class="img" /></p>--<ul>-<li><a href="./install.html">install</a></li>-<li><a href="./assistant.html">assistant</a></li>-<li><a href="./walkthrough.html">walkthrough</a></li>-<li><a href="./tips.html">tips</a></li>-<li><span class="createlink">bugs</span></li>-<li><span class="createlink">todo</span></li>-<li><span class="createlink">forum</span></li>-<li><a href="./comments.html">comments</a></li>-<li><a href="./contact.html">contact</a></li>-<li><a href="http://flattr.com/thing/84843/git-annex"><img src="https://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" /></a></li>-</ul>---</div>---<div id="pagebody">--<div id="content">-<p>Due to popular demand, git-annex can now be used with bare repositories.</p>--<p>So, for example, you can stash a file away in the origin:-<code>git annex move mybigfile --to origin</code></p>--<p>Of course, for that to work, the bare repository has to be on a system with-<a href="./git-annex-shell.html">git-annex-shell</a> installed. If "origin" is on GitWeb, you still can't-use git-annex to store stuff there.</p>--<p>It took a while, but bare repositories are now supported exactly as well-as non-bare repositories. Except for these caveats:</p>--<ul>-<li><code>git annex fsck</code> works in a bare repository, but does not display-warnings about insufficient-<a href="./copies.html">copies</a>. To get those warnings, just run it in one of the non-bare-checkouts.</li>-<li><code>git annex unused</code> in a bare repository only knows about keys used in-branches that have been pushed to the bare repository. So use it with care..</li>-<li>Commands that need a work tree, like <code>git annex add</code> won't work in a bare-repository, of course.</li>-</ul>---<hr />--<p>Here is a quick example of how to set this up, using <code>origin</code> as the remote name, and assuming <code>~/annex</code> contains an annex:</p>--<p>On the server:</p>--<pre><code>git init --bare bare-annex.git-git annex init origin-</code></pre>--<p>Now configure the remote and do the initial push:</p>--<pre><code>cd ~/annex-git remote add origin example.com:bare-annex.git-git push origin master git-annex-</code></pre>--<p>Now <code>git annex status</code> should show the configured bare remote. If it does not, you may have to pull from the remote first (older versions of <code>git-annex</code>)</p>--<p>If you wish to configure git such that you can push/pull without arguments, set the upstream branch:</p>--<pre><code>git branch master --set-upstream origin/master-</code></pre>--</div>----<div id="comments">-<div  class="feedlink">---</div>-<div class="comment" id="comment-6e007e9304d6f09aaf40ff942f429025">----<div class="comment-subject">--<a href="/bare_repositories.html#comment-6e007e9304d6f09aaf40ff942f429025">How to convert bare repositories to non-bare</a>--</div>--<div class="inlinecontent">-<p>I made a repository bare and later wanted to convert it, this would have worked with just plain git:</p>--<pre><code>cd bare-repo.git-mkdir .git-mv .??* * .git/-git config --unset core.bare-git reset --hard-</code></pre>--<p>But because git-annex uses different hashing directories under bare repositories all the files in the repo will point to files you don't have. Here's how you can fix that up assuming you're using a backend that assigns unique hashes based on file content (e.g. the SHA256 backend):</p>--<pre><code>mv .git/annex/objects from-bare-repo-git annex add from-bare-repo-git rm -f from-bare-repo-</code></pre>---</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="https://www.google.com/accounts/o8/id?id=AItOawmraN_ldJplGunVGmnjjLN6jL9s9TrVMGE">Ævar Arnfjörð</a>-</span>---&mdash; <span class="date">Sun Nov 11 16:14:44 2012</span>-</div>----<div style="clear: both"></div>-</div>-----<div class="addcomment">Comments on this page are closed.</div>--</div>----</div>--<div id="footer" class="pagefooter">--<div id="pageinfo">-------<div id="backlinks">-Links:--<a href="./links/the_details.html">links/the details</a>---</div>-------<div class="pagedate">-Last edited <span class="date">Sat May  4 11:06:34 2013</span>-<!-- Created <span class="date">Sat May  4 11:06:34 2013</span> -->-</div>--</div>---<!-- from git-annex -->-</div>--</div>--</body>-</html>
− debian/git-annex/usr/share/doc/git-annex/html/coding_style.html
@@ -1,225 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">-<html xmlns="http://www.w3.org/1999/xhtml">--<head>--<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />-<title>coding style</title>--<link rel="stylesheet" href="style.css" type="text/css" />--<link rel="stylesheet" href="local.css" type="text/css" />-------</head>-<body>--<div class="page">--<div class="pageheader">-<div class="header">-<span>-<span class="parentlinks">--<a href="./index.html">git-annex</a>/ --</span>-<span class="title">-coding style--</span>-</span>--</div>--------</div>---<div class="sidebar">-<p><img src="./logo_small.png" width="150" height="115" class="img" /></p>--<ul>-<li><a href="./install.html">install</a></li>-<li><a href="./assistant.html">assistant</a></li>-<li><a href="./walkthrough.html">walkthrough</a></li>-<li><a href="./tips.html">tips</a></li>-<li><span class="createlink">bugs</span></li>-<li><span class="createlink">todo</span></li>-<li><span class="createlink">forum</span></li>-<li><a href="./comments.html">comments</a></li>-<li><a href="./contact.html">contact</a></li>-<li><a href="http://flattr.com/thing/84843/git-annex"><img src="https://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" /></a></li>-</ul>---</div>---<div id="pagebody">--<div id="content">-<p>If you do nothing else, avoid use of partial functions from the Prelude!-<code>import Utility.PartialPrelude</code> helps avoid this by defining conflicting-functions for all the common ones. Also avoid <code>!!</code>, it's partial too.</p>--<p>Use tabs for indentation. The one exception to this rule are-the Hamlet format files in <code>templates/*</code>. Hamlet, infuriatingly, refuses-to allow tabs to be used for indentation.</p>--<p>Code should make sense with any tab stop setting, but 8 space tabs are-the default. With 8 space tabs, code should not exceed 80 characters-per line. (With larger tabs, it may of course.)</p>--<p>Use spaces for layout. For example, here spaces (indicated with <code>.</code>)-are used after the initial tab to make the third test line up with-the others.</p>--<pre><code>    when (foo_test || bar_test ||-    ......some_other_long_test)-        print "hi"-</code></pre>--<p>As a special Haskell-specific rule, "where" clauses are indented with two-spaces, rather than a tab. This makes them stand out from the main body-of the function, and avoids excessive indentation of the where cause content.-The definitions within the where clause should be put on separate lines,-each indented with a tab.</p>--<pre><code>main = do-    foo-    bar-    foo-  where-    foo = ...-    bar = ...-</code></pre>--<p>Where clauses for instance definitions and modules tend to appear at the end-of a line, rather than on a separate line.</p>--<pre><code>module Foo (Foo, mkFoo, unFoo) where-instance MonadBaseControl IO Annex where-</code></pre>--<p>When a function's type signature needs to be wrapped to another line,-it's typical to switch to displaying one parameter per line.</p>--<pre><code>foo :: Bar -&gt; Baz -&gt; (Bar -&gt; Baz) -&gt; IO Baz--foo'-    :: Bar-    -&gt; Baz-    -&gt; (Bar -&gt; Baz)-    -&gt; IO Baz-</code></pre>--<p>Note that the "::" then starts its own line. It is not put on the same-line as the function name because then it would not be guaranteed to line-up with the "-&gt;" at all tab width settings. Similarly, guards are put-on their own lines:</p>--<pre><code>splat i-    | odd i = error "splat!"-    | otherwise = i-</code></pre>--<p>Multiline lists and record syntax are written with leading commas,-that line up with the open and close punctuation.</p>--<pre><code>list =-    [ item1-    , item2-    , item3-    ]--foo = DataStructure-    { name = "bar"-    , address = "baz"-    }-</code></pre>--<p>Module imports are separated into two blocks, one for third-party modules,-and one for modules that are part of git-annex. (Additional blocks can be used-if it makes sense.)</p>--<p>Using tabs for indentation makes use of <code>let .. in</code> particularly tricky.-There's no really good way to bind multiple names in a let clause with-tab indentation. Instead, a where clause is typically used. To bind a single-name in a let clause, this is sometimes used:</p>--<pre><code>foo = let x = 42-    in x + (x-1) + x-</code></pre>--<hr />--<p>If you feel that this coding style leads to excessive amounts of horizontal-or vertical whitespace around your code, making it hard to fit enough of it-on the screen, consider finding a better abstraction, so the code that-does fit on the screen is easily understandable. ;)</p>--</div>----<div id="comments">-----<div class="addcomment">Comments on this page are closed.</div>--</div>----</div>--<div id="footer" class="pagefooter">--<div id="pageinfo">-------<div id="backlinks">-Links:--<a href="./download.html">download</a>---</div>-------<div class="pagedate">-Last edited <span class="date">Sat May  4 11:06:40 2013</span>-<!-- Created <span class="date">Sat May  4 11:06:40 2013</span> -->-</div>--</div>---<!-- from git-annex -->-</div>--</div>--</body>-</html>
− debian/git-annex/usr/share/doc/git-annex/html/comments.html
@@ -1,480 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">-<html xmlns="http://www.w3.org/1999/xhtml">--<head>--<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />-<title>comments</title>--<link rel="stylesheet" href="style.css" type="text/css" />--<link rel="stylesheet" href="local.css" type="text/css" />-------</head>-<body>--<div class="page">--<div class="pageheader">-<div class="header">-<span>-<span class="parentlinks">--<a href="./index.html">git-annex</a>/ --</span>-<span class="title">-comments--</span>-</span>--</div>--------</div>---<div class="sidebar">-<div  class="feedlink">---</div>----<p>Comments in the moderation queue:-0</p>--</div>---<div id="pagebody">--<div id="content">-<p>Recent comments posted to this site:</p>--<div  class="feedlink">---</div>-<div class="comment" id="comment-fae19fdb9bb3650e47f45dcd9a08dec8">----<div class="comment-subject">--<a href="/tips/Building_git-annex_on_Debian_OR___37____164____35____34____164____37____38____34____35___Haskell__33__.html#comment-fae19fdb9bb3650e47f45dcd9a08dec8">comment 2</a>--</div>--<div class="inlinecontent">-@Alexander that DAV-0.4 problem is a bug in DAV, not git-annex. I've informed its author and it should be fixed soon, in a new version of DAV.--</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="http://joeyh.name/">joey</a>-</span>---&mdash; <span class="date">Tue Apr 30 17:51:50 2013</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-7cc94df1bf9a75a6d03369f3897d6816">----<div class="comment-subject">--<a href="/tips/Building_git-annex_on_Debian_OR___37____164____35____34____164____37____38____34____35___Haskell__33__.html#comment-7cc94df1bf9a75a6d03369f3897d6816">can&#x27;t install git-annex on OS X Mountain Lion without disabling WebDAV support</a>--</div>--<div class="inlinecontent">-<p>possibly related to this Debian issue:</p>--<p>trying to install git-annex with cabal on OS X 10.8.3, the build fails with</p>--<pre><code>Loading package DAV-0.4 ... linking ... ghc: -lookupSymbol failed in relocateSection (relocate external)-~/.cabal/lib/DAV-0.4/ghc-7.4.2/HSDAV-0.4.o: unknown symbol `_DAVzm0zi4_PathszuDAV_version1_closure'-ghc: unable to load package `DAV-0.4'-Failed to install git-annex-4.20130417-cabal: Error: some packages failed to install:-git-annex-4.20130417 failed during the building phase. The exception was:-ExitFailure 1-</code></pre>--<p>This was after following all of the instructions for the Homebrew install at <a href="http://git-annex.branchable.com/install/OSX/">http://git-annex.branchable.com/install/OSX/</a>-I was able to work around this issue by installing with the WebDAV flag disabled (ie, added the option --flags="-WebDAV" to last command in the OS X install instructions):</p>--<pre><code>cabal install git-annex --bindir=$HOME/bin --flags="-WebDAV"-</code></pre>---</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="https://www.google.com/accounts/o8/id?id=AItOawkCw26IdxXXPBoLcZsQFslM67OJSJynb1w">Alexander</a>-</span>---&mdash; <span class="date">Mon Apr 29 13:57:03 2013</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-656c072026f03c48b45d192bc1c4d9b1">----<div class="comment-subject">--<a href="/design/assistant/xmpp.html#comment-656c072026f03c48b45d192bc1c4d9b1">file transfer?</a>--</div>--<div class="inlinecontent">-Would it be possible to add optional support for transferring files over XMPP (possibly being disabled out-of-the-box so as not to suck up third-party bandwidth)?--</div>--<div class="comment-header">--Comment by--<span class="author" title="Signed in">--<a href="?page=hhm&amp;do=goto">hhm</a>--</span>---&mdash; <span class="date">Tue Apr 23 06:22:51 2013</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-8a9be1ba31f0bbc707bb0d24cd418589">----<div class="comment-subject">--<a href="/tips/using_the_web_as_a_special_remote.html#comment-8a9be1ba31f0bbc707bb0d24cd418589">comment 4</a>--</div>--<div class="inlinecontent">-<p>You can use <code>git annex rmurl $file $url</code>, which I just added to git-annex.</p>--<p>(Also, <code>git annex drop $file --from web</code> will remove all the urls..)</p>---</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="http://joeyh.name/">joey</a>-</span>---&mdash; <span class="date">Mon Apr 22 17:28:03 2013</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-259ea36b60d38f5af5ab613bc4075b8b">----<div class="comment-subject">--<a href="/design/assistant/polls/Android_default_directory.html#comment-259ea36b60d38f5af5ab613bc4075b8b">comment 3</a>--</div>--<div class="inlinecontent">-<p>@Richard, including all of /sdcard seems a reasonable thing to do if you want to back it all up. I don't know how likely anyone would be to want to sync the whole contents though.</p>--<p>@Leonardo direct mode is the default for all respositories created by the webapp, as well as all repositories on crippled filesystems that cannot support indirect mode. Android webapp thus defaults to direct mode twice over!</p>---</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="http://joeyh.name/">joey</a>-</span>---&mdash; <span class="date">Sat Apr 20 19:38:47 2013</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-e398437e26fcf7a8a134ff544c1e2a5b">----<div class="comment-subject">--<a href="/design/assistant/polls/Android_default_directory.html#comment-e398437e26fcf7a8a134ff544c1e2a5b">Direct mode</a>--</div>--<div class="inlinecontent">-I think direct mode should be the default on Android--</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="https://www.google.com/accounts/o8/id?id=AItOawnE6kFAbud1LWrQuyX76yMYnUjHt9tR-A8">Leonardo</a>-</span>---&mdash; <span class="date">Sat Apr 20 16:55:09 2013</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-d333f0a68724aa6febee23ed038f3179">----<div class="comment-subject">--<a href="/design/assistant/polls/what_is_preventing_me_from_using_git-annex_assistant.html#comment-d333f0a68724aa6febee23ed038f3179">comment 20</a>--</div>--<div class="inlinecontent">-You can turn off automatic commits in the webapp by pausing syncing for the local repository.--</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="http://joeyh.name/">joey</a>-</span>---&mdash; <span class="date">Fri Apr 19 14:01:44 2013</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-b0655bad47adbd62653b734ca4364c0f">----<div class="comment-subject">--<a href="/design/assistant/polls/what_is_preventing_me_from_using_git-annex_assistant.html#comment-b0655bad47adbd62653b734ca4364c0f">Windows + git ignore like syntax for files to sync</a>--</div>--<div class="inlinecontent">-<p>Hi,</p>--<p>my company would need this for some project.</p>--<p>But to adopt it I would need:-* windows support (I don't care if now symlink support for now)-* being able to define which files are automatically synced using a syntax similar to the gitignore one-* being able to disable auto-commit (just synching, user should be able to commit on their own)</p>--<p>thanks</p>---</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="https://www.google.com/accounts/o8/id?id=AItOawnmvVKc1ECzZx7EhtLHBP6RWPZewq4x_9I">Daniele</a>-</span>---&mdash; <span class="date">Fri Apr 19 06:47:36 2013</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-bdc97055fac2d28cb1baa9bd5f89eeb4">----<div class="comment-subject">--<a href="/design/assistant/polls/Android_default_directory.html#comment-bdc97055fac2d28cb1baa9bd5f89eeb4">comment 1</a>--</div>--<div class="inlinecontent">-<p>While my main use case is a photo repo, I don't think it's wise to default to there.</p>--<p>Similarly, spamming what amounts to the root dir of "external" storage with repos seems like a bad idea.</p>---</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="https://www.google.com/accounts/o8/id?id=AItOawl9sYlePmv1xK-VvjBdN-5doOa_Xw-jH4U">Richard</a>-</span>---&mdash; <span class="date">Fri Apr 19 02:29:14 2013</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-d020a3312a07e4edee8b03081922a8b8">----<div class="comment-subject">--<a href="/install/OSX.html#comment-d020a3312a07e4edee8b03081922a8b8">comment 19</a>--</div>--<div class="inlinecontent">-sounds like a prime candidate for a nice lightweight linux distro ;)--</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="http://edheil.wordpress.com/">edheil [wordpress.com]</a>-</span>---&mdash; <span class="date">Wed Apr 17 22:05:34 2013</span>-</div>----<div style="clear: both"></div>-</div>------</div>----<div id="comments">-----<div class="addcomment">Comments on this page are closed.</div>--</div>----</div>--<div id="footer" class="pagefooter">--<div id="pageinfo">-------<div id="backlinks">-Links:--<a href="./sidebar.html">sidebar</a>---</div>-------<div class="pagedate">-Last edited <span class="date">Fri Sep 28 01:45:57 2012</span>-<!-- Created <span class="date">Fri Sep 28 01:45:57 2012</span> -->-</div>--</div>---<!-- from git-annex -->-</div>--</div>--</body>-</html>
− debian/git-annex/usr/share/doc/git-annex/html/contact.html
@@ -1,137 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">-<html xmlns="http://www.w3.org/1999/xhtml">--<head>--<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />-<title>contact</title>--<link rel="stylesheet" href="style.css" type="text/css" />--<link rel="stylesheet" href="local.css" type="text/css" />-------</head>-<body>--<div class="page">--<div class="pageheader">-<div class="header">-<span>-<span class="parentlinks">--<a href="./index.html">git-annex</a>/ --</span>-<span class="title">-contact--</span>-</span>--</div>--------</div>---<div class="sidebar">-<p><img src="./logo_small.png" width="150" height="115" class="img" /></p>--<ul>-<li><a href="./install.html">install</a></li>-<li><a href="./assistant.html">assistant</a></li>-<li><a href="./walkthrough.html">walkthrough</a></li>-<li><a href="./tips.html">tips</a></li>-<li><span class="createlink">bugs</span></li>-<li><span class="createlink">todo</span></li>-<li><span class="createlink">forum</span></li>-<li><a href="./comments.html">comments</a></li>-<li><span class="selflink">contact</span></li>-<li><a href="http://flattr.com/thing/84843/git-annex"><img src="https://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" /></a></li>-</ul>---</div>---<div id="pagebody">--<div id="content">-<p>Joey Hess <a href="mailto:joey@kitenet.net">&#106;&#111;&#101;&#121;&#64;&#x6b;&#x69;&#x74;&#x65;&#110;&#x65;&#116;&#x2e;&#110;&#101;&#x74;</a> is the author of git-annex. If you need to-talk about something privately, email me.</p>--<p>The <span class="createlink">forum</span> is the best place to discuss git-annex.</p>--<p>For realtime chat, use the <code>#git-annex</code> channel on irc.oftc.net.-You can also watch incoming commits there.</p>--<p>The <a href="http://lists.madduck.net/listinfo/vcs-home">VCS-home mailing list</a>-is a good mailing list for users who want to use git-annex in the context-of managing their large personal files.</p>--</div>----<div id="comments">-----<div class="addcomment">Comments on this page are closed.</div>--</div>----</div>--<div id="footer" class="pagefooter">--<div id="pageinfo">-------<div id="backlinks">-Links:--<a href="./sidebar.html">sidebar</a>---</div>-------<div class="pagedate">-Last edited <span class="date">Sat May  4 11:06:40 2013</span>-<!-- Created <span class="date">Sat May  4 11:06:40 2013</span> -->-</div>--</div>---<!-- from git-annex -->-</div>--</div>--</body>-</html>
− debian/git-annex/usr/share/doc/git-annex/html/copies.html
@@ -1,178 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">-<html xmlns="http://www.w3.org/1999/xhtml">--<head>--<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />-<title>copies</title>--<link rel="stylesheet" href="style.css" type="text/css" />--<link rel="stylesheet" href="local.css" type="text/css" />-------</head>-<body>--<div class="page">--<div class="pageheader">-<div class="header">-<span>-<span class="parentlinks">--<a href="./index.html">git-annex</a>/ --</span>-<span class="title">-copies--</span>-</span>--</div>--------</div>---<div class="sidebar">-<p><img src="./logo_small.png" width="150" height="115" class="img" /></p>--<ul>-<li><a href="./install.html">install</a></li>-<li><a href="./assistant.html">assistant</a></li>-<li><a href="./walkthrough.html">walkthrough</a></li>-<li><a href="./tips.html">tips</a></li>-<li><span class="createlink">bugs</span></li>-<li><span class="createlink">todo</span></li>-<li><span class="createlink">forum</span></li>-<li><a href="./comments.html">comments</a></li>-<li><a href="./contact.html">contact</a></li>-<li><a href="http://flattr.com/thing/84843/git-annex"><img src="https://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" /></a></li>-</ul>---</div>---<div id="pagebody">--<div id="content">-<p>Annexed data is stored inside  your git repository's <code>.git/annex</code> directory.-Some <a href="./special_remotes.html">special remotes</a> can store annexed data elsewhere.</p>--<p>It's important that data not get lost by an ill-considered <code>git annex drop</code>-command.  So, git-annex can be configured to try-to keep N copies of a file's content available across all repositories.-(Although <a href="./trust.html">untrusted repositories</a> don't count toward this total.)</p>--<p>By default, N is 1; it is configured by annex.numcopies. This default-can be overridden on a per-file-type basis by the annex.numcopies-setting in <code>.gitattributes</code> files. The --numcopies switch allows-temporarily using a different value.</p>--<p><code>git annex drop</code> attempts to check with other git remotes, to check that N-copies of the file exist. If enough repositories cannot be verified to have-it, it will retain the file content to avoid data loss. Note that-<a href="./trust.html">trusted repositories</a> are not explicitly checked.</p>--<p>For example, consider three repositories: Server, Laptop, and USB. Both Server-and USB have a copy of a file, and N=1. If on Laptop, you <code>git annex get-$file</code>, this will transfer it from either Server or USB (depending on which-is available), and there are now 3 copies of the file.</p>--<p>Suppose you want to free up space on Laptop again, and you <code>git annex drop</code> the file-there. If USB is connected, or Server can be contacted, git-annex can check-that it still has a copy of the file, and the content is removed from-Laptop. But if USB is currently disconnected, and Server also cannot be-contacted, it can't verify that it is safe to drop the file, and will-refuse to do so.</p>--<p>With N=2, in order to drop the file content from Laptop, it would need access-to both USB and Server.</p>--<p>Note that different repositories can be configured with different values of-N. So just because Laptop has N=2, this does not prevent the number of-copies falling to 1, when USB and Server have N=1. To avoid this,-configure it in <code>.gitattributes</code>, which is shared between repositories-using git.</p>--</div>----<div id="comments">-----<div class="addcomment">Comments on this page are closed.</div>--</div>----</div>--<div id="footer" class="pagefooter">--<div id="pageinfo">-------<div id="backlinks">-Links:--<a href="./bare_repositories.html">bare repositories</a>--<a href="./future_proofing.html">future proofing</a>--<a href="./preferred_content.html">preferred content</a>--<a href="./special_remotes/S3.html">special remotes/S3</a>--<a href="./tips/using_the_web_as_a_special_remote.html">tips/using the web as a special remote</a>--<a href="./trust.html">trust</a>--<a href="./use_case/Bob.html">use case/Bob</a>--<a href="./walkthrough/backups.html">walkthrough/backups</a>---</div>-------<div class="pagedate">-Last edited <span class="date">Fri Sep 28 01:45:57 2012</span>-<!-- Created <span class="date">Fri Sep 28 01:45:57 2012</span> -->-</div>--</div>---<!-- from git-annex -->-</div>--</div>--</body>-</html>
− debian/git-annex/usr/share/doc/git-annex/html/design.html
@@ -1,132 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">-<html xmlns="http://www.w3.org/1999/xhtml">--<head>--<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />-<title>design</title>--<link rel="stylesheet" href="style.css" type="text/css" />--<link rel="stylesheet" href="local.css" type="text/css" />-------</head>-<body>--<div class="page">--<div class="pageheader">-<div class="header">-<span>-<span class="parentlinks">--<a href="./index.html">git-annex</a>/ --</span>-<span class="title">-design--</span>-</span>--</div>--------</div>---<div class="sidebar">-<p><img src="./logo_small.png" width="150" height="115" class="img" /></p>--<ul>-<li><a href="./install.html">install</a></li>-<li><a href="./assistant.html">assistant</a></li>-<li><a href="./walkthrough.html">walkthrough</a></li>-<li><a href="./tips.html">tips</a></li>-<li><span class="createlink">bugs</span></li>-<li><span class="createlink">todo</span></li>-<li><span class="createlink">forum</span></li>-<li><a href="./comments.html">comments</a></li>-<li><a href="./contact.html">contact</a></li>-<li><a href="http://flattr.com/thing/84843/git-annex"><img src="https://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" /></a></li>-</ul>---</div>---<div id="pagebody">--<div id="content">-<p>git-annex's high-level design is mostly inherent in the data that it-stores in git, and alongside git. See <a href="./internals.html">internals</a> for details.</p>--<p>See <a href="./design/encryption.html">encryption</a> for design of encryption elements.</p>--<p>See <a href="./design/assistant.html">assistant</a> for the design site for the git-annex <a href="./assistant.html">assistant</a>.</p>--</div>----<div id="comments">-----<div class="addcomment">Comments on this page are closed.</div>--</div>----</div>--<div id="footer" class="pagefooter">--<div id="pageinfo">-------<div id="backlinks">-Links:--<a href="./links/the_details.html">links/the details</a>---</div>-------<div class="pagedate">-Last edited <span class="date">Sat May  4 11:06:40 2013</span>-<!-- Created <span class="date">Sat May  4 11:06:40 2013</span> -->-</div>--</div>---<!-- from git-annex -->-</div>--</div>--</body>-</html>
− debian/git-annex/usr/share/doc/git-annex/html/design/assistant.html
@@ -1,757 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">-<html xmlns="http://www.w3.org/1999/xhtml">--<head>--<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />-<title>assistant</title>--<link rel="stylesheet" href="../style.css" type="text/css" />--<link rel="stylesheet" href="../local.css" type="text/css" />-------</head>-<body>--<div class="page">--<div class="pageheader">-<div class="header">-<span>-<span class="parentlinks">--<a href="../index.html">git-annex</a>/ --<a href="../design.html">design</a>/ --</span>-<span class="title">-assistant--</span>-</span>--</div>--------</div>---<div class="sidebar">-<p><img src="../logo_small.png" width="150" height="115" class="img" /></p>--<ul>-<li><a href="../install.html">install</a></li>-<li><a href="../assistant.html">assistant</a></li>-<li><a href="../walkthrough.html">walkthrough</a></li>-<li><a href="../tips.html">tips</a></li>-<li><span class="createlink">bugs</span></li>-<li><span class="createlink">todo</span></li>-<li><span class="createlink">forum</span></li>-<li><a href="../comments.html">comments</a></li>-<li><a href="../contact.html">contact</a></li>-<li><a href="http://flattr.com/thing/84843/git-annex"><img src="https://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" /></a></li>-</ul>---</div>---<div id="pagebody">--<div id="content">-<p>This is the design site for the git-annex <a href="../assistant.html">assistant</a>.</p>--<p>Parts of the design is still being fleshed out, still many ideas-and use cases to add. Feel free to chip in with comments! --<span class="createlink">Joey</span></p>--<h2>roadmap</h2>--<ul>-<li>Month 1 "like dropbox": [[!traillink  inotify]] [[!traillink  syncing]]</li>-<li>Month 2 "shiny webapp": [[!traillink  webapp]] [[!traillink  progressbars]]</li>-<li>Month 3 "easy setup": [[!traillink  configurators]] [[!traillink  pairing]]</li>-<li>Month 4 "cloud": [[!traillink  cloud]] [[!traillink  transfer_control]]</li>-<li>Month 5 "cloud continued": [[!traillink  xmpp]] [[!traillink  more_cloud_providers]]</li>-<li>Month 6 "9k bonus round": [[!traillink  desymlink]]</li>-<li>Month 7: user-driven features and polishing;-<a href="http://mirror.linux.org.au/linux.conf.au/2013/mp4/gitannex.mp4">presentation at LCA2013</a></li>-<li>Month 8: [[!traillink  Android]]</li>-<li>Month 9: <a href="../videos.html">screencasts</a> and polishing</li>-</ul>---<p>We are, approximately, here:</p>--<ul>-<li>Month 10: bugfixing, Android webapp</li>-<li>Month 11: more user-driven features and polishing</li>-<li>Month 12: "Windows purgatory" <a href="./assistant/windows.html">Windows</a></li>-</ul>---<h2>porting</h2>--<ul>-<li><a href="./assistant/OSX.html">OSX</a> port is in fairly good shape, but still has some room for improvement</li>-<li><a href="./assistant/android.html">android</a> port is just getting started</li>-<li>Windows port does not exist yet</li>-</ul>---<h2>not yet on the map:</h2>--<ul>-<li><a href="./assistant/rate_limiting.html">rate limiting</a></li>-<li><a href="./assistant/partial_content.html">partial content</a></li>-<li><a href="./assistant/encrypted_git_remotes.html">encrypted git remotes</a></li>-<li><a href="./assistant/deltas.html">deltas</a></li>-<li><a href="./assistant/leftovers.html">leftovers</a></li>-<li><span class="createlink">other todo items</span></li>-</ul>---<h2>polls</h2>--<p>I post <a href="./assistant/polls.html">polls</a> occasionally to make decisions. You can vote!</p>--<h2>blog</h2>--<p>I'm blogging about my progress in the <span class="createlink">blog</span> on a semi-daily basis.-Follow along!</p>--</div>----<div id="comments">-<div  class="feedlink">---</div>-<div class="comment" id="comment-2dc9d65b6aca226e578eb7af2a8c8f3c">----<div class="comment-subject">--<a href="/design/assistant.html#comment-2dc9d65b6aca226e578eb7af2a8c8f3c">comment 1</a>--</div>--<div class="inlinecontent">-Will statically linked binaries be provided for say Linux, OSX and *BSD?  I think having some statically linked binaries will certainly help and appeal to a lot of users.--</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="https://www.google.com/accounts/o8/id?id=AItOawkSq2FDpK2n66QRUxtqqdbyDuwgbQmUWus">Jimmy</a>-</span>---&mdash; <span class="date">Sat Jun  2 08:06:37 2012</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-071a8a4e7402d22af45051da70f9ccae">----<div class="comment-subject">--<a href="/design/assistant.html#comment-071a8a4e7402d22af45051da70f9ccae">comment 2</a>--</div>--<div class="inlinecontent">-Jimmy, I hope to make it as easy as possible to install. I've been focusing on getting it directly into popular Linux distributions, rather than shipping my own binary. The OSX binary is static, and while I lack a OSX machine, I would like to get it easier to distribute to OSX users.--</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="http://joeyh.name/">joeyh.name</a>-</span>---&mdash; <span class="date">Mon Jun  4 15:45:00 2012</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-5a552c09975efea1fa4d81e2722bec4d">----<div class="comment-subject">--<a href="/design/assistant.html#comment-5a552c09975efea1fa4d81e2722bec4d">comment 3</a>--</div>--<div class="inlinecontent">-I'd agree getting it into the main distros is the way to go, if you need OSX binaries, I could volunteer to setup an autobuilder to generate binaries for OSX users, however it would rely on users to have macports with the correct ports installed to use it (things like coreutils etc...)--</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="https://www.google.com/accounts/o8/id?id=AItOawkSq2FDpK2n66QRUxtqqdbyDuwgbQmUWus">Jimmy</a>-</span>---&mdash; <span class="date">Thu Jun  7 16:22:55 2012</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-e56bb71b2f6a200d167ee6b1bee6587e">----<div class="comment-subject">--<a href="/design/assistant.html#comment-e56bb71b2f6a200d167ee6b1bee6587e">comment 4</a>--</div>--<div class="inlinecontent">-<p>I always appreciate your OSX work Jimmy...</p>--<p>Could it be put into macports?</p>---</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="http://joeyh.name/">joeyh.name</a>-</span>---&mdash; <span class="date">Thu Jun  7 21:56:52 2012</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-c8c6ecfeff30f972792690a5bef58908">----<div class="comment-subject">--<a href="/design/assistant.html#comment-c8c6ecfeff30f972792690a5bef58908">comment 5</a>--</div>--<div class="inlinecontent">-<p>In relation to macports, I often found that haskell in macports are often behind other distros, and I'm not willing to put much effort into maintaining or updating those ports. I found that to build git-annex, installing macports manually and then installing haskell-platform from the upstream to be the best way to get the most up to date dependancies for git-annex.</p>--<p>fyi in macports ghc is at version 6.10.4 and haskell platform is at version 2009.2, so there are a significant number of ports to update.</p>--<p>I was thinking about this a bit more and I reckon it might be easier to try and build a self contained .pkg package and have all the needed binaries in a .app styled package, that would work well when the webapp comes along. I will take a look at it in a week or two (currently moving house so I dont have much time)</p>---</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="https://www.google.com/accounts/o8/id?id=AItOawkSq2FDpK2n66QRUxtqqdbyDuwgbQmUWus">Jimmy</a>-</span>---&mdash; <span class="date">Fri Jun  8 03:22:34 2012</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-77e54e7ebfbd944c370173014b535c91">----<div class="comment-subject">--<a href="/design/assistant.html#comment-77e54e7ebfbd944c370173014b535c91">comment 6</a>--</div>--<div class="inlinecontent">-<p>It's not much for now... but see <a href="http://www.sgenomics.org/~jtang/gitbuilder-git-annex-x00-x86_64-apple-darwin10.8.0/">http://www.sgenomics.org/~jtang/gitbuilder-git-annex-x00-x86_64-apple-darwin10.8.0/</a> I'm ignoring the debian-stable and pristine-tar branches for now, as I am just building and testing on osx 10.7.</p>--<p>Hope the autobuilder will help you develop the OSX side of things without having direct access to an osx machine! I will try and get gitbuilder to spit out appropriately named tarballs of the compiled binaries in a few days when I have more time.</p>---</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="https://www.google.com/accounts/o8/id?id=AItOawkSq2FDpK2n66QRUxtqqdbyDuwgbQmUWus">Jimmy</a>-</span>---&mdash; <span class="date">Fri Jun  8 11:21:18 2012</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-135a31b1e86ecc315f121fe53da32276">----<div class="comment-subject">--<a href="/design/assistant.html#comment-135a31b1e86ecc315f121fe53da32276">comment 7</a>--</div>--<div class="inlinecontent">-Thanks, that's already been useful to me. You might as well skip the debian-specific "bpo" tags too.--</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="http://joeyh.name/">joeyh.name</a>-</span>---&mdash; <span class="date">Sat Jun  9 14:07:51 2012</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-f65cad7d6e0a76a18b1801d27cd8de01">----<div class="comment-subject">--<a href="/design/assistant.html#comment-f65cad7d6e0a76a18b1801d27cd8de01">macports</a>--</div>--<div class="inlinecontent">-<p>The average OSX user has a) no idea what macports is, and b) will not be able to install it. Anything that requires a user to do anything with a commandline (or really anything other than using a GUI installer) is effectively a dealbreaker. For our use cases OSX is definitely a requirement, but it must only use standard OSX installation methods in order to be usable. Being in the appstore would be ideal, but standard dmg/pkg installers are still common enough that they are also acceptable.</p>--<p>FWIW this is the same reason many git GUIs were not usable for our OSX users: they required separate installation of the git commandline tools.</p>---</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="http://wiggy.net/">Wichert</a>-</span>---&mdash; <span class="date">Tue Jun 12 09:00:34 2012</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-52daf652d7b7629489f942063cec87b7">----<div class="comment-subject">--<a href="/design/assistant.html#comment-52daf652d7b7629489f942063cec87b7">Watch also possible with git?</a>--</div>--<div class="inlinecontent">-<p>Hi,</p>--<p>it seems that you put a lot of efforts in handling race conditions. Thats great. I wonder if the watch can also be used with git (i.e. changes are commited into git and not as annex)? I know that other projects follow this idea but why using different tools if the git-annex assistant could handle both...</p>---</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="http://www.klomp.eu/">klomp.eu</a>-</span>---&mdash; <span class="date">Fri Jun 15 13:25:30 2012</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-bcf6c709883506c83aa3111cc23bc7ff">----<div class="comment-subject">--<a href="/design/assistant.html#comment-bcf6c709883506c83aa3111cc23bc7ff">Homebrew instead of MacPorts</a>--</div>--<div class="inlinecontent">-<p><a href="http://mxcl.github.com/homebrew/">Homebrew</a> is a much better package manager than MacPorts IMO.</p>---</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="https://www.google.com/accounts/o8/id?id=AItOawldKnauegZulM7X6JoHJs7Gd5PnDjcgx-E">Matt</a>-</span>---&mdash; <span class="date">Fri Jun 22 00:26:02 2012</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-bbcaeb83ceffab6ec34d34db157a489e">----<div class="comment-subject">--<a href="/design/assistant.html#comment-bbcaeb83ceffab6ec34d34db157a489e">comment 11</a>--</div>--<div class="inlinecontent">-<p>Yeah definately go with homebrew rather than macports if possible. macports and fink, whilst great systems, have a tendency to sort of create their own alternative-dimension of files within the system that just dont always feel particularly well integrated. As a result "brew" has become increasingly more popular to the point its almost ubuquitous now.</p>--<p>Plus its brew-doctor thing is awesome.</p>--<p>The best approach though thats agnostic to distro systems is to simply go for a generic installer.</p>---</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="https://www.google.com/accounts/o8/id?id=AItOawneJXwhacIb0YvvdYFxhlNVpz6Wpg6V7AA">Shayne</a>-</span>---&mdash; <span class="date">Sun Aug 12 20:37:35 2012</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-f953069e70bcd5f6a3f05d1eb306325b">----<div class="comment-subject">--<a href="/design/assistant.html#comment-f953069e70bcd5f6a3f05d1eb306325b">Multiple annexes?</a>--</div>--<div class="inlinecontent">-<p>Thank you for this great piece of software which is now becoming even better with the assistant.</p>--<p>Just one question: will one instance of the assistant be able to track multiple git annex repositories each building up their own network of annexes OR would I need to run multiple instances of the assistant?</p>--<p>Thanks,-Jörn</p>---</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="https://www.google.com/accounts/o8/id?id=AItOawlu-fdXIt_RF9ggvg4zP0yBbtjWQwHAMS4">Jörn</a>-</span>---&mdash; <span class="date">Thu Sep 20 12:10:29 2012</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-6ddc18af9685a7ddbbe6e639e7b15feb">----<div class="comment-subject">--<a href="/design/assistant.html#comment-6ddc18af9685a7ddbbe6e639e7b15feb">comment 13</a>--</div>--<div class="inlinecontent">-@Jörn, two days ago I added support in the webapp for multiple independent repositories. So you can create independent repos using it, and switch between them from a menu. Under the hood there are multiple git-annex assistant daemons running, but this is an implementation detail; it's not like these use any more memory or other resources than would a single daemon that managed multiple repositories.--</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="http://joeyh.name/">joeyh.name</a>-</span>---&mdash; <span class="date">Thu Sep 20 12:21:11 2012</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-a38695b8a047c997862345ffe881d952">----<div class="comment-subject">--<a href="/design/assistant.html#comment-a38695b8a047c997862345ffe881d952">you rock! &#x26; roadmap update?</a>--</div>--<div class="inlinecontent">-<p>joey, you rock. I just want to push on that point - it doesn't seem like there's that many tools that do what git-annex is trying to do out there, and you seem to be doing an incredible job at doing it, so this is great, keep going!</p>--<p>i was wondering - i am glad to see the progress, but it is unclear to me where you actually are in the roadmap. are things going according to plan? are we at month 3? 4? or 1-4? :) just little updates on that roadmap section above would be quite useful!</p>--<p>thanks again!</p>---</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="https://id.koumbit.net/anarcat">anarcat [id.koumbit.net]</a>-</span>---&mdash; <span class="date">Fri Sep 21 00:25:58 2012</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-269c4c315e1dac0d6c18069a9616c767">----<div class="comment-subject">--<a href="/design/assistant.html#comment-269c4c315e1dac0d6c18069a9616c767">comment 15</a>--</div>--<div class="inlinecontent">-<p>We're on month 4 of work, and most of months 1-3 is done well enough for a first pass. Very little of what's listed in month 4 has happened yet, due to my being maybe 2 weeks behind schedule, but bits of <a href="./assistant/cloud.html">cloud</a> are being planned.</p>--<p>I've made a small adjustment, I think it'll make sense to spend a month on user-driven features before getting into Android.</p>---</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="http://joeyh.name/">joeyh.name</a>-</span>---&mdash; <span class="date">Fri Sep 21 01:25:53 2012</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-f5af9f1fe608daa7eb6f45a4539311d0">----<div class="comment-subject">--<a href="/design/assistant.html#comment-f5af9f1fe608daa7eb6f45a4539311d0">Maybe a DEB?2</a>--</div>--<div class="inlinecontent">-Month 3 was all about easy setup, so I kind of expected to download a deb package and just install it, not to download a whole bunch of haskell libraries. Is there a chance that you will release some packages?--</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="https://launchpad.net/~gdr-go2">gdr-go2</a>-</span>---&mdash; <span class="date">Thu Sep 27 05:44:14 2012</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-3f7c7b52d5fadcf2e8a38e741d44ed61">----<div class="comment-subject">--<a href="/design/assistant.html#comment-3f7c7b52d5fadcf2e8a38e741d44ed61">comment 17</a>--</div>--<div class="inlinecontent">-@gdr A package with the assistant is available in Debian unstable.--</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="http://joeyh.name/">joeyh.name</a>-</span>---&mdash; <span class="date">Thu Sep 27 14:44:11 2012</span>-</div>----<div style="clear: both"></div>-</div>-----<div class="addcomment">Comments on this page are closed.</div>--</div>----</div>--<div id="footer" class="pagefooter">--<div id="pageinfo">-------<div id="backlinks">-Links:--<a href="../assistant.html">assistant</a>--<a href="../design.html">design</a>---</div>-------<div class="pagedate">-Last edited <span class="date">Sat May  4 11:06:40 2013</span>-<!-- Created <span class="date">Sat May  4 11:06:40 2013</span> -->-</div>--</div>---<!-- from git-annex -->-</div>--</div>--</body>-</html>
− debian/git-annex/usr/share/doc/git-annex/html/design/assistant/OSX.html
@@ -1,196 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">-<html xmlns="http://www.w3.org/1999/xhtml">--<head>--<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />-<title>OSX</title>--<link rel="stylesheet" href="../../style.css" type="text/css" />--<link rel="stylesheet" href="../../local.css" type="text/css" />-------</head>-<body>--<div class="page">--<div class="pageheader">-<div class="header">-<span>-<span class="parentlinks">--<a href="../../index.html">git-annex</a>/ --<a href="../../design.html">design</a>/ --<a href="../assistant.html">assistant</a>/ --</span>-<span class="title">-OSX--</span>-</span>--</div>--------</div>---<div class="sidebar">-<p><img src="../../logo_small.png" width="150" height="115" class="img" /></p>--<ul>-<li><a href="../../install.html">install</a></li>-<li><a href="../../assistant.html">assistant</a></li>-<li><a href="../../walkthrough.html">walkthrough</a></li>-<li><a href="../../tips.html">tips</a></li>-<li><span class="createlink">bugs</span></li>-<li><span class="createlink">todo</span></li>-<li><span class="createlink">forum</span></li>-<li><a href="../../comments.html">comments</a></li>-<li><a href="../../contact.html">contact</a></li>-<li><a href="http://flattr.com/thing/84843/git-annex"><img src="https://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" /></a></li>-</ul>---</div>---<div id="pagebody">--<div id="content">-<p>Misc OSX porting things:</p>--<ul>-<li>autostart the assistant on OSX, using launchd <strong>done</strong></li>-<li>icon to start webapp <strong>done</strong></li>-<li>use FSEvents to detect file changes (better than kqueue) <strong>done</strong></li>-<li>Use OSX's "network reachability functionality" to detect when on a network-<a href="http://developer.apple.com/library/mac/#documentation/Networking/Conceptual/SystemConfigFrameworks/SC_Intro/SC_Intro.html#//apple_ref/doc/uid/TP40001065">http://developer.apple.com/library/mac/#documentation/Networking/Conceptual/SystemConfigFrameworks/SC_Intro/SC_Intro.html#//apple_ref/doc/uid/TP40001065</a></li>-</ul>---<p>Bugs:</p>--<div  class="feedlink">---</div>------</div>----<div id="comments">-<div  class="feedlink">---</div>-<div class="comment" id="comment-7295a75b6b4af9abb6a6437381580f2f">----<div class="comment-subject">--<a href="/design/assistant/OSX.html#comment-7295a75b6b4af9abb6a6437381580f2f">Mount detection</a>--</div>--<div class="inlinecontent">-<p>regarding the current mount polling on OSX: why not use the NSNotificationCenter for being notified on mount events on OSX?</p>--<p>Details see:</p>--<ol>-<li><a href="http://stackoverflow.com/questions/12409458/detect-when-a-volume-is-mounted-on-os-x">http://stackoverflow.com/questions/12409458/detect-when-a-volume-is-mounted-on-os-x</a></li>-<li><a href="http://stackoverflow.com/questions/6062299/how-to-add-an-observer-to-nsnotificationcenter-in-a-c-class-using-objective-c">http://stackoverflow.com/questions/6062299/how-to-add-an-observer-to-nsnotificationcenter-in-a-c-class-using-objective-c</a></li>-<li><a href="https://developer.apple.com/library/mac/#documentation/CoreFoundation/Reference/CFNotificationCenterRef/Reference/reference.html#//apple_ref/doc/uid/20001438">https://developer.apple.com/library/mac/#documentation/CoreFoundation/Reference/CFNotificationCenterRef/Reference/reference.html#//apple_ref/doc/uid/20001438</a></li>-</ol>----</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="https://www.google.com/accounts/o8/id?id=AItOawlu-fdXIt_RF9ggvg4zP0yBbtjWQwHAMS4">Jörn</a>-</span>---&mdash; <span class="date">Fri Sep 21 05:23:34 2012</span>-</div>----<div style="clear: both"></div>-</div>-----<div class="addcomment">Comments on this page are closed.</div>--</div>----</div>--<div id="footer" class="pagefooter">--<div id="pageinfo">-------<div id="backlinks">-Links:--<a href="../assistant.html">assistant</a>---</div>-------<div class="pagedate">-Last edited <span class="date">Sat May  4 11:06:40 2013</span>-<!-- Created <span class="date">Sat May  4 11:06:40 2013</span> -->-</div>--</div>---<!-- from git-annex -->-</div>--</div>--</body>-</html>
− debian/git-annex/usr/share/doc/git-annex/html/design/assistant/android.html
@@ -1,553 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">-<html xmlns="http://www.w3.org/1999/xhtml">--<head>--<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />-<title>android</title>--<link rel="stylesheet" href="../../style.css" type="text/css" />--<link rel="stylesheet" href="../../local.css" type="text/css" />-------</head>-<body>--<div class="page">--<div class="pageheader">-<div class="header">-<span>-<span class="parentlinks">--<a href="../../index.html">git-annex</a>/ --<a href="../../design.html">design</a>/ --<a href="../assistant.html">assistant</a>/ --</span>-<span class="title">-android--</span>-</span>--</div>--------</div>---<div class="sidebar">-<p><img src="../../logo_small.png" width="150" height="115" class="img" /></p>--<ul>-<li><a href="../../install.html">install</a></li>-<li><a href="../../assistant.html">assistant</a></li>-<li><a href="../../walkthrough.html">walkthrough</a></li>-<li><a href="../../tips.html">tips</a></li>-<li><span class="createlink">bugs</span></li>-<li><span class="createlink">todo</span></li>-<li><span class="createlink">forum</span></li>-<li><a href="../../comments.html">comments</a></li>-<li><a href="../../contact.html">contact</a></li>-<li><a href="http://flattr.com/thing/84843/git-annex"><img src="https://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" /></a></li>-</ul>---</div>---<div id="pagebody">--<div id="content">-<h3>goals</h3>--<ol>-<li>Get git-annex working at the command line in Android,-along with all the programs it needs, and the assistant. <strong>done</strong></li>-<li>Deal with crippled filesystem; no symlinks; etc. <strong>done</strong></li>-<li>Get an easy to install Android app built. <strong>done</strong></li>-<li>Get the webapp working. Needs Template Haskell, or-switching to <a href="http://www.yesodweb.com/blog/2012/10/yesod-pure">http://www.yesodweb.com/blog/2012/10/yesod-pure</a>.</li>-<li>Possibly, switch from running inside terminal app to real standalone app.-See <a href="https://github.com/neurocyte/android-haskell-activity">https://github.com/neurocyte/android-haskell-activity</a>-and <a href="https://github.com/neurocyte/foreign-jni">https://github.com/neurocyte/foreign-jni</a>.</li>-</ol>---<h3>Android specific features</h3>--<p>The app should be aware of power status, and avoid expensive background-jobs when low on battery or run flat out when plugged in.</p>--<p>The app should be aware of network status, and avoid expensive data-transfers when not on wifi. This may need to be configurable.</p>--<h2>TODO</h2>--<ul>-<li>autostart any configured assistants. Best on boot, but may need to only-do it when app is opened for the first time.</li>-<li>Don't make app initially open terminal, but go to a page that-allows opening the webapp or terminal.</li>-<li>I have seen an assistant thread crash with an interrupted system call-when the device went to sleep while it was running. Auto-detect and deal with-that somehow.</li>-<li>Make git stop complaining that "warning: no threads uspport, ignoring --threads"</li>-<li>git does not support http remotes. To fix, need to port libcurl and-allow git to link to it.</li>-<li>getEnvironment is broken on Android <a href="https://github.com/neurocyte/ghc-android/issues/7">https://github.com/neurocyte/ghc-android/issues/7</a>-and a few places use it.</li>-<li>XMPP support. I got all haskell libraries installed, but it fails to find-several C libraries at link time.</li>-<li>Get local pairing to work. network-multicast and network-info don't-currently install.</li>-<li>Get test suite to pass. Current failure is because <code>git fetch</code> is somehow-broken with local repositories.</li>-</ul>---</div>----<div id="comments">-<div  class="feedlink">---</div>-<div class="comment" id="comment-cc3bb98d664d63afb99a641556867b0a">----<div class="comment-subject">--<a href="/design/assistant/android.html#comment-cc3bb98d664d63afb99a641556867b0a">FAT symlinks</a>--</div>--<div class="inlinecontent">-It's a linux kernel so perhaps another option would be to create a big file and mount -o loop--</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="https://launchpad.net/~gdr-go2">gdr-go2</a>-</span>---&mdash; <span class="date">Mon May 28 14:12:10 2012</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-944ce2fb20413b638d823bd9bd068717">----<div class="comment-subject">--<a href="/design/assistant/android.html#comment-944ce2fb20413b638d823bd9bd068717">re @  gdr-go2 </a>--</div>--<div class="inlinecontent">-<code>mount</code> requires root and you'll have still the 4gb limit for your image by FAT. some phones (e.g. galaxy nexus) already use <code>ext4</code> for <code>/sdcard</code> though.--</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="https://www.google.com/accounts/o8/id?id=AItOawlhIMPGF1E0XEJKV6j6-PFzAxA1-nIlydo">Bernhard</a>-</span>---&mdash; <span class="date">Mon Sep 10 15:34:00 2012</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-8b4190ffa50567ca74ef667a7461fcb4">----<div class="comment-subject">--<a href="/design/assistant/android.html#comment-8b4190ffa50567ca74ef667a7461fcb4">GHC and Android</a>--</div>--<div class="inlinecontent">-<p>I played around a bit with GHC and Android today. It isn't really a result, but maybe useful for someone out there.</p>--<p>I have a Debian <code>chroot</code> environment on my Android device (howto: <a href="http://www.saurik.com/id/10/">http://www.saurik.com/id/10/</a>). In the Debian box:</p>--<pre><code>$ cat arm.hs-main = do-  putStrLn "Hello ARM"-$ ghc -static --make arm.hs-Linking arm ...-$ ldd arm-libgmp.so.3 =&gt; /usr/lib/libgmp.so.3 (0x40233000)-libm.so.6 =&gt; /lib/libm.so.6 (0x400c8000)-libffi.so.5 =&gt; /usr/lib/libffi.so.5 (0x401b1000)-librt.so.1 =&gt; /lib/librt.so.1 (0x40171000)-libdl.so.2 =&gt; /lib/libdl.so.2 (0x40180000)-libgcc_s.so.1 =&gt; /lib/libgcc_s.so.1 (0x4018b000)-libc.so.6 =&gt; /lib/libc.so.6 (0x40282000)-/lib/ld-linux.so.3 (0x400a2000)-libpthread.so.0 =&gt; /lib/libpthread.so.0 (0x4007e000)-</code></pre>--<p>well, that isn't really static. tell the linker to build a static binary (those are arguments to <code>ld</code>):</p>--<pre><code>$ ghc --make arm.hs -optl-static -optl-pthread-[1 of 1] Compiling Main             ( arm.hs, arm.o )-Linking arm ...-$ file arm-arm: ELF 32-bit LSB executable, ARM, version 1 (SYSV), statically linked, for GNU/Linux 2.6.18, not stripped-$ ldd arm-    not a dynamic executable-$ ./arm-Hello ARM-</code></pre>--<p>now, get this (quite big) binary into the normal android environment, using <code>adb</code>, <code>SSHDroid</code> or whatever:</p>--<pre><code>% cd /data/local/tmp # assuming destination of file transfer-% ./arm-arm: mkTextEncoding: invalid argument (Invalid argument)-</code></pre>--<p>looking in the source of <code>System.IO</code> it seems like an <code>iconv</code> issue. So, there's still some dynamic dependency in there... <em>sigh</em></p>---</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="https://www.google.com/accounts/o8/id?id=AItOawlhIMPGF1E0XEJKV6j6-PFzAxA1-nIlydo">Bernhard</a>-</span>---&mdash; <span class="date">Mon Sep 10 17:58:28 2012</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-4062560571c35e4e39a1cce53e217ad3">----<div class="comment-subject">--<a href="/design/assistant/android.html#comment-4062560571c35e4e39a1cce53e217ad3">comment 4</a>--</div>--<div class="inlinecontent">-<p>Thanks Bernard, that's really massively useful. It makes sense -- statically building with libc should work, the Android kernel is still Linux after all.</p>--<p>To get past the iconv problem, I think all you need is part of the <code>locales</code> package from your linux system installed on the Android. Probably just a few of the data files from /usr/share/i18n/charmaps/</p>---</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="http://joeyh.name/">joeyh.name</a>-</span>---&mdash; <span class="date">Mon Sep 10 22:12:45 2012</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-c427cd8355b784544fc2d8160a70b1b8">----<div class="comment-subject">--<a href="/design/assistant/android.html#comment-c427cd8355b784544fc2d8160a70b1b8">comment 5</a>--</div>--<div class="inlinecontent">-<p><code>/usr/share/i18n/</code> does not exists on my Debian ARM system :/</p>--<p>however, <code>strace ./arm</code> in the debian chroot reveals that some files from <code>/usr/lib/gconv/</code> are loaded:</p>--<pre><code>[...]-open("/usr/lib/gconv/UTF-32.so", O_RDONLY) = 3-read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\4\4\0\0004\0\0\0"..., 512) = 512-[...]-</code></pre>--<p>full log: <a href="http://wien.tomnetworks.com/strace_arm">http://wien.tomnetworks.com/strace_arm</a>.  Unfortunately, I don't have <code>strace</code> in the android userland for comparison.</p>--<p>Just copying the related <code>gconv</code> files didn't work. I don't have so much time at the moment, I'll investigate further in some days or so.</p>--<p>At least, output using <code>error :: String -&gt; a</code> does work :-)</p>---</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="https://www.google.com/accounts/o8/id?id=AItOawlhIMPGF1E0XEJKV6j6-PFzAxA1-nIlydo">Bernhard</a>-</span>---&mdash; <span class="date">Tue Sep 11 05:34:42 2012</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-a21b5fd3e124c4da7299bf4bdb5c5011">----<div class="comment-subject">--<a href="/design/assistant/android.html#comment-a21b5fd3e124c4da7299bf4bdb5c5011">comment 6</a>--</div>--<div class="inlinecontent">-<p>Just so this does not get lost: For better or for worse, the vanilla Android devices stopped shipping with micro-SD support in 2011 (or 2010 if the Nexus S does not support them either; on sketchy GPRS so not googling around). Most higher-end Android devices ship with at least 8 GiB of on-board Flash storage, some even go up to 64 GiB.</p>--<p>IMHO, this would make it viable to first get git-annex working on Android without regard for FAT.</p>--<p>The obvious advantage is that porting should be easier and quicker.</p>--<p>The obvious downside is that this may mean revisiting some parts of the code later.</p>--<p>-- Richard</p>---</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="https://www.google.com/accounts/o8/id?id=AItOawl9sYlePmv1xK-VvjBdN-5doOa_Xw-jH4U">Richard</a>-</span>---&mdash; <span class="date">Tue Oct 30 04:44:32 2012</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-ca7583eb7e094478bc73fe8a7a33d62c">----<div class="comment-subject">--<a href="/design/assistant/android.html#comment-ca7583eb7e094478bc73fe8a7a33d62c">comment 7</a>--</div>--<div class="inlinecontent">-<p>Actually, this is something that would be ideal for a poll:</p>--<p>Should FAT-based Android repos be implemented:</p>--<ul>-<li>Immediately</li>-<li>After the initial release of the Android app is working</li>-<li>Before the kickstarter ends</li>-<li>Not at all</li>-</ul>---<p>Also, as another data point, the FAT-based SD card can be mounted as USB storage by any computer an Android device is connected to whereas the EXT4-based root FS can only be accessed via MTP.</p>---</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="https://www.google.com/accounts/o8/id?id=AItOawl9sYlePmv1xK-VvjBdN-5doOa_Xw-jH4U">Richard</a>-</span>---&mdash; <span class="date">Tue Oct 30 04:51:17 2012</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-b578ffb2e84c147759f28c348963c284">----<div class="comment-subject">--<a href="/design/assistant/android.html#comment-b578ffb2e84c147759f28c348963c284">Terminal IDE</a>--</div>--<div class="inlinecontent">-<p>I use Terminal IDE on android, which is 'sort of a shell environment'.</p>--<p>It has bash, git, dropbear ssh, and vim. It is a bit limited, but it does feel like a linux shell.</p>---</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="https://www.google.com/accounts/o8/id?id=AItOawnZEanlyzay_QlEAL0CWpyZcRTyN7vay8U">Carlo</a>-</span>---&mdash; <span class="date">Wed Nov 21 17:46:19 2012</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-f01ded73ad68c9301348ed074a534048">----<div class="comment-subject">--<a href="/design/assistant/android.html#comment-f01ded73ad68c9301348ed074a534048">Feature request: Events triggered on wifi SSID or connection state</a>--</div>--<div class="inlinecontent">-<p>I'd like to have my phone sync a bunch of files when I'm at home and when I get to work, have them synced to my work machine, deleted off my phone and when I get home, also deleted off my home machine.</p>--<p>This will allow incremental backups to a local folder at home and I can then "mule" my files, sneaker-net style, to work with zero user intervention. It only works if events can be triggered or I can combine a triggering app with a special android intent for both ends of my trip.</p>---</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="https://www.google.com/accounts/o8/id?id=AItOawl7ciFZWmffuw6sLRww3CcL_F5ItsttL9w">Aaron</a>-</span>---&mdash; <span class="date">Tue Jan  8 09:04:05 2013</span>-</div>----<div style="clear: both"></div>-</div>-----<div class="addcomment">Comments on this page are closed.</div>--</div>----</div>--<div id="footer" class="pagefooter">--<div id="pageinfo">-------<div id="backlinks">-Links:--<a href="../assistant.html">assistant</a>--<a href="./desymlink.html">desymlink</a>--<a href="./partial_content.html">partial content</a>--<a href="./polls/Android.html">polls/Android</a>---</div>-------<div class="pagedate">-Last edited <span class="date">Sat May  4 11:06:40 2013</span>-<!-- Created <span class="date">Sat May  4 11:06:40 2013</span> -->-</div>--</div>---<!-- from git-annex -->-</div>--</div>--</body>-</html>
− debian/git-annex/usr/share/doc/git-annex/html/design/assistant/cloud.html
@@ -1,324 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">-<html xmlns="http://www.w3.org/1999/xhtml">--<head>--<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />-<title>cloud</title>--<link rel="stylesheet" href="../../style.css" type="text/css" />--<link rel="stylesheet" href="../../local.css" type="text/css" />-------</head>-<body>--<div class="page">--<div class="pageheader">-<div class="header">-<span>-<span class="parentlinks">--<a href="../../index.html">git-annex</a>/ --<a href="../../design.html">design</a>/ --<a href="../assistant.html">assistant</a>/ --</span>-<span class="title">-cloud--</span>-</span>--</div>--------</div>---<div class="sidebar">-<p><img src="../../logo_small.png" width="150" height="115" class="img" /></p>--<ul>-<li><a href="../../install.html">install</a></li>-<li><a href="../../assistant.html">assistant</a></li>-<li><a href="../../walkthrough.html">walkthrough</a></li>-<li><a href="../../tips.html">tips</a></li>-<li><span class="createlink">bugs</span></li>-<li><span class="createlink">todo</span></li>-<li><span class="createlink">forum</span></li>-<li><a href="../../comments.html">comments</a></li>-<li><a href="../../contact.html">contact</a></li>-<li><a href="http://flattr.com/thing/84843/git-annex"><img src="https://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" /></a></li>-</ul>---</div>---<div id="pagebody">--<div id="content">-<p>The <a href="./syncing.html">syncing</a> design assumes the network is connected. But it's often-not in these pre-IPV6 days, so the cloud needs to be used to bridge between-LANS.</p>--<h2>The cloud notification problem (<strong>done</strong>)</h2>--<p>Alice and Bob have repos, and there is a cloud remote they both share.-Alice adds a file; the assistant transfers it to the cloud remote.-How does Bob find out about it?</p>--<p>There are two parts to this problem. Bob needs to find out that there's-been a change to Alice's git repo. Then he needs to pull from Alice's git repo,-or some other repo in the cloud she pushed to. Once both steps are done,-the assistant will transfer the file from the cloud to Bob.</p>--<ul>-<li>dvcs-autosync uses xmppp; all repos need to have the same xmpp account-configured, and send self-messages. An alternative would be to have-different accounts that join a channel or message each other. Still needs-account configuration.</li>-<li>irc could be used. With a default irc network, and an agreed-upon channel,-no configuration should be needed. IRC might be harder to get through-some firewalls, and is prone to netsplits, etc. IRC networks have reasons-to be wary of bots using them. Only basic notifications could be done over-irc, as it has little security.</li>-<li>When there's a ssh server involved, code could be run on it to notify-logged-in clients. But this is not a general solution to this problem.</li>-<li>pubsubhubbub does not seem like an option; its hubs want to pull down-a feed over http.</li>-</ul>---<p>See <a href="./xmpp.html">xmpp</a> for design of git-annex's use of xmpp for push notifications.</p>--<h2>storing git repos in the cloud <strong>done for XMPP</strong></h2>--<p>Of course, one option is to just use github etc to store the git repo.</p>--<p>Two things can store git repos in Amazon S3:-* <a href="http://gabrito.com/post/storing-git-repositories-in-amazon-s3-for-high-availability">http://gabrito.com/post/storing-git-repositories-in-amazon-s3-for-high-availability</a>-* <a href="http://wiki.cs.pdx.edu/oss2009/index/projects/gits3.html">http://wiki.cs.pdx.edu/oss2009/index/projects/gits3.html</a></p>--<p>Another option is to not store the git repo in the cloud, but push/pull-peer-to-peer. When peers cannot directly talk to one-another, this could be-bounced through something like XMPP. This is <strong>done</strong> for <a href="./xmpp.html">xmpp</a>!</p>--<p>Another option: Use <a href="https://github.com/blake2-ppc/git-remote-gcrypt">https://github.com/blake2-ppc/git-remote-gcrypt</a> to store-git repo encrypted on cloud storage.</p>--</div>----<div id="comments">-<div  class="feedlink">---</div>-<div class="comment" id="comment-bff38388465cb7c83fd1440853a45410">----<div class="comment-subject">--<a href="/design/assistant/cloud.html#comment-bff38388465cb7c83fd1440853a45410">is ftp an option?</a>--</div>--<div class="inlinecontent">-for people only having ftp-access to there storage.--</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="https://www.google.com/accounts/o8/id?id=AItOawn7Oyqusvn0oONFtVhCx5gRAcvPjyRMcBI">Michaël</a>-</span>---&mdash; <span class="date">Wed May 30 06:44:12 2012</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-5aea3eb7e8aec1e2110b6a4f1a843433">----<div class="comment-subject">--<a href="/design/assistant/cloud.html#comment-5aea3eb7e8aec1e2110b6a4f1a843433">Cloud Service Limitations</a>--</div>--<div class="inlinecontent">-<p>Hey Joey!</p>--<p>I'm not very tech savvy, but here is my question.-I think for all cloud service providers, there is an upload limitation on how big one file may be.-For example, I can't upload a file bigger than 100 MB on box.net.-Does this affect git-annex at all? Will git-annex automatically split the file depending on the cloud provider or will I have to create small RAR archives of one large file to upload them?</p>--<p>Thanks!-James</p>---</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="https://www.google.com/accounts/o8/id?id=AItOawkq0-zRhubO6kR9f85-5kALszIzxIokTUw">James</a>-</span>---&mdash; <span class="date">Sun Jun 10 22:15:04 2012</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-c0b4e1ebdb4ac122b1b1e8723336544e">----<div class="comment-subject">--<a href="/design/assistant/cloud.html#comment-c0b4e1ebdb4ac122b1b1e8723336544e">re: cloud</a>--</div>--<div class="inlinecontent">-Yes, git-annex has to split files for certian providers. I already added support for this as part of my first pass at supporting box.com, see <a href="../../tips/using_box.com_as_a_special_remote.html">using box.com as a special remote</a>.--</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="http://joeyh.name/">joeyh.name</a>-</span>---&mdash; <span class="date">Mon Jun 11 00:48:08 2012</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-5e27fcb1377b57315d90fc31268e4abb">----<div class="comment-subject">--<a href="/design/assistant/cloud.html#comment-5e27fcb1377b57315d90fc31268e4abb">OwnCloud</a>--</div>--<div class="inlinecontent">-<p>“Google drive (attractive because it's free, only 5 gb tho)”</p>--<p>Just in case somebody also wants their 5GB of disk space in the cloud, consider using some of the <a href="http://owncloud.org/providers/">owncloud providers</a>. They also offer that amount, but they use free software for everything, using standard protocols (WebDav mostly, because is well supported in all OS).</p>--<p>Git Annex works with them through davfs2, but it would be great if it could support this other program/protocol (OwnCloud/WebDAV) in a more integrated way.</p>---</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="https://www.google.com/accounts/o8/id?id=AItOawk9XEh8pxrJxZxIkyK7lWaA7QG1UWt9lgU">Gugelplus</a>-</span>---&mdash; <span class="date">Mon Aug 27 16:43:19 2012</span>-</div>----<div style="clear: both"></div>-</div>-----<div class="addcomment">Comments on this page are closed.</div>--</div>----</div>--<div id="footer" class="pagefooter">--<div id="pageinfo">-------<div id="backlinks">-Links:--<a href="./comment_15_68c98a27083567f20c2e6bc2a760991b.html">comment 15 68c98a27083567f20c2e6bc2a760991b</a>--<a href="./polls/prioritizing_special_remotes.html">polls/prioritizing special remotes</a>--<a href="./xmpp.html">xmpp</a>---</div>-------<div class="pagedate">-Last edited <span class="date">Sat May  4 11:06:40 2013</span>-<!-- Created <span class="date">Sat May  4 11:06:40 2013</span> -->-</div>--</div>---<!-- from git-annex -->-</div>--</div>--</body>-</html>
− debian/git-annex/usr/share/doc/git-annex/html/design/assistant/deltas.html
@@ -1,176 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">-<html xmlns="http://www.w3.org/1999/xhtml">--<head>--<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />-<title>deltas</title>--<link rel="stylesheet" href="../../style.css" type="text/css" />--<link rel="stylesheet" href="../../local.css" type="text/css" />-------</head>-<body>--<div class="page">--<div class="pageheader">-<div class="header">-<span>-<span class="parentlinks">--<a href="../../index.html">git-annex</a>/ --<a href="../../design.html">design</a>/ --<a href="../assistant.html">assistant</a>/ --</span>-<span class="title">-deltas--</span>-</span>--</div>--------</div>---<div class="sidebar">-<p><img src="../../logo_small.png" width="150" height="115" class="img" /></p>--<ul>-<li><a href="../../install.html">install</a></li>-<li><a href="../../assistant.html">assistant</a></li>-<li><a href="../../walkthrough.html">walkthrough</a></li>-<li><a href="../../tips.html">tips</a></li>-<li><span class="createlink">bugs</span></li>-<li><span class="createlink">todo</span></li>-<li><span class="createlink">forum</span></li>-<li><a href="../../comments.html">comments</a></li>-<li><a href="../../contact.html">contact</a></li>-<li><a href="http://flattr.com/thing/84843/git-annex"><img src="https://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" /></a></li>-</ul>---</div>---<div id="pagebody">--<div id="content">-<p>Speed up syncing of modified versions of existing files.</p>--<p>One simple way is to find the key of the old version of a file that's-being transferred, so it can be used as the basis for rsync, or any-other similar transfer protocol.</p>--<p>For remotes that don't use rsync, a poor man's version could be had by-chunking each object into multiple parts. Only modified parts need be-transferred. Sort of sub-keys to the main key being stored.</p>--</div>----<div id="comments">-<div  class="feedlink">---</div>-<div class="comment" id="comment-16106e3d96459d2de00f385071acaff5">----<div class="comment-subject">--<a href="/design/assistant/deltas.html#comment-16106e3d96459d2de00f385071acaff5">zsync?</a>--</div>--<div class="inlinecontent">-zsync.moria.org.uk may have broken some of the ground here.--</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="https://www.google.com/accounts/o8/id?id=AItOawkfHTPsiAcHEEN7Xl7WxiZmYq-vX7azxFY">Vincent</a>-</span>---&mdash; <span class="date">Mon Sep 10 08:35:45 2012</span>-</div>----<div style="clear: both"></div>-</div>-----<div class="addcomment">Comments on this page are closed.</div>--</div>----</div>--<div id="footer" class="pagefooter">--<div id="pageinfo">-------<div id="backlinks">-Links:--<a href="../assistant.html">assistant</a>--<a href="./polls/goals_for_April.html">polls/goals for April</a>---</div>-------<div class="pagedate">-Last edited <span class="date">Fri Sep 28 01:45:57 2012</span>-<!-- Created <span class="date">Fri Sep 28 01:45:57 2012</span> -->-</div>--</div>---<!-- from git-annex -->-</div>--</div>--</body>-</html>
− debian/git-annex/usr/share/doc/git-annex/html/design/assistant/inotify.html
@@ -1,549 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">-<html xmlns="http://www.w3.org/1999/xhtml">--<head>--<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />-<title>inotify</title>--<link rel="stylesheet" href="../../style.css" type="text/css" />--<link rel="stylesheet" href="../../local.css" type="text/css" />-------</head>-<body>--<div class="page">--<div class="pageheader">-<div class="header">-<span>-<span class="parentlinks">--<a href="../../index.html">git-annex</a>/ --<a href="../../design.html">design</a>/ --<a href="../assistant.html">assistant</a>/ --</span>-<span class="title">-inotify--</span>-</span>--</div>--------</div>---<div class="sidebar">-<p><img src="../../logo_small.png" width="150" height="115" class="img" /></p>--<ul>-<li><a href="../../install.html">install</a></li>-<li><a href="../../assistant.html">assistant</a></li>-<li><a href="../../walkthrough.html">walkthrough</a></li>-<li><a href="../../tips.html">tips</a></li>-<li><span class="createlink">bugs</span></li>-<li><span class="createlink">todo</span></li>-<li><span class="createlink">forum</span></li>-<li><a href="../../comments.html">comments</a></li>-<li><a href="../../contact.html">contact</a></li>-<li><a href="http://flattr.com/thing/84843/git-annex"><img src="https://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" /></a></li>-</ul>---</div>---<div id="pagebody">--<div id="content">-<p>"git annex watch" command, which runs, in the background, watching via-inotify for changes, and automatically annexing new files, etc. Now-available!</p>--<div class="toc">-	<ol>-		<li class="L2"><a href="#index1h2">known bugs</a>-		</li>-		<li class="L2"><a href="#index2h2">todo</a>-		</li>-		<li class="L2"><a href="#index3h2">beyond Linux</a>-		</li>-		<li class="L2"><a href="#index4h2">the races</a>-		</li>-		<li class="L2"><a href="#index5h2">done</a>-		</li>-	</ol>-</div>---<h2><a name="index1h2"></a>known bugs</h2>--<ul>-<li>Kqueue has to open every directory it watches, so too many directories-will run it out of the max number of open files (typically 1024), and fail.-I may need to fork off multiple watcher processes to handle this.-See <span class="createlink">bug</span>. (Does not affect-OSX any longer, only other BSDs).</li>-</ul>---<h2><a name="index2h2"></a>todo</h2>--<ul>-<li>Run niced and ioniced? Seems to make sense, this is a background job.</li>-<li>configurable option to only annex files meeting certian size or-filename criteria</li>-<li>option to check files not meeting annex criteria into git directly,-automatically</li>-<li>honor .gitignore, not adding files it excludes (difficult, probably-needs my own .gitignore parser to avoid excessive running of git commands-to check for ignored files)</li>-<li>There needs to be a way for a new version of git-annex, when installed,-to restart any running watch or assistant daemons. Or for the daemons-to somehow detect it's been upgraded and restart themselves. Needed-to allow for incompatable changes and, I suppose, for security upgrades..</li>-</ul>---<h2><a name="index3h2"></a>beyond Linux</h2>--<p>I'd also like to support OSX and if possible the BSDs.</p>--<ul>-<li><p>kqueue (<a href="http://hackage.haskell.org/package/kqueue">haskell bindings</a>)-is supported by FreeBSD, OSX, and other BSDs.</p>--<p>In kqueue, to watch for changes to a file, you have to have an open file-descriptor to the file. This wouldn't scale.</p>--<p>Apparently, a directory can be watched, and events are generated when-files are added/removed from it. You then have to scan to find which-files changed. <a href="https://developer.apple.com/library/mac/#samplecode/FileNotification/Listings/Main_c.html#//apple_ref/doc/uid/DTS10003143-Main_c-DontLinkElementID_3">example</a></p>--<p>Gamin does the best it can with just kqueue, supplimented by polling.-The source file <code>server/gam_kqueue.c</code> makes for interesting reading.-Using gamin to do the heavy lifting is one option.-(<a href="http://hackage.haskell.org/package/hlibfam">haskell bindings</a> for FAM;-gamin shares the API)</p>--<p>kqueue does not seem to provide a way to tell when a file gets closed,-only when it's initially created. Poses problems..</p>--<ul>-<li><a href="http://www.freebsd.org/cgi/man.cgi?query=kqueue&amp;apropos=0&amp;sektion=0&amp;format=html">man page</a></li>-<li><a href="https://github.com/gorakhargosh/watchdog/blob/master/src/watchdog/observers/kqueue.py">https://github.com/gorakhargosh/watchdog/blob/master/src/watchdog/observers/kqueue.py</a> (good example program)</li>-</ul>---<p><em>kqueue is now supported</em></p></li>-<li><p>hfsevents (<a href="http://hackage.haskell.org/package/hfsevents">haskell bindings</a>)-is OSX specific.</p>--<p>Originally it was only directory level, and you were only told a-directory had changed and not which file. Based on the haskell-binding's code, from OSX 10.7.0, file level events were added.</p>--<p>This will be harder for me to develop for, since I don't have access to-OSX machines..</p>--<p>hfsevents does not seem to provide a way to tell when a file gets closed,-only when it's initially created. Poses problems..</p>--<ul>-<li><a href="https://developer.apple.com/library/mac/#documentation/Darwin/Conceptual/FSEvents_ProgGuide/Introduction/Introduction.html">https://developer.apple.com/library/mac/#documentation/Darwin/Conceptual/FSEvents_ProgGuide/Introduction/Introduction.html</a></li>-<li><a href="http://pypi.python.org/pypi/MacFSEvents/0.2.8">http://pypi.python.org/pypi/MacFSEvents/0.2.8</a> (good example program)</li>-<li><a href="https://github.com/gorakhargosh/watchdog/blob/master/src/watchdog/observers/fsevents.py">https://github.com/gorakhargosh/watchdog/blob/master/src/watchdog/observers/fsevents.py</a> (good example program)</li>-</ul>-</li>-<li><p>Windows has a Win32 ReadDirectoryChangesW, and perhaps other things.</p></li>-</ul>---<h2><a name="index4h2"></a>the races</h2>--<p>Many races need to be dealt with by this code. Here are some of them.</p>--<ul>-<li><p>File is added and then removed before the add event starts.</p>--<p>Not a problem; The add event does nothing since the file is not present.</p></li>-<li><p>File is added and then removed before the add event has finished-processing it.</p>--<p><strong>Minor problem</strong>; When the add's processing of the file (checksum and so-on) fails due to it going away, there is an ugly error message, but-things are otherwise ok.</p></li>-<li><p>File is added and then replaced with another file before the annex add-moves its content into the annex.</p>--<p>Fixed this problem; Now it hard links the file to a temp directory and-operates on the hard link, which is also made unwritable.</p></li>-<li><p>File is added and then replaced with another file before the annex add-makes its symlink.</p>--<p><strong>Minor problem</strong>; The annex add will fail creating its symlink since-the file exists. There is an ugly error message, but the second add-event will add the new file.</p></li>-<li><p>File is added and then replaced with another file before the annex add-stages the symlink in git.</p>--<p>Now fixed; <code>git annex watch</code> avoids running <code>git add</code> because of this-race. Instead, it stages symlinks directly into the index, without-looking at what's currently on disk.</p></li>-<li><p>Link is moved, fixed link is written by fix event, but then that is-removed by the user and replaced with a file before the event finishes.</p>--<p>Now fixed; same fix as previous race above.</p></li>-<li><p>File is removed and then re-added before the removal event starts.</p>--<p>Not a problem; The removal event does nothing since the file exists,-and the add event replaces it in git with the new one.</p></li>-<li><p>File is removed and then re-added before the removal event finishes.</p>--<p>Not a problem; The removal event removes the old file from the index, and-the add event adds the new one.</p></li>-<li><p>Symlink appears, but is then deleted before it can be processed.</p>--<p>Leads to an ugly message, otherwise no problem:</p>--<p>  ./me: readSymbolicLink: does not exist (No such file or directory)</p>--<p>Here <code>me</code> is a file that was in a conflicted merge, which got-removed as part of the resolution. This is probably coming from the watcher-thread, which sees the newly added symlink (created by the git merge),-but finds it deleted (by the conflict resolver) by the time it processes it.</p></li>-</ul>---<h2><a name="index5h2"></a>done</h2>--<ul>-<li>on startup, add any files that have appeared since last run <strong>done</strong></li>-<li>on startup, fix the symlinks for any renamed links <strong>done</strong></li>-<li>on startup, stage any files that have been deleted since last run-(seems to require a <code>git commit -a</code> on startup, or at least a-<code>git add --update</code>, which will notice deleted files) <strong>done</strong></li>-<li>notice new files, and git annex add <strong>done</strong></li>-<li>notice renamed files, auto-fix the symlink, and stage the new file location-<strong>done</strong></li>-<li>handle cases where directories are moved outside the repo, and stop-watching them <strong>done</strong></li>-<li>when a whole directory is deleted or moved, stage removal of its-contents from the index <strong>done</strong></li>-<li>notice deleted files and stage the deletion-(tricky; there's a race with add since it replaces the file with a symlink..)-<strong>done</strong></li>-<li>Gracefully handle when the default limit of 8192 inotified directories-is exceeded. This can be tuned by root, so help the user fix it.-<strong>done</strong></li>-<li>periodically auto-commit staged changes (avoid autocommitting when-lots of changes are coming in) <strong>done</strong></li>-<li>coleasce related add/rm events for speed and less disk IO <strong>done</strong></li>-<li>don't annex <code>.gitignore</code> and <code>.gitattributes</code> files <strong>done</strong></li>-<li>run as a daemon <strong>done</strong></li>-<li><p>A process has a file open for write, another one closes it,-and so it's added. Then the first process modifies it.</p>--<p>Or, a process has a file open for write when <code>git annex watch</code> starts-up, it will be added to the annex. If the process later continues-writing, it will change content in the annex.</p>--<p>This changes content in the annex, and fsck will later catch-the inconsistency.</p>--<p>Possible fixes:</p>--<ul>-<li><p>Somehow track or detect if a file is open for write by any processes.-<code>lsof</code> could be used, although it would be a little slow.</p>--<p>Here's one way to avoid the slowdown: When a file is being added,-set it read-only, and hard-link it into a quarantine directory,-remembering both filenames.-Then use the batch change mode code to detect batch adds and bundle-them together.-Just before committing, lsof the quarantine directory. Any files in-it that are still open for write can just have their write bit turned-back on and be deleted from quarantine, to be handled when their writer-closes. Files that pass quarantine get added as usual. This avoids-repeated lsof calls slowing down adds, but does add a constant factor-overhead (0.25 seconds lsof call) before any add gets committed. <strong>done</strong></p></li>-<li><p>Or, when possible, making a copy on write copy before adding the file-would avoid this.</p></li>-<li>Or, as a last resort, make an expensive copy of the file and add that.</li>-<li>Tracking file opens and closes with inotify could tell if any other-processes have the file open. But there are problems.. It doesn't-seem to differentiate between files opened for read and for write.-And there would still be a race after the last close and before it's-injected into the annex, where it could be opened for write again.-Would need to detect that and undo the annex injection or something.</li>-</ul>-</li>-<li><p>If a file is checked into git as a normal file and gets modified-(or merged, etc), it will be converted into an annexed file.-See <span class="createlink">day 7  bugfixes</span>. <strong>done</strong>; we always check ls-files now</p></li>-<li>When you <code>git annex unlock</code> a file, it will immediately be re-locked.-See <span class="createlink">watcher commits unlocked files</span>. Seems fixed now?</li>-</ul>---</div>----<div id="comments">-<div  class="feedlink">---</div>-<div class="comment" id="comment-532957e00093e922ead28eeab8806a04">----<div class="comment-subject">--<a href="/design/assistant/inotify.html#comment-532957e00093e922ead28eeab8806a04">watch branch?</a>--</div>--<div class="inlinecontent">-<p>Hello there? Where can I find more info about this git watch branch?-Keep up the good work!</p>---</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="https://www.google.com/accounts/o8/id?id=AItOawnV2c63kDc6X21a1H81me1mIenUCScd2Gs">Emanuele</a>-</span>---&mdash; <span class="date">Fri Jun  1 15:19:17 2012</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-6934e371956835434618894470e16cbc">----<div class="comment-subject">--<a href="/design/assistant/inotify.html#comment-6934e371956835434618894470e16cbc">comment 1</a>--</div>--<div class="inlinecontent">-I would find it useful if the watch command could 'git add' new files (instead of 'git annex add') for certain repositories.--</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="http://ciffer.net/~svend/">svend [ciffer.net]</a>-</span>---&mdash; <span class="date">Mon Jun  4 15:42:07 2012</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-f792b5b56ba6dd7c7566315975ac5ed1">----<div class="comment-subject">--<a href="/design/assistant/inotify.html#comment-f792b5b56ba6dd7c7566315975ac5ed1">comment 2</a>--</div>--<div class="inlinecontent">-I think it's already on the list: "configurable option to only annex files meeting certian size or filename criteria" -- files not meeting those criteria would just be git added.--</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="http://joeyh.name/">joeyh.name</a>-</span>---&mdash; <span class="date">Mon Jun  4 15:46:03 2012</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-651cae71218a94050ec80910dfb758d8">----<div class="comment-subject">--<a href="/design/assistant/inotify.html#comment-651cae71218a94050ec80910dfb758d8">comment 3</a>--</div>--<div class="inlinecontent">-In relation to OSX support, hfsevents (or supporting hfs is probably a bad idea), its very osx specific and users who are moving usb keys and disks between systems will probably end up using fat32/exfat/vfat disks around. Also if you want I can lower the turn around time for the OSX auto-builder that I have setup to every 1 or 2mins? would that help?--</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="https://www.google.com/accounts/o8/id?id=AItOawkSq2FDpK2n66QRUxtqqdbyDuwgbQmUWus">Jimmy</a>-</span>---&mdash; <span class="date">Sun Jun 17 04:52:32 2012</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-bf6d49e300fb8e3934b600b1a9a3b687">----<div class="comment-subject">--<a href="/design/assistant/inotify.html#comment-bf6d49e300fb8e3934b600b1a9a3b687">comment 4</a>--</div>--<div class="inlinecontent">-<p>hfsevents seems usable, git-annex does not need to watch for file changes on remotes on other media.</p>--<p>But, trying kqueue first.</p>--<p>You could perhaps run the autobuilder on a per-commit basis..</p>---</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="http://joeyh.name/">joeyh.name</a>-</span>---&mdash; <span class="date">Sun Jun 17 12:39:43 2012</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-fea4b173ef5a9707b1c71bb2482ab6e7">----<div class="comment-subject">--<a href="/design/assistant/inotify.html#comment-fea4b173ef5a9707b1c71bb2482ab6e7">comment 5</a>--</div>--<div class="inlinecontent">-okay, I've gotten gitbuilder to poll the git repo every minute for changes, gitbuilder doesn't build every commit. It doesn't work like that, it checks out the master and builds that. If there is a failure it automatically bisects to find out where the problem first got introduced. Hope the change to the builder helps!--</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="https://www.google.com/accounts/o8/id?id=AItOawkSq2FDpK2n66QRUxtqqdbyDuwgbQmUWus">Jimmy</a>-</span>---&mdash; <span class="date">Sun Jun 17 17:42:59 2012</span>-</div>----<div style="clear: both"></div>-</div>-----<div class="addcomment">Comments on this page are closed.</div>--</div>----</div>--<div id="footer" class="pagefooter">--<div id="pageinfo">------------<div class="pagedate">-Last edited <span class="date">Sat May  4 11:06:40 2013</span>-<!-- Created <span class="date">Sat May  4 11:06:40 2013</span> -->-</div>--</div>---<!-- from git-annex -->-</div>--</div>--</body>-</html>
− debian/git-annex/usr/share/doc/git-annex/html/design/assistant/pairing.html
@@ -1,219 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">-<html xmlns="http://www.w3.org/1999/xhtml">--<head>--<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />-<title>pairing</title>--<link rel="stylesheet" href="../../style.css" type="text/css" />--<link rel="stylesheet" href="../../local.css" type="text/css" />-------</head>-<body>--<div class="page">--<div class="pageheader">-<div class="header">-<span>-<span class="parentlinks">--<a href="../../index.html">git-annex</a>/ --<a href="../../design.html">design</a>/ --<a href="../assistant.html">assistant</a>/ --</span>-<span class="title">-pairing--</span>-</span>--</div>--------</div>---<div class="sidebar">-<p><img src="../../logo_small.png" width="150" height="115" class="img" /></p>--<ul>-<li><a href="../../install.html">install</a></li>-<li><a href="../../assistant.html">assistant</a></li>-<li><a href="../../walkthrough.html">walkthrough</a></li>-<li><a href="../../tips.html">tips</a></li>-<li><span class="createlink">bugs</span></li>-<li><span class="createlink">todo</span></li>-<li><span class="createlink">forum</span></li>-<li><a href="../../comments.html">comments</a></li>-<li><a href="../../contact.html">contact</a></li>-<li><a href="http://flattr.com/thing/84843/git-annex"><img src="https://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" /></a></li>-</ul>---</div>---<div id="pagebody">--<div id="content">-<p>For git-annex to be able to clone its repo to another host, it'd be good to-have some way of pairing devices.</p>--<h2>security</h2>--<p>Pairing uses its own network protocol, built on top of multicast UDP.</p>--<p>It's important that pairing securely verifies that the right host is being-paired with. This is accomplied by having a shared secret be entered on-both the hosts that will be paired. Hopefully that secret is communicated-securely out of band.</p>--<p>(In practice, the security of that communication will vary. To guard against-interception, each pairing session pairs exactly two hosts and then forgets-the shared secret. So an attacker who tries to reuse an intercepted secret-will not succeed in pairing. This does not guard against an intercepted-secret that is used before the legitimate parties finish pairing.)</p>--<p>Each host can construct messages that the other host can verify using the-shared secret, and so know that, for example, the ssh public key it-received belongs to the right host and has not been altered by a man in the-middle.</p>--<p>The verification works like this: Take a HMAC SHA1 checksum of the message,-using the shared secret as the HMAC key. Include this checksum after the-message. The other host can then do the same calculation and verify the-checksum.</p>--<p>Additionally, a UUID is included in the message. Messages that are part of-the same pairing session all share a UUID. And all such messages should-be verifiable as described above. If a message has the same UUID but is-not verifiable, then someone on the network is up to no good. Perhaps-they are trying to brute-force the shared secret. When this is detected,-the pairing session is shut down. (Which would still let an attacker-DOS pairing, but that's not a very interesting attack.)</p>--<p>The protocol used for pairing consists of 3 messages, a PairReq, and-PairAck, and a PairDone. Let's consider what an attacker could accomplish-by replaying these:</p>--<ul>-<li>PairReq: This would make the webapp pop up an alert about an incoming-pair request. If the user thought it was real and for some reason-entered the right shared secret used in the real one earlier, the-ssh key inside the PairReq would be added to <code>authorized_keys</code>. Which-allows the host that originally sent the PairReq to access its git-repository, but doesn't seem to do the attacker any good.</li>-<li>PairAck:  If the host that originally sent-the PairReq is still pairing, it'll add the ssh key from the PairAck,-and start syncing, which again does the attacker no good.</li>-<li>PairDone: If the host that sent the PairAck is still syncing, it'll-add the ssh key from the PairDone, and start syncing, and stop-sending PairAcks. But probably, it's not syncing, because it would have-seen the original PairDone.. and anyway, this seems to do the attacker no-good.</li>-</ul>---<p>So replay attacks don't seem to be a problem.</p>--<p>So far I've considered security from a third-party attacker, but either the-first or second parties in pairing could also be attackers. Presumably they-trust each other with access to their files as mediated by-<a href="../../git-annex-shell.html">git-annex-shell</a>. However, one could try to get shell access to the-other's computer by sending malicious data in a pairing message. So the-pairing code always checks every data field's content, for example the ssh-public key is rejected if it looks at all unusual. Any control characters-in the pairing message cause it to be rejected, to guard against console-poisoning attacks. Furthermore, git-annex is careful not to expose data to-the shell, and the webapp uses Yesod's type safety to ensure all user input-is escaped before going to the browser.</p>--<h2>TODO</h2>--<ul>-<li>pairing over IPV6 only networks does not work. Haskell's-<code>network-multicast</code> library complains "inet_addr: Malformed address: ff02::1"-.. seems it just doesn't support IPv6. The pairing code in git-annex-does support ipv6, apart from this, it's just broadcasting the messages-that fails. (Pairing over mixed networks is fine.)</li>-<li><p>If there are three assistants on the network, and 2 pair, the third is-left displaying a "Pair request from foo" alert, until it's close.-Or, if the user clicks the button to pair, it'll get to the-"Pairing in progress" alert, which will show forever (until canceled).</p>--<p>It should be possible for third parties to tell when pairing is done,-but it's actually rather hard since they don't necessarily share the secret.</p></li>-</ul>---</div>----<div id="comments">-----<div class="addcomment">Comments on this page are closed.</div>--</div>----</div>--<div id="footer" class="pagefooter">--<div id="pageinfo">-------<div id="backlinks">-Links:--<a href="./configurators.html">configurators</a>---</div>-------<div class="pagedate">-Last edited <span class="date">Sat May  4 11:06:40 2013</span>-<!-- Created <span class="date">Sat May  4 11:06:40 2013</span> -->-</div>--</div>---<!-- from git-annex -->-</div>--</div>--</body>-</html>
− debian/git-annex/usr/share/doc/git-annex/html/design/assistant/polls.html
@@ -1,375 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">-<html xmlns="http://www.w3.org/1999/xhtml">--<head>--<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />-<title>polls</title>--<link rel="stylesheet" href="../../style.css" type="text/css" />--<link rel="stylesheet" href="../../local.css" type="text/css" />-------</head>-<body>--<div class="page">--<div class="pageheader">-<div class="header">-<span>-<span class="parentlinks">--<a href="../../index.html">git-annex</a>/ --<a href="../../design.html">design</a>/ --<a href="../assistant.html">assistant</a>/ --</span>-<span class="title">-polls--</span>-</span>--</div>--------</div>---<div class="sidebar">-<p><img src="../../logo_small.png" width="150" height="115" class="img" /></p>--<ul>-<li><a href="../../install.html">install</a></li>-<li><a href="../../assistant.html">assistant</a></li>-<li><a href="../../walkthrough.html">walkthrough</a></li>-<li><a href="../../tips.html">tips</a></li>-<li><span class="createlink">bugs</span></li>-<li><span class="createlink">todo</span></li>-<li><span class="createlink">forum</span></li>-<li><a href="../../comments.html">comments</a></li>-<li><a href="../../contact.html">contact</a></li>-<li><a href="http://flattr.com/thing/84843/git-annex"><img src="https://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" /></a></li>-</ul>---</div>---<div id="pagebody">--<div id="content">-<div  class="feedlink">---</div>-<div class="inlinepage">--<div class="inlineheader">--<span class="header">--<a href="./polls/what_is_preventing_me_from_using_git-annex_assistant.html">what is preventing me from using git-annex assistant</a>--</span>-</div>--<div class="inlinecontent">-<p>My goal for this month is to get more people using the git-annex assistant,-and fix issues that might be blocking you from using it. To do this,-I'd like to get an idea about whether you're already using it,-or what's keeping you from using it.</p>--<p>If you use <code>git-annex</code> at the command line and have no reason to use the-assistant, please instead fill in this poll on behalf of less technically-adept friends or family -- what's preventing you from introducing them to-the assistant?</p>--<p>[[!poll  open=no expandable=yes 8 "I'm using the assistant!" 28 "I need a Windows port" 30 "I need an Android port" 3 "I need an IPhone port (not holding my breath)" 2 "Well, it's still in beta..." 11 "I want to, but have not had the time to try it" 5 "Just inertia. I've got this dropbox/whatever that already works.." 3 "It's too hard to install (please say why in comments)" 2 "Perceived recent increase of bug reports and thus sitting it out." 25 "Initially the lack of direct-mode. Now concerns about the safety of direct mode. Perhaps after the next release." 10 "I haven't always well understood the differences between commandline operation &amp; the assistant, so the differences would confuse me, and I found the command line more understandable &amp; less scary.  Now trying to learn to like &amp; trust the assistant. :)" 21 "An Ubuntu PPA would be supercool! Thanks for your great work!!" 18 "Not yet in Debian sid amd64" 6 "Waiting for Fedora/CentOS rpm repository." 2 "throttling transfers, it upsets people when I saturate the connection" 2 "partial content" 1 "Not yet available in macports" 4 "No build yet for Nokia N9" 3 "Using only git-annex webapp to config does not seem to work: Create walkthough?" 5 "No build for OSX 10.6" 5 "Needs more focus on the UI." 1 "Just inertia. I don't have a Dropbox/whatever." 4 "Replaces files with a symlink mess." 2 "configurable option to only annex files meeting certian size or filename criteria" 4 "I'm really confused about how to make it sync with a remote NON-bare repository. I'm even afraid to try <code>git remote add</code>, since there is no clear method to completely forget a git-annex remote..." 5 "A build for te raspberry pi would be supercol!" 1 "Would be nice to exclude subfolders from the gui or through a config file" 1 "I wish I had transparently encrypted git repos in the cloud available, like jgit." 1 "too many inodes used in direct mode. maybe it's possible to keep more info as git objects instead?" 2 "I need to be able to restrict in which repo dirs changes get auto-committed" 1 "Provide .deb package" 1 "Better documentation/walkthroughs on using git-annex within an existing git repo. AKA mixed use" 1 "Union mounts to have a single view of file collection on the network" 1 "Ubuntu PPA does not build with webapp" 1 "I set it up, but am confused about what I set up! It would be great to be able to start from scratch." 1 "I need to be able to restrict in which repo dirs changes get auto-committed using a syntax similar to gitignore"]]</p>--<p>Feel free to write in your own reasons, or add a comment to give me more info.</p>--<p>Note: Poll is now closed. Nearly all these issues have been dealt with.-Please file bug reports if any of these issues still affect you.</p>--</div>--<div class="inlinefooter">--<span class="pagedate">-Posted <span class="date">Sat May  4 11:06:41 2013</span>-</span>----------</div>--</div>-<div class="inlinepage">--<div class="inlineheader">--<span class="header">--<a href="./polls/Android.html">Android</a>--</span>-</div>--<div class="inlinecontent">-<p>Help me choose a goal for the month of December. The last poll showed-a lot of interest in using the git-annex assistant with phones, etc.</p>--<p>Background: git-annex uses symbolic links in its repositories. This makes it-hard to use with filesystems, such as FAT, that do not support symbolic links.-FAT filesystems are the main storage available on some Android devices that-have a micro-SD card. Other, newer Android devices don't have a SD card and so-avoid this problem.</p>--<p>I can either work on the idea described in-<a href="./desymlink.html">desymlink</a>, which could solve the symlink problem and-also could lead to a nicer workflow to editing files that are stored in-git-annex.</p>--<p>Or, I can work on <a href="./android.html">Android porting</a>, and try to-get the assistant working on Android's built-in storage.</p>--<p>[[!poll  open=no 81 "solve the symlink problem first" 17 "port to Android first" 1 "other"]]</p>--</div>--<div class="inlinefooter">--<span class="pagedate">-Posted <span class="date">Sat May  4 11:06:41 2013</span>-</span>----------</div>--</div>-<div class="inlinepage">--<div class="inlineheader">--<span class="header">--<a href="./polls/Android_default_directory.html">Android default directory</a>--</span>-</div>--<div class="inlinecontent">-<p>What directory should the Android webapp default to creating an annex in?</p>--<p>Same as the desktop webapp, users will be able to enter a directory they-want the first time they run it, but to save typing on android, anything-that gets enough votes will be included in a list of choices as well.</p>--<p>[[!poll  open=yes expandable=yes 42 "/sdcard/annex" 3 "Whole /sdcard" 4 "DCIM directory (photos and videos only)" 1 "Same as for regular git-annex. ~/annex/"]]</p>--</div>--<div class="inlinefooter">--<span class="pagedate">-Posted <span class="date">Sat May  4 11:06:41 2013</span>-</span>----------</div>--</div>-<div class="inlinepage">--<div class="inlineheader">--<span class="header">--<a href="./polls/goals_for_April.html">goals for April</a>--</span>-</div>--<div class="inlinecontent">-<p>What should I work on in April? I expect I could get perhaps two of these-features done in a month if I'm lucky. I have only 3 more funded months,-and parts of one will be spent working on porting to Windows, so choose wisely!---<span class="createlink">Joey</span></p>--<p>[[!poll  open=yes expandable=yes 4 "upload and download rate limiting" 15 "get webapp working on Android" 5 "deltas: speed up syncing modified versions of existing files" 8 "encrypted git remotes using git-remote-gcrypt" 0 "add support for more cloud storage remotes" 19 "don't work on features, work on making it easier to install and use" 2 "Handle duplicate files" 6 "direct mode (aka real files instead of symlinks) [already done --joey]" 3 "start windows port now"]]</p>--<p>References:</p>--<ul>-<li><a href="./rate_limiting.html">rate limiting</a></li>-<li><a href="./polls/Android.html">Android</a></li>-<li><a href="./deltas.html">deltas</a> to speed up syncing modified files (at least for remotes using rsync)</li>-<li><a href="./encrypted_git_remotes.html">encrypted git remotes</a></li>-<li><a href="./more_cloud_providers.html">more cloud providers</a> (OpenStack Swift, Owncloud, Google drive,-Dropbox, Mediafire, nimbus.io, Mega, etc.)</li>-<li><a href="./polls/what_is_preventing_me_from_using_git-annex_assistant.html">old poll on "what is preventing me from using git-annex assistant"</a>-(many of the items on it should be fixed now, but I have plenty of bug reports to chew on still)</li>-</ul>---</div>--<div class="inlinefooter">--<span class="pagedate">-Posted <span class="date">Sat May  4 11:06:41 2013</span>-</span>----------</div>--</div>-<div class="inlinepage">--<div class="inlineheader">--<span class="header">--<a href="./polls/prioritizing_special_remotes.html">prioritizing special remotes</a>--</span>-</div>--<div class="inlinecontent">-<p>Background: git-annex supports storing data in various <a href="../../special_remotes.html">special remotes</a>.-The git-annex assistant will make it easy to configure these, and easy-configurators have already been built for a few: removable drives, rsync.net,-locally paired systems, and remote servers with rsync.</p>--<p>Help me prioritize my work: What special remote would you most like-to use with the git-annex assistant?</p>--<p>[[!poll  open=yes 15 "Amazon S3 (done)" 12 "Amazon Glacier (done)" 9 "Box.com (done)" 70 "My phone (or MP3 player)" 18 "Tahoe-LAFS" 7 "OpenStack SWIFT" 28 "Google Drive"]]</p>--<p>This poll is ordered with the options I consider easiest to build-listed first. Mostly because git-annex already supports them and they-only need an easy configurator. The ones at the bottom are likely to need-significant work. See <a href="./cloud.html">cloud</a> for detailed discussion.</p>--<p>Have another idea? Absolutely need two or more? Post comments..</p>--</div>--<div class="inlinefooter">--<span class="pagedate">-Posted <span class="date">Sat May  4 11:06:41 2013</span>-</span>----------</div>--</div>------</div>----<div id="comments">-----<div class="addcomment">Comments on this page are closed.</div>--</div>----</div>--<div id="footer" class="pagefooter">--<div id="pageinfo">-------<div id="backlinks">-Links:--<a href="../assistant.html">assistant</a>---</div>-------<div class="pagedate">-Last edited <span class="date">Sat May  4 11:06:40 2013</span>-<!-- Created <span class="date">Sat May  4 11:06:40 2013</span> -->-</div>--</div>---<!-- from git-annex -->-</div>--</div>--</body>-</html>
− debian/git-annex/usr/share/doc/git-annex/html/design/assistant/syncing.html
@@ -1,593 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">-<html xmlns="http://www.w3.org/1999/xhtml">--<head>--<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />-<title>syncing</title>--<link rel="stylesheet" href="../../style.css" type="text/css" />--<link rel="stylesheet" href="../../local.css" type="text/css" />-------</head>-<body>--<div class="page">--<div class="pageheader">-<div class="header">-<span>-<span class="parentlinks">--<a href="../../index.html">git-annex</a>/ --<a href="../../design.html">design</a>/ --<a href="../assistant.html">assistant</a>/ --</span>-<span class="title">-syncing--</span>-</span>--</div>--------</div>---<div class="sidebar">-<p><img src="../../logo_small.png" width="150" height="115" class="img" /></p>--<ul>-<li><a href="../../install.html">install</a></li>-<li><a href="../../assistant.html">assistant</a></li>-<li><a href="../../walkthrough.html">walkthrough</a></li>-<li><a href="../../tips.html">tips</a></li>-<li><span class="createlink">bugs</span></li>-<li><span class="createlink">todo</span></li>-<li><span class="createlink">forum</span></li>-<li><a href="../../comments.html">comments</a></li>-<li><a href="../../contact.html">contact</a></li>-<li><a href="http://flattr.com/thing/84843/git-annex"><img src="https://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" /></a></li>-</ul>---</div>---<div id="pagebody">--<div id="content">-<p>Once files are added (or removed or moved), need to send those changes to-all the other git clones, at both the git level and the key/value level.</p>--<h2>efficiency</h2>--<p>Currently after each file transfer (upload or download), a git sync is done-to all remotes. This is rather a lot of work, also it prevents collecting-presence changes to the git-annex branch into larger commits, which would-save disk space over time.</p>--<p>In many cases, this sync is necessary. For example, when a file is uploaded-to a transfer remote, the location change needs to be synced out so that-other clients know to grab it.</p>--<p>Or, when downloading a file from a drive, the sync lets other locally-paired repositories know we got it, so they can download it from us.-OTOH, this is also a case where a sync is sometimes unnecessary, since-if we're going to upload the file to them after getting it, the sync-only perhaps lets them start downloading it before our transfer queue-reaches a point where we'd upload it.</p>--<p>Do we need all the mapping stuff discussed below to know when we can avoid-syncs?</p>--<h2>TODO</h2>--<ul>-<li>Test MountWatcher on LXDE.</li>-<li>Add a hook, so when there's a change to sync, a program can be run- and do its own signaling.</li>-<li>--debug will show often unnecessary work being done. Optimise.</li>-<li>Configurablity, including only enabling git syncing but not data transfer;-only uploading new files but not downloading, and only downloading-files in some directories and not others. See for use cases:-<span class="createlink">Wishlist: options for syncing meta-data and data</span></li>-<li>speed up git syncing by using the cached ssh connection for it too-Will need to use <code>GIT_SSH</code>, which needs to point to a command to run,-not a shell command line. Beware that the network connection may have-bounced and the cached ssh connection not be usable.</li>-<li>Map the network of git repos, and use that map to calculate-optimal transfers to keep the data in sync. Currently a naive flood fill-is done instead. Maybe use XMPP as a side channel to learn about the-network topology?</li>-<li>Find a more efficient way for the TransferScanner to find the transfers-that need to be done to sync with a remote. Currently it walks the git-working copy and checks each file. That probably needs to be done once,-but further calls to the TransferScanner could eg, look at the delta-between the last scan and the current one in the git-annex branch.</li>-<li><span class="createlink">use multiple transfer slots</span></li>-<li>The TransferQueue's list of deferred downloads could theoretically-grow without bounds in memory. Limit it to a given number of entries,-and fall back to some other method -- either storing deferred downloads-on disk, or perhaps scheduling a TransferScanner run to get back into sync.</li>-</ul>---<h2>data syncing</h2>--<p>There are two parts to data syncing. First, map the network and second,-decide what to sync when.</p>--<p>Mapping the network can reuse code in <code>git annex map</code>. Once the map is-built, we want to find paths through the network that reach all nodes-eventually, with the least cost. This is a minimum spanning tree problem,-except with a directed graph, so really a Arborescence problem.</p>--<p>With the map, we can determine which nodes to push new content to. Then we-need to control those data transfers, sending to the cheapest nodes first,-and with appropriate rate limiting and control facilities.</p>--<p>This probably will need lots of refinements to get working well.</p>--<h3>first pass: flood syncing</h3>--<p>Before mapping the network, the best we can do is flood all files out to every-reachable remote. This is worth doing first, since it's the simplest way to-get the basic functionality of the assistant to work. And we'll need this-anyway.</p>--<h2>TransferScanner</h2>--<p>The TransferScanner thread needs to find keys that need to be Uploaded-to a remote, or Downloaded from it.</p>--<p>How to find the keys to transfer? I'd like to avoid potentially-expensive traversals of the whole git working copy if I can.-(Currently, the TransferScanner does do the naive and possibly expensive-scan of the git working copy.)</p>--<p>One way would be to do a git diff between the (unmerged) git-annex branches-of the git repo, and its remote. Parse that for lines that add a key to-either, and queue transfers. That should work fairly efficiently when the-remote is a git repository. Indeed, git-annex already does such a diff-when it's doing a union merge of data into the git-annex branch. It-might even be possible to have the union merge and scan use the same-git diff data.</p>--<p>But that approach has several problems:</p>--<ol>-<li>The list of keys it would generate wouldn't have associated git-filenames, so the UI couldn't show the user what files were being-transferred.</li>-<li>Worse, without filenames, any later features to exclude-files/directories from being transferred wouldn't work.</li>-<li>Looking at a git diff of the git-annex branches would find keys-that were added to either side while the two repos were disconnected.-But if the two repos' keys were not fully in sync before they-disconnected (which is quite possible; transfers could be incomplete),-the diff would not show those older out of sync keys.</li>-</ol>---<p>The remote could also be a special remote. In this case, I have to either-traverse the git working copy, or perhaps traverse the whole git-annex-branch (which would have the same problems with filesnames not being-available).</p>--<p>If a traversal is done, should check all remotes, not just-one. Probably worth handling the case where a remote is connected-while in the middle of such a scan, so part of the scan needs to be-redone to check it.</p>--<h2>done</h2>--<ol>-<li>Can use <code>git annex sync</code>, which already handles bidirectional syncing.-When a change is committed, launch the part of <code>git annex sync</code> that pushes-out changes. <strong>done</strong>; changes are pushed out to all remotes in parallel</li>-<li>Watch <code>.git/refs/remotes/</code> for changes (which would be pushed in from-another node via <code>git annex sync</code>), and run the part of <code>git annex sync</code>-that merges in received changes, and follow it by the part that pushes out-changes (sending them to any other remotes).-[The watching can be done with the existing inotify code! This avoids needing-any special mechanism to notify a remote that it's been synced to.]<br/>-<strong>done</strong></li>-<li>Periodically retry pushes that failed.  <strong>done</strong> (every half an hour)</li>-<li>Also, detect if a push failed due to not being up-to-date, pull,-and repush. <strong>done</strong></li>-<li><p>Use a git merge driver that adds both conflicting files,-so conflicts never break a sync. <strong>done</strong></p></li>-<li><p>on-disk transfers in progress information files (read/write/enumerate)-<strong>done</strong></p></li>-<li>locking for the files, so redundant transfer races can be detected,-and failed transfers noticed <strong>done</strong></li>-<li>transfer info for git-annex-shell <strong>done</strong></li>-<li>update files as transfers proceed. See <a href="./progressbars.html">progressbars</a>-(updating for downloads is easy; for uploads is hard)</li>-<li>add Transfer queue TChan <strong>done</strong></li>-<li>add TransferInfo Map to DaemonStatus for tracking transfers in progress.-<strong>done</strong></li>-<li>Poll transfer in progress info files for changes (use inotify again!-wow! hammer, meet nail..), and update the TransferInfo Map <strong>done</strong></li>-<li>enqueue Transfers (Uploads) as new files are added to the annex by-Watcher. <strong>done</strong></li>-<li>enqueue Tranferrs (Downloads) as new dangling symlinks are noticed by-Watcher. <strong>done</strong>-(Note: Needs git-annex branch to be merged before the tree is merged,-so it knows where to download from. Checked and this is the case.)</li>-<li>Write basic Transfer handling thread. Multiple such threads need to be-able to be run at once. Each will need its own independant copy of the-Annex state monad. <strong>done</strong></li>-<li>Write transfer control thread, which decides when to launch transfers.-<strong>done</strong></li>-<li>Transfer watching has a race on kqueue systems, which makes finished-fast transfers not be noticed by the TransferWatcher. Which in turn-prevents the transfer slot being freed and any further transfers-from happening. So, this approach is too fragile to rely on for-maintaining the TransferSlots. Instead, need <span class="createlink">assistant threaded runtime</span>,-which would allow running something for sure when a transfer thread-finishes. <strong>done</strong></li>-<li>Test MountWatcher on KDE, and add whatever dbus events KDE emits when-drives are mounted. <strong>done</strong></li>-<li>It would be nice if, when a USB drive is connected,-syncing starts automatically. Use dbus on Linux? <strong>done</strong></li>-<li><p>Optimisations in 5c3e14649ee7c404f86a1b82b648d896762cbbc2 temporarily-broke content syncing in some situations, which need to be added back.-<strong>done</strong></p>--<p>Now syncing a disconnected remote only starts a transfer scan if the-remote's git-annex branch has diverged, which indicates it probably has-new files. But that leaves open the cases where the local repo has-new files; and where the two repos git branches are in sync, but the-content transfers are lagging behind; and where the transfer scan has-never been run.</p>--<p>Need to track locally whether we're believed to be in sync with a remote.-This includes:</p>--<ul>-<li>All local content has been transferred to it successfully.</li>-<li>The remote has been scanned once for data to transfer from it, and all-transfers initiated by that scan succeeded.</li>-</ul>---<p>Note the complication that, if it's initiated a transfer, our queued-transfer will be thrown out as unnecessary. But if its transfer then-fails, that needs to be noticed.</p>--<p>If we're going to track failed transfers, we could just set a flag,-and use that flag later to initiate a new transfer scan. We need a flag-in any case, to ensure that a transfer scan is run for each new remote.-The flag could be <code>.git/annex/transfer/scanned/uuid</code>.</p>--<p>But, if failed transfers are tracked, we could also record them, in-order to retry them later, without the scan. I'm thinking about a-directory like <code>.git/annex/transfer/failed/{upload,download}/uuid/</code>,-which failed transfer log files could be moved to.</p></li>-<li>A remote may lose content it had before, so when requeuing-a failed download, check the location log to see if the remote still has-the content, and if not, queue a download from elsewhere. (And, a remote-may get content we were uploading from elsewhere, so check the location-log when queuing a failed Upload too.) <strong>done</strong></li>-<li>Fix MountWatcher to notice umounts and remounts of drives. <strong>done</strong></li>-<li>Run transfer scan on startup. <strong>done</strong></li>-<li>Often several remotes will be queued for full TransferScanner scans,-and the scan does the same thing for each .. so it would be better to-combine them into one scan in such a case. <strong>done</strong></li>-<li><p>The syncing code currently doesn't run for special remotes. While-transfering the git info about special remotes could be a complication,-if we assume that's synced between existing git remotes, it should be-possible for them to do file transfers to/from special remotes.-<strong>done</strong></p></li>-<li><p>The transfer code doesn't always manage to transfer file contents.</p>--<p>Besides reconnection events, there are two places where transfers get queued:</p>--<ol>-<li>When the committer commits a file, it queues uploads.</li>-<li>When the watcher sees a broken symlink be created, it queues downloads.</li>-</ol>---<p>Consider a doubly-linked chain of three repositories, A B and C.-(C and A do not directly communicate.)</p>--<ul>-<li>File is added to A.</li>-<li>A uploads its content to B.</li>-<li>At the same time, A git syncs to B.</li>-<li>Once B gets the git sync, it git syncs to C.</li>-<li>When C's watcher sees the file appear, it tries to download it. But if-B had not finished receiving the file from A, C doesn't know B has it,-and cannot download it from anywhere.</li>-</ul>---<p>Possible solution: After B receives content, it could queue uploads of it-to all remotes that it doesn't know have it yet, which would include C.-<strong>done</strong></p>--<p>In practice, this had the problem that when C receives the content,-it will queue uploads of it, which can send back to B (or to some other repo-that already has the content) and loop, until the git-annex branches catch-up and break the cycle.</p>--<p>To avoid that problem, incoming uploads should not result in a transfer-info file being written when the key is already present. <strong>done</strong></p>--<p>Possible solution: C could record a deferred download. (Similar to a failed-download, but with an unknown source.) When C next receives a git-annex-branch push, it could try to queue deferred downloads. <strong>done</strong></p>--<p>Note that this solution won't cover use cases the other does. For example,-connect a USB drive A; B syncs files from it, and then should pass them to C.-If the files are not new, C won't immediatly request them from B.</p></li>-<li><p>Running the assistant in a fresh clone of a repository, it sometimes-skips downloading a file, while successfully downloading all the rest.-There does not seem to be an error message. This will sometimes reproduce-(in a fresh clone each time) several times in a row, but then stops happening,-which has prevented me from debugging it.-This could possibly have been caused by the bug fixed in 750c4ac6c282d14d19f79e0711f858367da145e4.-Provisionally closed.</p></li>-</ol>---</div>----<div id="comments">-<div  class="feedlink">---</div>-<div class="comment" id="comment-bf456e8b83e7228d5a91ea31bb0119eb">----<div class="comment-subject">--<a href="/design/assistant/syncing.html#comment-bf456e8b83e7228d5a91ea31bb0119eb">comment 1</a>--</div>--<div class="inlinecontent">-<p>On "git syncing" point number 9, on OSX you could potentially do this on a semi-regular basis</p>--<pre>-system_profiler SPNetworkVolumeDataType-Volumes:--    net:--      Type: autofs-      Mount Point: /net-      Mounted From: map -hosts-      Automounted: Yes--    home:--      Type: autofs-      Mount Point: /home-      Mounted From: map auto_home-      Automounted: Yes-</pre>---<p>and</p>--<pre>-x00:~ jtang$ system_profiler SPUSBDataType-USB:--    USB High-Speed Bus:--      Host Controller Location: Built-in USB-      Host Controller Driver: AppleUSBEHCI-      PCI Device ID: 0x0aa9 -      PCI Revision ID: 0x00b1 -      PCI Vendor ID: 0x10de -      Bus Number: 0x26 --        Hub:--          Product ID: 0x2504-          Vendor ID: 0x0424  (SMSC)-          Version: 0.01-          Speed: Up to 480 Mb/sec-          Location ID: 0x26200000 / 3-          Current Available (mA): 500-          Current Required (mA): 2--            USB to ATA/ATAPI Bridge:--              Capacity: 750.16 GB (750,156,374,016 bytes)-              Removable Media: Yes-              Detachable Drive: Yes-              BSD Name: disk1-              Product ID: 0x2338-              Vendor ID: 0x152d  (JMicron Technology Corp.)-              Version: 1.00-              Serial Number: 313541813001-              Speed: Up to 480 Mb/sec-              Manufacturer: JMicron-              Location ID: 0x26240000 / 5-              Current Available (mA): 500-              Current Required (mA): 2-              Partition Map Type: MBR (Master Boot Record)-              S.M.A.R.T. status: Not Supported-              Volumes:-                Porta-Disk:-                  Capacity: 750.16 GB (750,156,341,760 bytes)-                  Available: 668.42 GB (668,424,208,384 bytes)-                  Writable: Yes-                  File System: ExFAT-....-</pre>---<p>I think its possible to programatically get this information either from the CLI (it dumps out XML output if required) or some development library. There is also DBUS in macports, but I have never had much interaction with it, so I don't know if its good or bad on OSX.</p>---</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="https://www.google.com/accounts/o8/id?id=AItOawkSq2FDpK2n66QRUxtqqdbyDuwgbQmUWus">Jimmy</a>-</span>---&mdash; <span class="date">Tue Jul  3 04:26:43 2012</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-f5adf55cfc878ae2d1e3d69da053630f">----<div class="comment-subject">--<a href="/design/assistant/syncing.html#comment-f5adf55cfc878ae2d1e3d69da053630f">Bridging LANs</a>--</div>--<div class="inlinecontent">-Why rely on the cloud when you can instead use XMPP and jingle to perform NAT traversal for you? AFAIKT, it also means that traffic won't leave your router if the two endpoints are behind the same router.--</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="https://www.google.com/accounts/o8/id?id=AItOawnBl7cA6wLDxVNUyLIHvAyCkf8ir3alYpk">Tyson</a>-</span>---&mdash; <span class="date">Tue Jul 10 06:20:59 2012</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-c4ed7092a37f27eb941e8c9737597b99">----<div class="comment-subject">--<a href="/design/assistant/syncing.html#comment-c4ed7092a37f27eb941e8c9737597b99">selective data syncing</a>--</div>--<div class="inlinecontent">-<p>How will the assistant know which files' data to distribute between the repos?</p>--<p>I'm using git-annex and it's numcopies attribute to maintain a redundant archive spread over different computers and usb drives. Not all drives should get a copy of everything, e.g. the usb drive I take to work should not automatically get a copy of family pictures.</p>--<p>How about .gitattributes?</p>--<ul>-<li>* annex.auto-sync-data = false # don't automatically sync the data</li>-<li>archive/ annex.auto-push-repos = NAS # everything added to archive/ in any repo goes automatically to the NAS remote.</li>-<li>work/ annex.auto-synced-repos = LAPTOP WORKUSB # everything added to work/ in LAPTOP or WORKUSB gets synced to WORKUSB and LAPTOP</li>-<li>work/ annex.auto-push-repos = LAPTOP WORKUSB # stuff added to work/ anywhere gets synced to LAPTOP and WORKUSB</li>-<li>important/ annex.auto-sync-data = true # push data to all repos</li>-<li>webserver_logs/ annex.remote.WEBSERVER.auto-push-repos = S3 # only the assistant running in WEBSERVER pushes webserver_logs/ to S3 remote</li>-</ul>----</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="https://www.google.com/accounts/o8/id?id=AItOawk4YX0PWICfWGRLuncCPufMPDctT7KAYJA">betabrain</a>-</span>---&mdash; <span class="date">Tue Jul 24 11:27:08 2012</span>-</div>----<div style="clear: both"></div>-</div>-----<div class="addcomment">Comments on this page are closed.</div>--</div>----</div>--<div id="footer" class="pagefooter">--<div id="pageinfo">-------<div id="backlinks">-Links:--<a href="./cloud.html">cloud</a>---</div>-------<div class="pagedate">-Last edited <span class="date">Sat May  4 11:06:41 2013</span>-<!-- Created <span class="date">Sat May  4 11:06:41 2013</span> -->-</div>--</div>---<!-- from git-annex -->-</div>--</div>--</body>-</html>
− debian/git-annex/usr/share/doc/git-annex/html/design/assistant/webapp.html
@@ -1,344 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">-<html xmlns="http://www.w3.org/1999/xhtml">--<head>--<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />-<title>webapp</title>--<link rel="stylesheet" href="../../style.css" type="text/css" />--<link rel="stylesheet" href="../../local.css" type="text/css" />-------</head>-<body>--<div class="page">--<div class="pageheader">-<div class="header">-<span>-<span class="parentlinks">--<a href="../../index.html">git-annex</a>/ --<a href="../../design.html">design</a>/ --<a href="../assistant.html">assistant</a>/ --</span>-<span class="title">-webapp--</span>-</span>--</div>--------</div>---<div class="sidebar">-<p><img src="../../logo_small.png" width="150" height="115" class="img" /></p>--<ul>-<li><a href="../../install.html">install</a></li>-<li><a href="../../assistant.html">assistant</a></li>-<li><a href="../../walkthrough.html">walkthrough</a></li>-<li><a href="../../tips.html">tips</a></li>-<li><span class="createlink">bugs</span></li>-<li><span class="createlink">todo</span></li>-<li><span class="createlink">forum</span></li>-<li><a href="../../comments.html">comments</a></li>-<li><a href="../../contact.html">contact</a></li>-<li><a href="http://flattr.com/thing/84843/git-annex"><img src="https://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" /></a></li>-</ul>---</div>---<div id="pagebody">--<div id="content">-<p>The webapp is a web server that displays a shiny interface.</p>--<h2>performance</h2>--<p>Having the webapp open while transfers are-running uses significant CPU just for the browser to update the progress-bar. Unsurprising, since the webapp is sending the browser a new <code>&lt;div&gt;</code>-each time. Updating the DOM instead from javascript would avoid that;-the webapp just needs to send the javascript either a full <code>&lt;div&gt;</code> or a-changed percentage and quantity complete to update a single progress bar.</p>--<p>(Another reason to do this is it'll cut down on the refreshes, which-sometimes make browsers ignore clicks on UI elements like the pause button,-if the transfer display refreshes just as the click is made.)</p>--<h2>other features</h2>--<ul>-<li>there could be a UI to export a file, which would make it be served up-over http by the web app</li>-<li>there could be a UI (some javascript thing) in the web browser to-submit urls to the web app to be added to the annex and downloaded.-See: <span class="createlink">wishlist: an &#34;assistant&#34; for web-browsing -- tracking the sources of the downloads</span></li>-<li>Display the <code>inotify max_user_watches</code> exceeded message. <strong>done</strong></li>-<li>Display something sane when kqueue runs out of file descriptors.</li>-<li>allow removing git remotes <strong>done</strong></li>-<li>allow disabling syncing to here, which should temporarily disable all-local syncing. <strong>done</strong></li>-</ul>---<h2>better headless support</h2>--<p><code>--listen</code> is insecure, and using HTTPS would still not make it 100% secure-as there would be no way for the browser to verify its certificate.</p>--<p>I do have a better idea, but it'd be hard to implement.-<code>git annex webapp --remote user@host:dir</code> could ssh to the remote host,-run the webapp there, listening only on localhost, and then send the-port the webapp chose back over the ssh connection. Then the same-ssh connection could be reused (using ssh connection caching) to set up-port forwarding from a port on the local host to the remote webapp.</p>--<p>This would need to handle the first run case too, which would require-forwarding a second port once the webapp made the repository and-the second webapp started up.</p>--<h2>first start <strong>done</strong></h2>--<ul>-<li>make git repo <strong>done</strong></li>-<li>generate a nice description like "joey@hostname Desktop/annex" <strong>done</strong></li>-<li>record repository that was made, and use it next time run <strong>done</strong></li>-<li>write a pid file, to prevent more than one first-start process running-at once <strong>done</strong></li>-</ul>---<h2>security <strong>acceptable/done</strong></h2>--<ul>-<li>Listen only to localhost. <strong>done</strong></li>-<li>Instruct the user's web browser to open an url that contains a secret-token. This guards against other users on the same system. <strong>done</strong>-(I would like to avoid passwords or other authentication methods,-it's your local system.)</li>-<li>Don't pass the url with secret token directly to the web browser,-as that exposes it to <code>ps</code>. Instead, write a html file only the user can read,-that redirects to the webapp. <strong>done</strong></li>-<li>Alternative for Linux at least would be to write a small program using-GTK+ Webkit, that runs the webapp, and can know what user ran it, avoiding-needing authentication.</li>-</ul>---</div>----<div id="comments">-<div  class="feedlink">---</div>-<div class="comment" id="comment-66f9834d5ad31c3d31c2078845cc6a0f">----<div class="comment-subject">--<a href="/design/assistant/webapp.html#comment-66f9834d5ad31c3d31c2078845cc6a0f">Secret URL token</a>--</div>--<div class="inlinecontent">-<blockquote><p>Instruct the user's web browser to open an url that contains a secret token. This guards against other users on the same system.</p></blockquote>--<p>How will you implement that? Running "sensible-browser URL" would be the obvious way, but the secret URL would show up in a well timed ps listing. (And depending on the browser, ps may show the URL the entire time it's running.)</p>---</div>--<div class="comment-header">--Comment by--<span class="author" title="Signed in">--<a href="?page=yatesa&amp;do=goto">yatesa</a>--</span>---&mdash; <span class="date">Mon Jun 18 23:41:16 2012</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-ded5c5608cbc936a6e5575e52e4744dd">----<div class="comment-subject">--<a href="/design/assistant/webapp.html#comment-ded5c5608cbc936a6e5575e52e4744dd">ARM support</a>--</div>--<div class="inlinecontent">-The closure of <a href="http://hackage.haskell.org/trac/ghc/ticket/5839">this</a> ticket hopefully marks the end of TH issues on ARM. As of 7.4.2, GHC's linker has enough ARM support to allow a selection of common packages compile on my PandaBoard. That being said, it hasn't had a whole lot of testing so it's possible I still need to implement a few relocation types.--</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="https://www.google.com/accounts/o8/id?id=AItOawlup4hyZo4eCjF8T85vfRXMKBxGj9bMdl0">Ben</a>-</span>---&mdash; <span class="date">Fri Jul 13 12:51:15 2012</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-4af69b775df8a89c570165f608b29672">----<div class="comment-subject">--<a href="/design/assistant/webapp.html#comment-4af69b775df8a89c570165f608b29672">comment 3</a>--</div>--<div class="inlinecontent">-Using twitter-bootstrap for the webapp - this might be a wishlist item, but would it be possible to ensure that the webapp's css uses twitter-bootstrap classes. It would make theming much easier in the long run and it would give you a nice modern look with a low amount of effort.--</div>--<div class="comment-header">--Comment by--<span class="author" title="Signed in">--<a href="?page=jtang&amp;do=goto">jtang</a>--</span>---&mdash; <span class="date">Thu Jul 26 13:35:18 2012</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-3a63f1e7dcdd65b98769280dc73a3d59">----<div class="comment-subject">--<a href="/design/assistant/webapp.html#comment-3a63f1e7dcdd65b98769280dc73a3d59">comment 4</a>--</div>--<div class="inlinecontent">-<p>So, Yesod's scaffolded site actually does use bootstrap, but I didn't use the scaffolded site so don't have it. I am not quite to the point of doing any theming of the webapp, but I do have this nice example of how to put in bootstrap right here..</p>--<p>By the way, if anyone would like to play with the html templates for the webapp, the main html template is <code>templates/default-layout.hamlet</code>. Uses a slightly weird template markup, but plain html will also work. And there's also the <code>static/</code> directory; every file in there will be compiled directly into the git-annex binary, and is available at <code>http://localhost:port/static/$file</code> in the webapp. See the favicon link in <code>default-layout.hamlet</code> of how to construct a type-safe link to a static file: <code>href=@{StaticR favicon_ico}</code>. That's all you really need to theme the webapp, without doing any real programming!</p>---</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="http://joeyh.name/">joeyh.name</a>-</span>---&mdash; <span class="date">Thu Jul 26 13:45:28 2012</span>-</div>----<div style="clear: both"></div>-</div>-----<div class="addcomment">Comments on this page are closed.</div>--</div>----</div>--<div id="footer" class="pagefooter">--<div id="pageinfo">-------<div id="backlinks">-Links:--<a href="./configurators.html">configurators</a>--<a href="./progressbars.html">progressbars</a>---</div>-------<div class="pagedate">-Last edited <span class="date">Sat May  4 11:06:41 2013</span>-<!-- Created <span class="date">Sat May  4 11:06:41 2013</span> -->-</div>--</div>---<!-- from git-annex -->-</div>--</div>--</body>-</html>
− debian/git-annex/usr/share/doc/git-annex/html/design/assistant/windows.html
@@ -1,204 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">-<html xmlns="http://www.w3.org/1999/xhtml">--<head>--<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />-<title>windows</title>--<link rel="stylesheet" href="../../style.css" type="text/css" />--<link rel="stylesheet" href="../../local.css" type="text/css" />-------</head>-<body>--<div class="page">--<div class="pageheader">-<div class="header">-<span>-<span class="parentlinks">--<a href="../../index.html">git-annex</a>/ --<a href="../../design.html">design</a>/ --<a href="../assistant.html">assistant</a>/ --</span>-<span class="title">-windows--</span>-</span>--</div>--------</div>---<div class="sidebar">-<p><img src="../../logo_small.png" width="150" height="115" class="img" /></p>--<ul>-<li><a href="../../install.html">install</a></li>-<li><a href="../../assistant.html">assistant</a></li>-<li><a href="../../walkthrough.html">walkthrough</a></li>-<li><a href="../../tips.html">tips</a></li>-<li><span class="createlink">bugs</span></li>-<li><span class="createlink">todo</span></li>-<li><span class="createlink">forum</span></li>-<li><a href="../../comments.html">comments</a></li>-<li><a href="../../contact.html">contact</a></li>-<li><a href="http://flattr.com/thing/84843/git-annex"><img src="https://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" /></a></li>-</ul>---</div>---<div id="pagebody">--<div id="content">-<p>See <span class="createlink">windows support</span>..</p>--<h2>symlinks</h2>--<p>Apparently new versions of Windows have something very like symlinks.-(Or really, 3 or so things not entirely unlike symlinks and all different.)-Stackoverflow has some details.</p>--<p>NTFS supports symbolic links two different ways: an [[!wikipedia  NTFS symbolic link]] and an [[!wikipedia  NTFS_junction_point]].  The former seems like the closest analogue to POSIX symlinks.</p>--<p>Make git use them, as it (apparently) does not yet.</p>--<p>Currently, on Windows, git checks out symlinks as files containing the symlink-target as their contents.</p>--<h2>POSIX</h2>--<p>Lots of ifdefs and pain to deal with POSIX calls in the code base.</p>--<p>Or I could try to use Cygwin.</p>--<h2>Deeper system integration</h2>--<p><a href="http://msdn.microsoft.com/en-us/library/aa365503%28v=VS.85%29.aspx">NTFS Reparse Points</a> allow a program to define how the OS will interpret a file or directory in arbitrary ways.  This requires writing a file system filter.</p>--<h2>Developement environment</h2>--<p>Someone wrote in to say:</p>--<blockquote><p>For Windows Development you can easily qualify-for Bizspark - http://www.microsoft.com/bizspark/</p>--<p>This will get you 100% free Windows OS licenses and-Dev tools, plus a free Azure account for cloud testing.-(You can also now deploy Linux VMs to Azure as well)-No money required at all.</p></blockquote>--</div>----<div id="comments">-<div  class="feedlink">---</div>-<div class="comment" id="comment-283d05f150362dcc1725b5dbda5e66ab">----<div class="comment-subject">--<a href="/design/assistant/windows.html#comment-283d05f150362dcc1725b5dbda5e66ab">comment 1</a>--</div>--<div class="inlinecontent">-<p>NTFS symbolic links should do exactly what you would expect them to do. They can point to files or directories. Junction points are legacy NTFS functionality and reparse points are more like the POSIX mount functionality.</p>--<p>NTFS symbolic links should work for you, junction point should be avoided, and reparse points would be like using a nuke to kill a fly. The only hang up you might have is that I think all three features require elevated privileges to manage.</p>---</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="https://www.google.com/accounts/o8/id?id=AItOawlCGROoy62svBUy6P24x1KoGoDWrBq2ErA">Steve</a>-</span>---&mdash; <span class="date">Tue Aug  7 00:15:43 2012</span>-</div>----<div style="clear: both"></div>-</div>-----<div class="addcomment">Comments on this page are closed.</div>--</div>----</div>--<div id="footer" class="pagefooter">--<div id="pageinfo">-------<div id="backlinks">-Links:--<a href="../assistant.html">assistant</a>---</div>-------<div class="pagedate">-Last edited <span class="date">Fri Sep 28 01:45:57 2012</span>-<!-- Created <span class="date">Fri Sep 28 01:45:57 2012</span> -->-</div>--</div>---<!-- from git-annex -->-</div>--</div>--</body>-</html>
− debian/git-annex/usr/share/doc/git-annex/html/design/assistant/xmpp.html
@@ -1,373 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">-<html xmlns="http://www.w3.org/1999/xhtml">--<head>--<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />-<title>xmpp</title>--<link rel="stylesheet" href="../../style.css" type="text/css" />--<link rel="stylesheet" href="../../local.css" type="text/css" />-------</head>-<body>--<div class="page">--<div class="pageheader">-<div class="header">-<span>-<span class="parentlinks">--<a href="../../index.html">git-annex</a>/ --<a href="../../design.html">design</a>/ --<a href="../assistant.html">assistant</a>/ --</span>-<span class="title">-xmpp--</span>-</span>--</div>--------</div>---<div class="sidebar">-<p><img src="../../logo_small.png" width="150" height="115" class="img" /></p>--<ul>-<li><a href="../../install.html">install</a></li>-<li><a href="../../assistant.html">assistant</a></li>-<li><a href="../../walkthrough.html">walkthrough</a></li>-<li><a href="../../tips.html">tips</a></li>-<li><span class="createlink">bugs</span></li>-<li><span class="createlink">todo</span></li>-<li><span class="createlink">forum</span></li>-<li><a href="../../comments.html">comments</a></li>-<li><a href="../../contact.html">contact</a></li>-<li><a href="http://flattr.com/thing/84843/git-annex"><img src="https://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" /></a></li>-</ul>---</div>---<div id="pagebody">--<div id="content">-<p>The git-annex assistant uses XMPP to communicate between peers that-cannot directly talk to one-another. A typical scenario is two users-who share a repository, that is stored in the <a href="./cloud.html">cloud</a>.</p>--<h3>TODO</h3>--<ul>-<li>Prevent idle disconnection. Probably means sending or receiving pings,-but would prefer to avoid eg pinging every 60 seconds as some clients do.</li>-<li>Do git-annex clients sharing an account with regular clients cause confusing-things to happen?-See <a href="http://git-annex.branchable.com/design/assistant/blog/day_114__xmpp/#comment-aaba579f92cb452caf26ac53071a6788">http://git-annex.branchable.com/design/assistant/blog/day_114__xmpp/#comment-aaba579f92cb452caf26ac53071a6788</a></li>-</ul>---<h2>design goals</h2>--<ol>-<li><p>Avoid user-visible messages. dvcs-autosync uses XMPP similarly, but-sends user-visible messages. Avoiding user-visible messages lets-the user configure git-annex to use his existing XMPP account-(eg, Google Talk).</p></li>-<li><p>Send notifications to buddies. dvcs-autosync sends only self-messages,-but that requires every node have the same XMPP account configured.-git-annex should support that mode, but it should also send notifications-to a user's buddies. (This will also allow for using XMPP for pairing-in the future.)</p></li>-<li><p>Don't make account appear active. Just because git-annex is being an XMPP-client, it doesn't mean that it wants to get chat messages, or make the-user appear active when he's not using his chat program.</p></li>-</ol>---<h2>protocol</h2>--<p>To avoid relying on XMPP extensions, git-annex communicates-using presence messages, and chat messages (with empty body tags,-so clients don't display them).</p>--<p>git-annex sets a negative presence priority, to avoid any regular messages-getting eaten by its clients. It also sets itself extended away.-Note that this means that chat messages always have to be directed at-specific git-annex clients.</p>--<p>To the presence and chat messages, it adds its own tag as-<a href="http://xmpp.org/rfcs/rfc6121.html#presence-extended">extended content</a>.-The xml namespace is "git-annex" (not an URL because I hate wasting bandwidth).</p>--<p>To indicate it's pushed changes to a git repo with a given UUID, a message-that is sent to all buddies and other clients using the account (no-explicit pairing needed), it uses a broadcast presence message containing:</p>--<pre><code>&lt;git-annex xmlns='git-annex' push="uuid[,uuid...]" /&gt;-</code></pre>--<p>Multiple UUIDs can be listed when multiple clients were pushed. If the-git repo does not have a git-annex UUID, an empty string is used.</p>--<p>To query if other git-annex clients are around, a presence message is used,-containing:</p>--<pre><code>&lt;git-annex xmlns='git-annex' query="" /&gt;-</code></pre>--<p>For pairing, a chat message is sent to every known git-annex client,-containing:</p>--<pre><code>&lt;git-annex xmlns='git-annex' pairing="PairReq|PairAck|PairDone myuuid" /&gt;-</code></pre>--<h3>git push over XMPP</h3>--<p>To indicate that we could push over XMPP, a chat message is sent,-to each known client of each XMPP remote.</p>--<pre><code>&lt;git-annex xmlns='git-annex' canpush="myuuid" /&gt;-</code></pre>--<p>To request that a remote push to us, a chat message can be sent.</p>--<pre><code>&lt;git-annex xmlns='git-annex' pushrequest="myuuid" /&gt;-</code></pre>--<p>When replying to an canpush message, this is directed at the specific-client that indicated it could push. To solicit pushes from all clients,-the message has to be sent directed individually to each client.</p>--<p>When a peer is ready to send a git push, it sends:</p>--<pre><code>&lt;git-annex xmlns='git-annex' startingpush="myuuid" /&gt;-</code></pre>--<p>The receiver runs <code>git receive-pack</code>, and sends back its output in-one or more chat messages, directed to the client that is pushing:</p>--<pre><code>&lt;git-annex xmlns='git-annex' rp="N"&gt;-007b27ca394d26a05d9b6beefa1b07da456caa2157d7 refs/heads/git-annex report-status delete-refs side-band-64k quiet ofs-delta-&lt;/git-annex&gt;-</code></pre>--<p>The sender replies with the data from <code>git push</code>, in-one or more chat messages, directed to the receiver:</p>--<pre><code>&lt;git-annex xmlns='git-annex' sp="N"&gt;-data-&lt;/git-annex&gt;-</code></pre>--<p>The value of rp and sp used to be empty, but now it's a sequence number.-This indicates the sequence of this packet, counting from 1. The receiver-and sender each have their own sequence numbers. These sequence numbers-are not really used yet, but are available for debugging.</p>--<p>When <code>git receive-pack</code> exits, the receiver indicates its exit-status with a chat message, directed at the sender:</p>--<pre><code>&lt;git-annex xmlns='git-annex' rpdone="0" /&gt;-</code></pre>--<h3>security</h3>--<p>Data git-annex sends over XMPP will be visible to the XMPP-account's buddies, to the XMPP server, and quite likely to other interested-parties. So it's important to consider the security exposure of using it.</p>--<p>Even if git-annex sends only a single bit notification, this lets attackers-know when the user is active and changing files. Although the assistant's other-syncing activities can somewhat mask this.</p>--<p>As soon as git-annex does anything unlike any other client, an attacker can-see how many clients are connected for a user, and fingerprint the ones-running git-annex, and determine how many clients are running git-annex.</p>--<p>If git-annex sent the UUID of the remote it pushed to, this would let-attackers determine how many different remotes are being used,-and map some of the connections between clients and remotes.</p>--<p>An attacker could replay push notification messages, reusing UUIDs it's-observed. This would make clients pull repeatedly, perhaps as a DOS.</p>--</div>----<div id="comments">-<div  class="feedlink">---</div>-<div class="comment" id="comment-9f0899c3cbe02e70727bdf53dcf7d187">----<div class="comment-subject">--<a href="/design/assistant/xmpp.html#comment-9f0899c3cbe02e70727bdf53dcf7d187">xmlns</a>--</div>--<div class="inlinecontent">-<p>A minor point, but is saving a couple of bytes per message worth using a <a href="http://www.w3.org/TR/REC-xml-names/#iri-use">deprecated feature</a> of the namespaces specification? This is not technically <em>breaking</em> the current specification, since "git-annex" is of course still a (relative) URI reference; and anyway chances of problems are, I guess, slim. But is it the lesser of two bugs?</p>--<p>The shortest moderately sane absolute URI containing "git-annex" would probably be "data:,git-annex".</p>---</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="http://meep.pl/">meep.pl</a>-</span>---&mdash; <span class="date">Sun Nov 11 05:00:01 2012</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-509b6646daee0dfe1c72f898b12532db">----<div class="comment-subject">--<a href="/design/assistant/xmpp.html#comment-509b6646daee0dfe1c72f898b12532db">Plans for two factor authentication or oath?</a>--</div>--<div class="inlinecontent">-Are there plans to support google's two factor authentication?  Right now I have to use an application specific password.--</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="https://www.google.com/accounts/o8/id?id=AItOawkurjhi0CRJvgm7QNaZDWS9hitBtavqIpc">Bret</a>-</span>---&mdash; <span class="date">Sun Apr 14 20:58:04 2013</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-656c072026f03c48b45d192bc1c4d9b1">----<div class="comment-subject">--<a href="/design/assistant/xmpp.html#comment-656c072026f03c48b45d192bc1c4d9b1">file transfer?</a>--</div>--<div class="inlinecontent">-Would it be possible to add optional support for transferring files over XMPP (possibly being disabled out-of-the-box so as not to suck up third-party bandwidth)?--</div>--<div class="comment-header">--Comment by--<span class="author" title="Signed in">--<a href="?page=hhm&amp;do=goto">hhm</a>--</span>---&mdash; <span class="date">Tue Apr 23 06:22:51 2013</span>-</div>----<div style="clear: both"></div>-</div>-----<div class="addcomment">Comments on this page are closed.</div>--</div>----</div>--<div id="footer" class="pagefooter">--<div id="pageinfo">-------<div id="backlinks">-Links:--<a href="./cloud.html">cloud</a>--<a href="../../special_remotes/xmpp.html">special remotes/xmpp</a>---</div>-------<div class="pagedate">-Last edited <span class="date">Sat May  4 11:06:41 2013</span>-<!-- Created <span class="date">Sat May  4 11:06:41 2013</span> -->-</div>--</div>---<!-- from git-annex -->-</div>--</div>--</body>-</html>
− debian/git-annex/usr/share/doc/git-annex/html/design/encryption.html
@@ -1,524 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">-<html xmlns="http://www.w3.org/1999/xhtml">--<head>--<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />-<title>encryption</title>--<link rel="stylesheet" href="../style.css" type="text/css" />--<link rel="stylesheet" href="../local.css" type="text/css" />-------</head>-<body>--<div class="page">--<div class="pageheader">-<div class="header">-<span>-<span class="parentlinks">--<a href="../index.html">git-annex</a>/ --<a href="../design.html">design</a>/ --</span>-<span class="title">-encryption--</span>-</span>--</div>--------</div>---<div class="sidebar">-<p><img src="../logo_small.png" width="150" height="115" class="img" /></p>--<ul>-<li><a href="../install.html">install</a></li>-<li><a href="../assistant.html">assistant</a></li>-<li><a href="../walkthrough.html">walkthrough</a></li>-<li><a href="../tips.html">tips</a></li>-<li><span class="createlink">bugs</span></li>-<li><span class="createlink">todo</span></li>-<li><span class="createlink">forum</span></li>-<li><a href="../comments.html">comments</a></li>-<li><a href="../contact.html">contact</a></li>-<li><a href="http://flattr.com/thing/84843/git-annex"><img src="https://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" /></a></li>-</ul>---</div>---<div id="pagebody">--<div id="content">-<p>This was the design doc for <a href="../encryption.html">encryption</a> and is preserved for-the curious. For an example of using git-annex with an encrypted S3 remote,-see <a href="../tips/using_Amazon_S3.html">using Amazon S3</a>.</p>--<div class="toc">-	<ol>-		<li class="L2"><a href="#index1h2">encryption backends</a>-		</li>-		<li class="L2"><a href="#index2h2">encryption key management</a>-		</li>-		<li class="L2"><a href="#index3h2">filename enumeration</a>-		</li>-		<li class="L2"><a href="#index4h2">other use of the symmetric cipher</a>-		</li>-		<li class="L2"><a href="#index5h2">risks</a>-		</li>-	</ol>-</div>---<h2><a name="index1h2"></a>encryption backends</h2>--<p>It makes sense to support multiple encryption backends. So, there-should be a way to tell what backend is responsible for a given filename-in an encrypted remote. (And since special remotes can also store files-unencrypted, differentiate from those as well.)</p>--<p>The rest of this page will describe a single encryption backend using GPG.-Probably only one will be needed, but who knows? Maybe that backend will-turn out badly designed, or some other encryptor needed. Designing-with more than one encryption backend in mind helps future-proofing.</p>--<h2><a name="index2h2"></a>encryption key management</h2>--<p>[[!template <span class="error">Error: failed to process template <span class="createlink">note</span> </span>]]</p>--<p>Data is encrypted by GnuPG, using a symmetric cipher. The cipher is-generated by GnuPG when the special remote is created. By default the-best entropy pool is used, hence the generation may take a while; One-can use <code>initremote</code> with <code>highRandomQuality=false</code> or <code>--fast</code> options-to speed up things, but at the expense of using random numbers of a-lower quality. The generated cipher is then checked into your git-repository, encrypted using one or more OpenPGP public keys. This scheme-allows new OpenPGP private keys to be given access to content that has-already been stored in the remote.</p>--<p>Different encrypted remotes need to be able to each use different ciphers.-Allowing multiple ciphers to be used within a single remote would add a lot-of complexity, so is not planned to be supported.-Instead, if you want a new cipher, create a new S3 bucket, or whatever.-There does not seem to be much benefit to using the same cipher for-two different encrypted remotes.</p>--<p>So, the encrypted cipher could just be stored with the rest of a remote's-configuration in <code>remotes.log</code> (see <a href="../internals.html">internals</a>). When <code>git-annex intiremote</code> makes a remote, it can generate a random symmetric-cipher, and encrypt it with the specified gpg key. To allow another gpg-public key access, update the encrypted cipher to be encrypted to both gpg-keys.</p>--<h2><a name="index3h2"></a>filename enumeration</h2>--<p>If the names of files are encrypted or securely hashed, or whatever is-chosen, this makes it harder for git-annex (let alone untrusted third parties!)-to get a list of the files that are stored on a given enrypted remote.-But, does git-annex really ever need to do such an enumeration?</p>--<p>Apparently not. <code>git annex unused --from remote</code> can now check for-unused data that is stored on a remote, and it does so based only on-location log data for the remote. This assumes that the location log is-kept accurately.</p>--<p>What about <code>git annex fsck --from remote</code>? Such a command should be able to,-for each file in the repository, contact the encrypted remote to check-if it has the file. This can be done without enumeration, although it will-mean running gpg once per file fscked, to get the encrypted filename.</p>--<p>So, the files stored in the remote should be encrypted. But, it needs to-be a repeatable encryption, so they cannot just be gpg encrypted, that-would yeild a new name each time. Instead, HMAC is used. Any hash could-be used with HMAC. SHA-1 is the default, but <a href="../encryption.html">other hashes</a>-can be chosen for new remotes.</p>--<p>It was suggested that it might not be wise to use the same cipher for both-gpg and HMAC. Being paranoid, it's best not to tie the security of one-to the security of the other. So, the encrypted cipher described above is-actually split in two; half is used for HMAC, and half for gpg.</p>--<hr />--<p>Does the HMAC cipher need to be gpg encrypted? Imagine if it were-stored in plainext in the git repository. Anyone who can access-the git repository already knows the actual filenames, and typically also-the content hashes of annexed content. Having access to the HMAC cipher-could perhaps be said to only let them verify that data they already-know.</p>--<p>While this seems a pretty persuasive argument, I'm not 100% convinced, and-anyway, most times that the HMAC cipher is needed, the gpg cipher is also-needed. Keeping the HMAC cipher encrypted does slow down two things:-dropping content from encrypted remotes, and checking if encrypted remotes-really have content. If it's later determined to be safe to not encrypt the-HMAC cipher, the current design allows changing that, even for existing-remotes.</p>--<h2><a name="index4h2"></a>other use of the symmetric cipher</h2>--<p>The symmetric cipher can be used to encrypt other content than the content-sent to the remote. In particular, it may make sense to encrypt whatever-access keys are used by the special remote with the cipher, and store that-in remotes.log. This way anyone whose gpg key has been given access to-the cipher can get access to whatever other credentials are needed to-use the special remote.</p>--<h2><a name="index5h2"></a>risks</h2>--<p>A risk of this scheme is that, once the symmetric cipher has been obtained, it-allows full access to all the encrypted content. This scheme does not allow-revoking a given gpg key access to the cipher, since anyone with such a key-could have already decrypted the cipher and stored a copy.</p>--<p>If git-annex stores the decrypted symmetric cipher in memory, then there-is a risk that it could be intercepted from there by an attacker. Gpg-amelorates these type of risks by using locked memory. For git-annex, note-that an attacker with local machine access can tell at least all the-filenames and metadata of files stored in the encrypted remote anyway,-and can access whatever content is stored locally.</p>--<p>This design does not support obfuscating the size of files by chunking-them, as that would have added a lot of complexity, for dubious benefits.-If the untrusted party running the encrypted remote wants to know file sizes,-they could correlate chunks that are accessed together. Encrypting data-changes the original file size enough to avoid it being used as a direct-fingerprint at least.</p>--</div>----<div id="comments">-<div  class="feedlink">---</div>-<div class="comment" id="comment-4675041b2a74c1d27846f59c6d281880">----<div class="comment-subject">--<a href="/design/encryption.html#comment-4675041b2a74c1d27846f59c6d281880">comment 1</a>--</div>--<div class="inlinecontent">-<p>New encryption keys could be used for different directories/files/patterns/times/whatever. One could then encrypt this new key for the public keys of other people/machines and push them out along with the actual data. This would allow some level of access restriction or future revocation. git-annex would need to keep track of which files can be decrypted with which keys. I am undecided if that information needs to be encrypted or not.</p>--<p>Encrypted object files should be checksummed in encrypted form so that it's possible to verify integrity without knowing any keys. Same goes for encrypted keys, etc.</p>--<p>Chunking files in this context seems like needless overkill. This might make sense to store a DVD image on CDs or similar, at some point. But not for encryption, imo. Coming up with sane chunk sizes for all use cases is literally impossible and as you pointed out, correlation by the remote admin is trivial.</p>---</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="https://www.google.com/accounts/o8/id?id=AItOawl9sYlePmv1xK-VvjBdN-5doOa_Xw-jH4U">Richard</a>-</span>---&mdash; <span class="date">Sun Apr  3 16:03:14 2011</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-cc025ab2686094fb313a0f96e2ddd64f">----<div class="comment-subject">--<a href="/design/encryption.html#comment-cc025ab2686094fb313a0f96e2ddd64f">comment 2</a>--</div>--<div class="inlinecontent">-<p>I see no use case for verifying encrypted object files w/o access to the encryption key. And possible use cases for not allowing anyone to verify your data.</p>--<p>If there are to be multiple encryption keys usable within a single encrypted remote, than they would need to be given some kind of name (a since symmetric key is used, there is no pubkey to provide a name), and the name encoded in the files stored in the remote. While certainly doable I'm not sold that adding a layer of indirection is worthwhile. It only seems it would be worthwhile if setting up a new encrypted remote was expensive to do. Perhaps that could be the case for some type of remote other than S3 buckets.</p>---</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="http://joey.kitenet.net/">joey</a>-</span>---&mdash; <span class="date">Tue Apr  5 14:41:49 2011</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-4f78277c4847fbb12575162da684d130">----<div class="comment-subject">--<a href="/design/encryption.html#comment-4f78277c4847fbb12575162da684d130">comment 3</a>--</div>--<div class="inlinecontent">-<p>Assuming you're storing your encrypted annex with me and I with you, our regular cron jobs to verify all data will catch corruption in each other's annexes.</p>--<p>Checksums of the encrypted objects could be optional, mitigating any potential attack scenarios.</p>--<p>It's not only about the cost of setting up new remotes. It would also be a way to keep data in one annex while making it accessible only in a subset of them. For example, I might need some private letters at work, but I don't want my work machine to be able to access them all.</p>---</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="https://www.google.com/accounts/o8/id?id=AItOawl9sYlePmv1xK-VvjBdN-5doOa_Xw-jH4U">Richard</a>-</span>---&mdash; <span class="date">Tue Apr  5 19:24:17 2011</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-f5f2ec243a7a1034cc52b894df78c290">----<div class="comment-subject">--<a href="/design/encryption.html#comment-f5f2ec243a7a1034cc52b894df78c290">comment 4</a>--</div>--<div class="inlinecontent">-<p>@Richard the easy way to deal with that scenario is to set up a remote that work can access, and only put in it files work should be able to see. Needing to specify which key a file should be encrypted to when putting it in a remote that supported multiple keys would add another level of complexity which that avoids.</p>--<p>Of course, the right approach is probably to have a separate repository for work. If you don't trust it with seeing file contents, you probably also don't trust it with the contents of your git repository.</p>---</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="http://joey.kitenet.net/">joey</a>-</span>---&mdash; <span class="date">Thu Apr  7 15:59:30 2011</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-f5cd94e227a4b70e41048e3b420e96dd">----<div class="comment-subject">--<a href="/design/encryption.html#comment-f5cd94e227a4b70e41048e3b420e96dd">using sshfs + cryptmount is more secure</a>--</div>--<div class="inlinecontent">-<p>"For git-annex, note that an attacker with local machine access can tell at least all the filenames and metadata of files stored in the encrypted remote anyway, and can access whatever content is stored locally."</p>--<p>Better security is given by sshfs + cryptmount, which I used when I recently setup a git-annex repository on a free shell account from a provider I do not trust.</p>--<p>See http://code.cjb.net/free-secure-online-backup.html for what I did to get a really secure solution.</p>--<p>Kind regards,</p>--<p>Hans Ekbrand</p>---</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="https://www.google.com/accounts/o8/id?id=AItOawkS6aFVrEwOrDuQBTMXxtGHtueA69NS_jo">Hans</a>-</span>---&mdash; <span class="date">Tue Aug 14 09:41:47 2012</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-a035b1698e1253e7a5244721d73c71cf">----<div class="comment-subject">--<a href="/design/encryption.html#comment-a035b1698e1253e7a5244721d73c71cf">comment 6</a>--</div>--<div class="inlinecontent">-<p>Hans,</p>--<p>You are misunderstanding how git-annex encryption works.  The "untrusted host" and the "local machine" are not the same machine.  git-annex only transfers pre-encrypted files to the "untrusted host".</p>--<p>You should setup a git-annex encrypted remote and watch how it works so you can see for yourself that it is not insecure.</p>--<p>Your solution does not provide better security, it accomplishes the same thing as git-annex in a more complicated way.  In addition, since you are mounting the image from the client your solution will not work with multiple clients.</p>---</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="https://www.google.com/accounts/o8/id?id=AItOawmBUR4O9mofxVbpb8JV9mEbVfIYv670uJo">Justin</a>-</span>---&mdash; <span class="date">Tue Aug 14 10:10:40 2012</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-802a6776b0b661fc53c68a3c489f09d6">----<div class="comment-subject">--<a href="/design/encryption.html#comment-802a6776b0b661fc53c68a3c489f09d6">comment 7</a>--</div>--<div class="inlinecontent">-<p>Justin,</p>--<p>thanks for clearing that up. It's great that git-annex has implemented mechanisms to work securely on untrusted hosts. My solution is thus only interesting for files that are impractical to manage with git-annex (e.g. data for/from applications that need rw-access to a large number of files). And, possibly, for providers that do not provide rsync.</p>--<p>Your remark that my solution does not work with more than one client, is not entirely accurate. No more than one client can access the repository at any given time, but as long as access is not simultaneous, any number of clients can access the repository. Still, your point is taken, it's a limitation I should mention.</p>--<p>It would be interesting to compare the performance of individually encrypted files to encrypted image-file. My intuition says that encrypted image-file should be faster, but that's just a guess.</p>---</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="https://www.google.com/accounts/o8/id?id=AItOawkS6aFVrEwOrDuQBTMXxtGHtueA69NS_jo">Hans</a>-</span>---&mdash; <span class="date">Wed Aug 15 15:16:10 2012</span>-</div>----<div style="clear: both"></div>-</div>-----<div class="addcomment">Comments on this page are closed.</div>--</div>----</div>--<div id="footer" class="pagefooter">--<div id="pageinfo">-------<div id="backlinks">-Links:--<a href="../design.html">design</a>--<a href="../encryption.html">encryption</a>---</div>-------<div class="pagedate">-Last edited <span class="date">Sat May  4 11:06:41 2013</span>-<!-- Created <span class="date">Sat May  4 11:06:41 2013</span> -->-</div>--</div>---<!-- from git-annex -->-</div>--</div>--</body>-</html>
− debian/git-annex/usr/share/doc/git-annex/html/direct_mode.html
@@ -1,357 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">-<html xmlns="http://www.w3.org/1999/xhtml">--<head>--<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />-<title>direct mode</title>--<link rel="stylesheet" href="style.css" type="text/css" />--<link rel="stylesheet" href="local.css" type="text/css" />-------</head>-<body>--<div class="page">--<div class="pageheader">-<div class="header">-<span>-<span class="parentlinks">--<a href="./index.html">git-annex</a>/ --</span>-<span class="title">-direct mode--</span>-</span>--</div>--------</div>---<div class="sidebar">-<p><img src="./logo_small.png" width="150" height="115" class="img" /></p>--<ul>-<li><a href="./install.html">install</a></li>-<li><a href="./assistant.html">assistant</a></li>-<li><a href="./walkthrough.html">walkthrough</a></li>-<li><a href="./tips.html">tips</a></li>-<li><span class="createlink">bugs</span></li>-<li><span class="createlink">todo</span></li>-<li><span class="createlink">forum</span></li>-<li><a href="./comments.html">comments</a></li>-<li><a href="./contact.html">contact</a></li>-<li><a href="http://flattr.com/thing/84843/git-annex"><img src="https://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" /></a></li>-</ul>---</div>---<div id="pagebody">--<div id="content">-<p>Normally, git-annex repositories consist of symlinks that are checked into-git, and in turn point at the content of large files that is stored in-<code>.git/annex/objects/</code>. Direct mode gets rid of the symlinks.</p>--<p>The advantage of direct mode is that you can access files directly,-including modifying them. The disadvantage is that most regular git-commands cannot safely be used, and only a subset of git-annex commands-can be used.</p>--<p>Normally, git-annex repositories start off in indirect mode. With some-exceptions:</p>--<ul>-<li>Repositories created by the <a href="./assistant.html">assistant</a> use direct mode by default.</li>-<li>Repositories on FAT and other less than stellar filesystems-that don't support things like symlinks will be automatically put-into direct mode.</li>-</ul>---<h2>enabling (and disabling) direct mode</h2>--<p>Any repository can be converted to use direct mode at any time, and if you-decide not to use it, you can convert back to indirect mode just as easily.-Also, you can have one clone of a repository using direct mode, and another-using indirect mode; direct mode interoperates.</p>--<p>To start using direct mode:</p>--<pre><code>git annex direct-</code></pre>--<p>To stop using direct mode:</p>--<pre><code>git annex indirect-</code></pre>--<h2>safety of using direct mode</h2>--<p>With direct mode, you're operating without large swathes of git-annex's-carefully constructed safety net, which ensures that past versions of-files are preserved and can be accessed (until you dropunused them).-With direct mode, any file can be edited directly, or deleted at any time,-and there's no guarantee that the old version is backed up somewhere else.</p>--<p>So if you care about preserving the history of files, you're strongly-encouraged to tell git-annex that your direct mode repository cannot be-trusted to retain the content of a file. To do so:</p>--<pre><code>git annex untrust .-</code></pre>--<p>On the other hand, if you only care about the current versions of files,-and are using git-annex with direct mode to keep files synchronised between-computers, and manage your files, this should not be a concern for you.</p>--<h2>use a direct mode repository</h2>--<p>You can use most git-annex commands as usual in a direct mode repository.-A very few commands don't work in direct mode, and will refuse to do anything.</p>--<p>Direct mode also works well with the git-annex assistant.</p>--<p>You can use <code>git commit --staged</code>, or plain <code>git commit</code>.-But not <code>git commit -a</code>, or <code>git commit &lt;file&gt;</code> ..-that'd commit whole large files into git!</p>--<h2>what doesn't work in direct mode</h2>--<p><code>git annex status</code> shows incomplete information. A few other commands,-like <code>git annex unlock</code> don't make sense in direct mode and will refuse to-run.</p>--<p>As for git commands, you can probably use some git working tree-manipulation commands, like <code>git checkout</code> and <code>git revert</code> in useful-ways... But beware, these commands can replace files that are present in-your repository with broken symlinks. If that file was the only copy you-had of something, it'll be lost.</p>--<p>This is one more reason it's wise to make git-annex untrust your direct mode-repositories. Still, you can lose data using these sort of git commands, so-use extreme caution.</p>--</div>----<div id="comments">-<div  class="feedlink">---</div>-<div class="comment" id="comment-e2f32651b81efbf28c21647fbe2ec5f9">----<div class="comment-subject">--<a href="/direct_mode.html#comment-e2f32651b81efbf28c21647fbe2ec5f9">comment 1</a>--</div>--<div class="inlinecontent">-So, just which git commands <em>are</em> safe?  It seems like I'm going to have to use direct mode, so it'd be nice to know just what I'm allowed to do, and what the workflow should be.--</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="https://www.google.com/accounts/o8/id?id=AItOawl2Jj8q2upJL4ZQAc2lp7ugTxJiGtcICv8">Michael</a>-</span>---&mdash; <span class="date">Mon Feb 18 19:24:11 2013</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-57bb6513674551d20b8d382c1cf991c7">----<div class="comment-subject">--<a href="/direct_mode.html#comment-57bb6513674551d20b8d382c1cf991c7">safe and unsafe commands</a>--</div>--<div class="inlinecontent">-<p>All git commands that do not change files in the work tee (and do not stage files from the work tree), are safe. I don't have a complete list; it includes <code>git log</code>, <code>git show</code>, <code>git diff</code>, <code>git commit</code> (but not -a or with a file as a parameter), <code>git branch</code>, <code>git fetch</code>, <code>git push</code>, <code>git grep</code>, <code>git status</code>, <code>git tag</code>, <code>git mv</code> (this one is somewhat surprising, but I've tested it and it's ok)</p>--<p>git commands that change files in the work tree will replace your data with dangling symlinks. This includes things like <code>git revert</code>, <code>git checkout</code>, <code>git merge</code>, <code>git pull</code>, <code>git reset</code></p>--<p>git commands that stage files from the work tree will commit your data to git directly. This includes <code>git add</code>, <code>git commit -a</code>, and <code>git commit file</code></p>---</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="http://joeyh.name/">joeyh.name</a>-</span>---&mdash; <span class="date">Mon Feb 18 22:55:13 2013</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-6f97f966cdafd65509aa68ab6096dd69">----<div class="comment-subject">--<a href="/direct_mode.html#comment-6f97f966cdafd65509aa68ab6096dd69">comment 3</a>--</div>--<div class="inlinecontent">-<p>So, if I edit a "content file" (change a music file's metadata, say), what's the workflow to record that fact and then synchronise it to other repositories?</p>--<p>I can't do a <code>git add</code>, so I don't understand what has to happen as a first step.  (Thanks for your quick reply above, BTW.)</p>---</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="https://www.google.com/accounts/o8/id?id=AItOawl2Jj8q2upJL4ZQAc2lp7ugTxJiGtcICv8">Michael</a>-</span>---&mdash; <span class="date">Mon Feb 18 23:03:14 2013</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-7f6b16c9fca70ac26b57542a956fd968">----<div class="comment-subject">--<a href="/direct_mode.html#comment-7f6b16c9fca70ac26b57542a956fd968">comment 4</a>--</div>--<div class="inlinecontent">-<pre>-git annex add $file-git commit -m changed-git annex sync-git annex copy $file --to otherrepo-</pre>----</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="http://joeyh.name/">joeyh.name</a>-</span>---&mdash; <span class="date">Mon Feb 18 23:05:35 2013</span>-</div>----<div style="clear: both"></div>-</div>-----<div class="addcomment">Comments on this page are closed.</div>--</div>----</div>--<div id="footer" class="pagefooter">--<div id="pageinfo">-------<div id="backlinks">-Links:--<a href="./internals.html">internals</a>--<a href="./links/key_concepts.html">links/key concepts</a>--<a href="./upgrades.html">upgrades</a>--<a href="./walkthrough/modifying_annexed_files.html">walkthrough/modifying annexed files</a>---</div>-------<div class="pagedate">-Last edited <span class="date">Sat May  4 11:06:41 2013</span>-<!-- Created <span class="date">Sat May  4 11:06:41 2013</span> -->-</div>--</div>---<!-- from git-annex -->-</div>--</div>--</body>-</html>
− debian/git-annex/usr/share/doc/git-annex/html/download.html
@@ -1,246 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">-<html xmlns="http://www.w3.org/1999/xhtml">--<head>--<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />-<title>download</title>--<link rel="stylesheet" href="style.css" type="text/css" />--<link rel="stylesheet" href="local.css" type="text/css" />-------</head>-<body>--<div class="page">--<div class="pageheader">-<div class="header">-<span>-<span class="parentlinks">--<a href="./index.html">git-annex</a>/ --</span>-<span class="title">-download--</span>-</span>--</div>--------</div>---<div class="sidebar">-<p><img src="./logo_small.png" width="150" height="115" class="img" /></p>--<ul>-<li><a href="./install.html">install</a></li>-<li><a href="./assistant.html">assistant</a></li>-<li><a href="./walkthrough.html">walkthrough</a></li>-<li><a href="./tips.html">tips</a></li>-<li><span class="createlink">bugs</span></li>-<li><span class="createlink">todo</span></li>-<li><span class="createlink">forum</span></li>-<li><a href="./comments.html">comments</a></li>-<li><a href="./contact.html">contact</a></li>-<li><a href="http://flattr.com/thing/84843/git-annex"><img src="https://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" /></a></li>-</ul>---</div>---<div id="pagebody">--<div id="content">-<p>The main git repository for git-annex is <code>git://git-annex.branchable.com/</code></p>--<p>(You can push changes to this wiki from that anonymous git checkout.)</p>--<p>Other mirrors of the git repository:</p>--<ul>-<li><code>git://git.kitenet.net/git-annex</code> [<a href="http://git.kitenet.net/?p=git-annex.git;a=summary">gitweb</a>]</li>-<li><a href="https://github.com/joeyh/git-annex">at github</a></li>-</ul>---<p>Releases of git-annex are uploaded-<a href="http://hackage.haskell.org/package/git-annex">to hackage</a>. Get your-tarballs there, if you need them.</p>--<p>Some operating systems include git-annex in easily prepackaged form and-others need some manual work. See <a href="./install.html">install</a> for details.</p>--<h2>git branches</h2>--<p>The git repository has some branches:</p>--<ul>-<li><code>ghc7.0</code> supports versions of ghc older than 7.4, which-had a major change to filename encoding.</li>-<li><code>old-monad-control</code> is for systems that don't have a newer monad-control-library.</li>-<li><code>no-ifelse</code> avoids using the IFelse library-(merge it into master if you need it)</li>-<li><code>no-bloom</code> avoids using bloom filters. (merge it into master if you need it)</li>-<li><code>no-s3</code> avoids using the S3 library (merge it into master if you need it)</li>-<li><code>debian-stable</code> contains the latest backport of git-annex to Debian-stable.</li>-<li><code>tweak-fetch</code> adds support for the git tweak-fetch hook, which has-been proposed and implemented but not yet accepted into git.</li>-<li><code>setup</code> contains configuration for this website</li>-<li><code>pristine-tar</code> contains <a href="http://kitenet.net/~joey/code/pristine-tar">pristine-tar</a>-data to create tarballs of any past git-annex release.</li>-</ul>---<hr />--<p>Developing git-annex? Patches are very welcome.-You should read <a href="./coding_style.html">coding style</a>.</p>--</div>----<div id="comments">-<div  class="feedlink">---</div>-<div class="comment" id="comment-48efe492343c27a89c035c03da473d38">----<div class="comment-subject">--<a href="/download.html#comment-48efe492343c27a89c035c03da473d38">git clone git://git-annex.branchable.com/ gives an error</a>--</div>--<div class="inlinecontent">-<p>Thought you would want to know</p>--<p>error: unable to create file doc/forum/<strong>91</strong>Installation<strong>93</strong><em>base-3.0.3.2_requires_syb</em><strong>61</strong><strong>61</strong>0.1.0.2_however_syb-0.1.0.2_was_excluded_because_json-0.5_requires_syb<em><strong>62</strong><strong>61</strong>0.3.3.mdwn (File name too long)-fatal: cannot create directory at 'doc/forum/<strong>91</strong>Installation<strong>93</strong></em>base-3.0.3.2_requires_syb<em><strong>61</strong><strong>61</strong>0.1.0.2_however_syb-0.1.0.2_was_excluded_because_json-0.5_requires_syb</em><strong>62</strong><strong>61</strong>0.3.3': File name too long</p>---</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="https://www.google.com/accounts/o8/id?id=AItOawm3uJkdiJJejvqix9dULvw_Ma7DCtB-6zA">Ian</a>-</span>---&mdash; <span class="date">Mon Aug 13 16:57:34 2012</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-2e374c18fcc0aae22c79b090509965c7">----<div class="comment-subject">--<a href="/download.html#comment-2e374c18fcc0aae22c79b090509965c7">comment 2</a>--</div>--<div class="inlinecontent">-Ok, I've renamed that long-ish filename.--</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="http://joeyh.name/">joeyh.name</a>-</span>---&mdash; <span class="date">Thu Aug 16 19:28:30 2012</span>-</div>----<div style="clear: both"></div>-</div>-----<div class="addcomment">Comments on this page are closed.</div>--</div>----</div>--<div id="footer" class="pagefooter">--<div id="pageinfo">-------<div id="backlinks">-Links:--<a href="./install.html">install</a>--<a href="./install/cabal.html">install/cabal</a>--<a href="./install/fromscratch.html">install/fromscratch</a>---</div>-------<div class="pagedate">-Last edited <span class="date">Sat May  4 11:06:41 2013</span>-<!-- Created <span class="date">Sat May  4 11:06:41 2013</span> -->-</div>--</div>---<!-- from git-annex -->-</div>--</div>--</body>-</html>
− debian/git-annex/usr/share/doc/git-annex/html/encryption.html
@@ -1,240 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">-<html xmlns="http://www.w3.org/1999/xhtml">--<head>--<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />-<title>encryption</title>--<link rel="stylesheet" href="style.css" type="text/css" />--<link rel="stylesheet" href="local.css" type="text/css" />-------</head>-<body>--<div class="page">--<div class="pageheader">-<div class="header">-<span>-<span class="parentlinks">--<a href="./index.html">git-annex</a>/ --</span>-<span class="title">-encryption--</span>-</span>--</div>--------</div>---<div class="sidebar">-<p><img src="./logo_small.png" width="150" height="115" class="img" /></p>--<ul>-<li><a href="./install.html">install</a></li>-<li><a href="./assistant.html">assistant</a></li>-<li><a href="./walkthrough.html">walkthrough</a></li>-<li><a href="./tips.html">tips</a></li>-<li><span class="createlink">bugs</span></li>-<li><span class="createlink">todo</span></li>-<li><span class="createlink">forum</span></li>-<li><a href="./comments.html">comments</a></li>-<li><a href="./contact.html">contact</a></li>-<li><a href="http://flattr.com/thing/84843/git-annex"><img src="https://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" /></a></li>-</ul>---</div>---<div id="pagebody">--<div id="content">-<p>git-annex mostly does not use encryption. Anyone with access to a git-repository can see all the filenames in it, its history, and can access-any annexed file contents.</p>--<p>Encryption is needed when using <a href="./special_remotes.html">special remotes</a> like Amazon S3, where-file content is sent to an untrusted party who does not have access to the-git repository.</p>--<p>Such an encrypted remote uses strong GPG encryption on the contents of files,-as well as HMAC hashing of the filenames. The size of the encrypted files,-and access patterns of the data, should be the only clues to what is-stored in such a remote.</p>--<p>You should decide whether to use encryption with a special remote before-any data is stored in it. So, <code>git annex initremote</code> requires you-to specify "encryption=none" when first setting up a remote in order-to disable encryption.</p>--<p>If you want to use encryption, run <code>git annex initremote</code> with-"encryption=USERID". The value will be passed to <code>gpg</code> to find encryption keys.-Typically, you will say "encryption=2512E3C7" to use a specific gpg key.-Or, you might say "encryption=joey@kitenet.net" to search for matching keys.</p>--<p>The default MAC algorithm to be applied on the filenames is HMACSHA1. A-stronger one, for instance HMACSHA512, one can be chosen upon creation-of the special remote with the option <code>mac=HMACSHA512</code>. The available-MAC algorithms are HMACSHA1, HMACSHA224, HMACSHA256, HMACSHA384, and-HMACSHA512. Note that it is not possible to change algorithm for a-non-empty remote.</p>--<p>The <a href="./design/encryption.html">encryption design</a> allows additional encryption keys-to be added on to a special remote later. Once a key is added, it is able-to access content that has already been stored in the special remote.-To add a new key, just run <code>git annex enableremote</code> specifying the-new encryption key:</p>--<pre><code>git annex enableremote myremote encryption=788A3F4C-</code></pre>--<p>Note that once a key has been given access to a remote, it's not-possible to revoke that access, short of deleting the remote. See-<a href="./design/encryption.html">encryption design</a> for other security risks-associated with encryption.</p>--<h2>shared cipher mode</h2>--<p>Alternatively, you can configure git-annex to use a shared cipher to-encrypt data stored in a remote. This shared cipher is stored,-<strong>unencrypted</strong> in the git repository. So it's shared amoung every-clone of the git repository. The advantage is you don't need to set up gpg-keys. The disadvantage is that this is <strong>insecure</strong> unless you-trust every clone of the git repository with access to the encrypted data-stored in the special remote.</p>--<p>To use shared encryption, specify "encryption=shared" when first setting-up a special remote.</p>--</div>----<div id="comments">-<div  class="feedlink">---</div>-<div class="comment" id="comment-e676b9d3a2afeac2140a508745729db3">----<div class="comment-subject">--<a href="/encryption.html#comment-e676b9d3a2afeac2140a508745729db3">Tahoe-LAFS comes with encryption</a>--</div>--<div class="inlinecontent">-<p>The Tahoe-LAFS special remote automatically encrypts and adds cryptography integrity checks/digital signatures. For that special remote you should not use the git-annex encryption scheme.</p>--<p>Tahoe-LAFS encryption generates a new independent key for each file. This means that you can share access to one of the files without thereby sharing access to all of them, and it means that individual files can be deduplicated among multiple users.</p>---</div>--<div class="comment-header">--Comment by--<span class="author" title="Signed in">--<a href="?page=zooko&amp;do=goto">zooko</a>--</span>---&mdash; <span class="date">Wed May 18 00:32:14 2011</span>-</div>----<div style="clear: both"></div>-</div>-----<div class="addcomment">Comments on this page are closed.</div>--</div>----</div>--<div id="footer" class="pagefooter">--<div id="pageinfo">-------<div id="backlinks">-Links:--<a href="./design/encryption.html">design/encryption</a>--<a href="./internals.html">internals</a>--<a href="./links/the_details.html">links/the details</a>--<a href="./special_remotes/S3.html">special remotes/S3</a>--<a href="./special_remotes/bup.html">special remotes/bup</a>--<a href="./special_remotes/directory.html">special remotes/directory</a>--<a href="./special_remotes/glacier.html">special remotes/glacier</a>--<a href="./special_remotes/hook.html">special remotes/hook</a>--<a href="./special_remotes/rsync.html">special remotes/rsync</a>--<a href="./special_remotes/webdav.html">special remotes/webdav</a>---</div>-------<div class="pagedate">-Last edited <span class="date">Sat May  4 11:06:41 2013</span>-<!-- Created <span class="date">Sat May  4 11:06:41 2013</span> -->-</div>--</div>---<!-- from git-annex -->-</div>--</div>--</body>-</html>
− debian/git-annex/usr/share/doc/git-annex/html/favicon.ico

binary file changed (405 → absent bytes)

− debian/git-annex/usr/share/doc/git-annex/html/feeds.html
@@ -1,133 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">-<html xmlns="http://www.w3.org/1999/xhtml">--<head>--<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />-<title>feeds</title>--<link rel="stylesheet" href="style.css" type="text/css" />--<link rel="stylesheet" href="local.css" type="text/css" />-------</head>-<body>--<div class="page">--<div class="pageheader">-<div class="header">-<span>-<span class="parentlinks">--<a href="./index.html">git-annex</a>/ --</span>-<span class="title">-feeds--</span>-</span>--</div>--------</div>---<div class="sidebar">-<p><img src="./logo_small.png" width="150" height="115" class="img" /></p>--<ul>-<li><a href="./install.html">install</a></li>-<li><a href="./assistant.html">assistant</a></li>-<li><a href="./walkthrough.html">walkthrough</a></li>-<li><a href="./tips.html">tips</a></li>-<li><span class="createlink">bugs</span></li>-<li><span class="createlink">todo</span></li>-<li><span class="createlink">forum</span></li>-<li><a href="./comments.html">comments</a></li>-<li><a href="./contact.html">contact</a></li>-<li><a href="http://flattr.com/thing/84843/git-annex"><img src="https://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" /></a></li>-</ul>---</div>---<div id="pagebody">--<div id="content">-<p>Aggregating git-annex mentions from elsewhere on the net..</p>--<ul>-<li>[[!aggregate  expirecount=25 name="identica" feedurl="http://identi.ca/api/statusnet/tags/timeline/gitannex.rss" url="http://identi.ca/tag/gitannex"]]</li>-<li>[[!aggregate  expirecount=25 name="twitter" feedurl="http://search.twitter.com/search.atom?q=git-annex" url="http://twitter.com/"]]</li>-</ul>---</div>----<div id="comments">-----<div class="addcomment">Comments on this page are closed.</div>--</div>----</div>--<div id="footer" class="pagefooter">--<div id="pageinfo">-------<div id="backlinks">-Links:--<a href="./index.html">index</a>---</div>-------<div class="pagedate">-Last edited <span class="date">Fri Sep 28 01:45:57 2012</span>-<!-- Created <span class="date">Fri Sep 28 01:45:57 2012</span> -->-</div>--</div>---<!-- from git-annex -->-</div>--</div>--</body>-</html>
− debian/git-annex/usr/share/doc/git-annex/html/footer/column_a.html
@@ -1,131 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">-<html xmlns="http://www.w3.org/1999/xhtml">--<head>--<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />-<title>column a</title>--<link rel="stylesheet" href="../style.css" type="text/css" />--<link rel="stylesheet" href="../local.css" type="text/css" />-------</head>-<body>--<div class="page">--<div class="pageheader">-<div class="header">-<span>-<span class="parentlinks">--<a href="../index.html">git-annex</a>/ --<a href="../index.html">footer</a>/ --</span>-<span class="title">-column a--</span>-</span>--</div>--------</div>---<div class="sidebar">-<p><img src="../logo_small.png" width="150" height="115" class="img" /></p>--<ul>-<li><a href="../install.html">install</a></li>-<li><a href="../assistant.html">assistant</a></li>-<li><a href="../walkthrough.html">walkthrough</a></li>-<li><a href="../tips.html">tips</a></li>-<li><span class="createlink">bugs</span></li>-<li><span class="createlink">todo</span></li>-<li><span class="createlink">forum</span></li>-<li><a href="../comments.html">comments</a></li>-<li><a href="../contact.html">contact</a></li>-<li><a href="http://flattr.com/thing/84843/git-annex"><img src="https://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" /></a></li>-</ul>---</div>---<div id="pagebody">--<div id="content">-<h3>Recent <a href="../news.html">news</a></h3>-----<h3><span class="createlink">Dev blog</span></h3>-------</div>----<div id="comments">-----<div class="addcomment">Comments on this page are closed.</div>--</div>----</div>--<div id="footer" class="pagefooter">--<div id="pageinfo">------------<div class="pagedate">-Last edited <span class="date">Sat May  4 11:06:41 2013</span>-<!-- Created <span class="date">Sat May  4 11:06:41 2013</span> -->-</div>--</div>---<!-- from git-annex -->-</div>--</div>--</body>-</html>
− debian/git-annex/usr/share/doc/git-annex/html/footer/column_b.html
@@ -1,149 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">-<html xmlns="http://www.w3.org/1999/xhtml">--<head>--<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />-<title>column b</title>--<link rel="stylesheet" href="../style.css" type="text/css" />--<link rel="stylesheet" href="../local.css" type="text/css" />-------</head>-<body>--<div class="page">--<div class="pageheader">-<div class="header">-<span>-<span class="parentlinks">--<a href="../index.html">git-annex</a>/ --<a href="../index.html">footer</a>/ --</span>-<span class="title">-column b--</span>-</span>--</div>--------</div>---<div class="sidebar">-<p><img src="../logo_small.png" width="150" height="115" class="img" /></p>--<ul>-<li><a href="../install.html">install</a></li>-<li><a href="../assistant.html">assistant</a></li>-<li><a href="../walkthrough.html">walkthrough</a></li>-<li><a href="../tips.html">tips</a></li>-<li><span class="createlink">bugs</span></li>-<li><span class="createlink">todo</span></li>-<li><span class="createlink">forum</span></li>-<li><a href="../comments.html">comments</a></li>-<li><a href="../contact.html">contact</a></li>-<li><a href="http://flattr.com/thing/84843/git-annex"><img src="https://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" /></a></li>-</ul>---</div>---<div id="pagebody">--<div id="content">-<h3>Recent <a href="../videos.html">videos</a></h3>--<p>--<a href="../videos/git-annex_assistant_archiving.html">git-annex assistant archiving</a><br />--<i>-Posted <span class="date">Sat May  4 11:06:46 2013</span>--</i>-</p>-<p>--<a href="../videos/git-annex_assistant_remote_sharing.html">git-annex assistant remote sharing</a><br />--<i>-Posted <span class="date">Sat May  4 11:06:46 2013</span>--</i>-</p>----<h3>Recent <span class="createlink">forum posts</span></h3>-------</div>----<div id="comments">-----<div class="addcomment">Comments on this page are closed.</div>--</div>----</div>--<div id="footer" class="pagefooter">--<div id="pageinfo">------------<div class="pagedate">-Last edited <span class="date">Sat May  4 11:06:41 2013</span>-<!-- Created <span class="date">Sat May  4 11:06:41 2013</span> -->-</div>--</div>---<!-- from git-annex -->-</div>--</div>--</body>-</html>
− debian/git-annex/usr/share/doc/git-annex/html/future_proofing.html
@@ -1,165 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">-<html xmlns="http://www.w3.org/1999/xhtml">--<head>--<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />-<title>future proofing</title>--<link rel="stylesheet" href="style.css" type="text/css" />--<link rel="stylesheet" href="local.css" type="text/css" />-------</head>-<body>--<div class="page">--<div class="pageheader">-<div class="header">-<span>-<span class="parentlinks">--<a href="./index.html">git-annex</a>/ --</span>-<span class="title">-future proofing--</span>-</span>--</div>--------</div>---<div class="sidebar">-<p><img src="./logo_small.png" width="150" height="115" class="img" /></p>--<ul>-<li><a href="./install.html">install</a></li>-<li><a href="./assistant.html">assistant</a></li>-<li><a href="./walkthrough.html">walkthrough</a></li>-<li><a href="./tips.html">tips</a></li>-<li><span class="createlink">bugs</span></li>-<li><span class="createlink">todo</span></li>-<li><span class="createlink">forum</span></li>-<li><a href="./comments.html">comments</a></li>-<li><a href="./contact.html">contact</a></li>-<li><a href="http://flattr.com/thing/84843/git-annex"><img src="https://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" /></a></li>-</ul>---</div>---<div id="pagebody">--<div id="content">-<p>Imagine putting a git-annex drive in a time capsule. In 20, or 50, or 100-years, you'd like its contents to be as accessible as possible to whoever-digs it up.</p>--<p>This is a hard problem. git-annex cannot completly solve it, but it does-its best to not contribute to the problem. Here are some aspects of the-problem:</p>--<ul>-<li><p>How are files accessed? Git-annex carefully adds minimal complexity-to access files in a repository. Nothing needs to be done to extract-files from the repository; they are there on disk in the usual way,-with just some symlinks pointing at the annexed file contents.-Neither git-annex nor git is needed to get at the file contents.</p>--<p>(Also, git-annex provides an "uninit" command that moves everything out-of the annex, if you should ever want to stop using it.)</p></li>-<li><p>What file formats are used? Will they still be readable? To deal with-this, it's best to stick to plain text files, and the most common-image, sound, etc formats. Consider storing the same content in multiple-formats.</p></li>-<li><p>What filesystem is used on the drive? Will that filesystem still be-available? Whatever you choose to use, git-annex can put files on it.-Even if you choose (ugh) FAT.</p></li>-<li><p>What is the hardware interface of the drive? Will hardware still exist-to talk to it?</p></li>-<li><p>What if some of the data is damaged? git-annex facilitates storing a-configurable number of <a href="./copies.html">copies</a> of the file contents. The metadata-about your files is stored in git, and so every clone of the repository-means another copy of that is stored. Also, git-annex uses filenames-for the data that encode everything needed to match it back to the-metadata. So if a filesystem is badly corrupted and all your annexed-files end up in <code>lost+found</code>, they can easily be lifted back out into-another clone of the repository. Even if the filenames are lost,-it's possible to <a href="./tips/recover_data_from_lost+found.html">recover data from lost+found</a>.</p></li>-</ul>---</div>----<div id="comments">-----<div class="addcomment">Comments on this page are closed.</div>--</div>----</div>--<div id="footer" class="pagefooter">--<div id="pageinfo">-------<div id="backlinks">-Links:--<a href="./special_remotes/S3/comment_8_0fa68d584ee7f6b5c9058fba7e911a11.html">special remotes/S3/comment 8 0fa68d584ee7f6b5c9058fba7e911a11</a>--<a href="./use_case/Bob.html">use case/Bob</a>---</div>-------<div class="pagedate">-Last edited <span class="date">Fri Sep 28 01:45:57 2012</span>-<!-- Created <span class="date">Fri Sep 28 01:45:57 2012</span> -->-</div>--</div>---<!-- from git-annex -->-</div>--</div>--</body>-</html>
− debian/git-annex/usr/share/doc/git-annex/html/git-annex-shell.html
@@ -1,248 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">-<html xmlns="http://www.w3.org/1999/xhtml">--<head>--<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />-<title>git-annex-shell</title>--<link rel="stylesheet" href="style.css" type="text/css" />--<link rel="stylesheet" href="local.css" type="text/css" />-------</head>-<body>--<div class="page">--<div class="pageheader">-<div class="header">-<span>-<span class="parentlinks">--<a href="./index.html">git-annex</a>/ --</span>-<span class="title">-git-annex-shell--</span>-</span>--</div>--------</div>---<div class="sidebar">-<p><img src="./logo_small.png" width="150" height="115" class="img" /></p>--<ul>-<li><a href="./install.html">install</a></li>-<li><a href="./assistant.html">assistant</a></li>-<li><a href="./walkthrough.html">walkthrough</a></li>-<li><a href="./tips.html">tips</a></li>-<li><span class="createlink">bugs</span></li>-<li><span class="createlink">todo</span></li>-<li><span class="createlink">forum</span></li>-<li><a href="./comments.html">comments</a></li>-<li><a href="./contact.html">contact</a></li>-<li><a href="http://flattr.com/thing/84843/git-annex"><img src="https://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" /></a></li>-</ul>---</div>---<div id="pagebody">--<div id="content">-<h1>NAME</h1>--<p>git-annex-shell - Restricted login shell for git-annex only SSH access</p>--<h1>SYNOPSIS</h1>--<p>git-annex-shell [-c] command [params ...]</p>--<h1>DESCRIPTION</h1>--<p>git-annex-shell is a restricted shell, similar to git-shell, which-can be used as a login shell for SSH accounts.</p>--<p>Since its syntax is identical to git-shell's, it can be used as a drop-in-replacement anywhere git-shell is used. For example it can be used as a-user's restricted login shell.</p>--<h1>COMMANDS</h1>--<p>Any command not listed below is passed through to git-shell.</p>--<p>Note that the directory parameter should be an absolute path, otherwise-it is assumed to be relative to the user's home directory. Also the-first "/~/" or "/~user/" is expanded to the specified home directory.</p>--<ul>-<li><p>configlist directory</p>--<p>This outputs a subset of the git configuration, in the same form as-<code>git config --list</code></p></li>-<li><p>inannex directory [key ...]</p>--<p>This checks if all specified keys are present in the annex,-and exits zero if so.</p></li>-<li><p>dropkey directory [key ...]</p>--<p>This drops the annexed data for the specified keys.</p></li>-<li><p>recvkey directory key</p>--<p>This runs rsync in server mode to receive the content of a key,-and stores the content in the annex.</p></li>-<li><p>sendkey directory key</p>--<p>This runs rsync in server mode to transfer out the content of a key.</p></li>-<li><p>transferinfo directory key</p>--<p>This is typically run at the same time as sendkey is sending a key-to the remote. Using it is optional, but is used to update-progress information for the transfer of the key.</p>--<p>It reads lines from standard input, each giving the number of bytes-that have been received so far.</p></li>-<li><p>commit directory</p>--<p>This commits any staged changes to the git-annex branch.-It also runs the annex-content hook.</p></li>-</ul>---<h1>OPTIONS</h1>--<p>Most options are the same as in git-annex. The ones specific-to git-annex-shell are:</p>--<ul>-<li><p>--uuid=UUID</p>--<p>git-annex uses this to specify the UUID of the repository it was expecting-git-annex-shell to access, as a sanity check.</p></li>-<li><p>-- fields=val fields=val.. --</p>--<p>Additional fields may be specified this way, to retain compatability with-past versions of git-annex-shell (that ignore these, but would choke-on new dashed options).</p>--<p>Currently used fields include remoteuuid=, associatedfile=,-and direct=</p></li>-</ul>---<h1>HOOK</h1>--<p>After content is received or dropped from the repository by git-annex-shell,-it runs a hook, <code>.git/hooks/annex-content</code> (or <code>hooks/annex-content</code> on a bare-repository). The hook is not currently passed any information about what-changed.</p>--<h1>ENVIRONMENT</h1>--<ul>-<li><p>GIT_ANNEX_SHELL_READONLY</p>--<p>If set, disallows any command that could modify the repository.</p></li>-<li><p>GIT_ANNEX_SHELL_LIMITED</p>--<p>If set, disallows running git-shell to handle unknown commands.</p></li>-<li><p>GIT_ANNEX_SHELL_DIRECTORY</p>--<p>If set, git-annex-shell will refuse to run commands that do not operate-on the specified directory.</p></li>-</ul>---<h1>SEE ALSO</h1>--<p><a href="./git-annex.html">git-annex</a>(1)</p>--<p>git-shell(1)</p>--<h1>AUTHOR</h1>--<p>Joey Hess <a href="mailto:joey@kitenet.net">&#106;&#x6f;&#101;&#121;&#64;&#x6b;&#105;&#116;&#x65;&#x6e;&#x65;&#x74;&#x2e;&#110;&#101;&#x74;</a></p>--<p><a href="http://git-annex.branchable.com/">http://git-annex.branchable.com/</a></p>--<p>Warning: Automatically converted into a man page by mdwn2man. Edit with care</p>--</div>----<div id="comments">-----<div class="addcomment">Comments on this page are closed.</div>--</div>----</div>--<div id="footer" class="pagefooter">--<div id="pageinfo">-------<div id="backlinks">-Links:--<a href="./bare_repositories.html">bare repositories</a>--<a href="./design/assistant/pairing.html">design/assistant/pairing</a>--<a href="./special_remotes/bup.html">special remotes/bup</a>--<a href="./walkthrough/using_ssh_remotes.html">walkthrough/using ssh remotes</a>---</div>-------<div class="pagedate">-Last edited <span class="date">Sat May  4 11:06:45 2013</span>-<!-- Created <span class="date">Sat May  4 11:06:45 2013</span> -->-</div>--</div>---<!-- from git-annex -->-</div>--</div>--</body>-</html>
− debian/git-annex/usr/share/doc/git-annex/html/git-annex.html
@@ -1,1174 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">-<html xmlns="http://www.w3.org/1999/xhtml">--<head>--<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />-<title>git-annex</title>--<link rel="stylesheet" href="style.css" type="text/css" />--<link rel="stylesheet" href="local.css" type="text/css" />-------</head>-<body>--<div class="page">--<div class="pageheader">-<div class="header">-<span>-<span class="parentlinks">--<a href="./index.html">git-annex</a>/ --</span>-<span class="title">-git-annex--</span>-</span>--</div>--------</div>---<div class="sidebar">-<p><img src="./logo_small.png" width="150" height="115" class="img" /></p>--<ul>-<li><a href="./install.html">install</a></li>-<li><a href="./assistant.html">assistant</a></li>-<li><a href="./walkthrough.html">walkthrough</a></li>-<li><a href="./tips.html">tips</a></li>-<li><span class="createlink">bugs</span></li>-<li><span class="createlink">todo</span></li>-<li><span class="createlink">forum</span></li>-<li><a href="./comments.html">comments</a></li>-<li><a href="./contact.html">contact</a></li>-<li><a href="http://flattr.com/thing/84843/git-annex"><img src="https://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" /></a></li>-</ul>---</div>---<div id="pagebody">--<div id="content">-<h1>NAME</h1>--<p>git-annex - manage files with git, without checking their contents in</p>--<h1>SYNOPSIS</h1>--<p>git annex command [params ...]</p>--<h1>DESCRIPTION</h1>--<p>git-annex allows managing files with git, without checking the file-contents into git. While that may seem paradoxical, it is useful when-dealing with files larger than git can currently easily handle, whether due-to limitations in memory, checksumming time, or disk space.</p>--<p>Even without file content tracking, being able to manage files with git,-move files around and delete files with versioned directory trees, and use-branches and distributed clones, are all very handy reasons to use git. And-annexed files can co-exist in the same git repository with regularly-versioned files, which is convenient for maintaining documents, Makefiles,-etc that are associated with annexed files but that benefit from full-revision control.</p>--<p>When a file is annexed, its content is moved into a key-value store, and-a symlink is made that points to the content. These symlinks are checked into-git and versioned like regular files. You can move them around, delete-them, and so on. Pushing to another git repository will make git-annex-there aware of the annexed file, and it can be used to retrieve its-content from the key-value store.</p>--<h1>EXAMPLES</h1>--<pre><code># git annex get video/hackity_hack_and_kaxxt.mov-get video/_why_hackity_hack_and_kaxxt.mov (not available)-  I was unable to access these remotes: server-  Try making some of these repositories available:-    5863d8c0-d9a9-11df-adb2-af51e6559a49  -- my home file server-    58d84e8a-d9ae-11df-a1aa-ab9aa8c00826  -- portable USB drive-    ca20064c-dbb5-11df-b2fe-002170d25c55  -- backup SATA drive-failed-# sudo mount /media/usb-# git remote add usbdrive /media/usb-# git annex get video/hackity_hack_and_kaxxt.mov-get video/hackity_hack_and_kaxxt.mov (from usbdrive...) ok--# git annex add iso-add iso/Debian_5.0.iso ok--# git annex drop iso/Debian_4.0.iso-drop iso/Debian_4.0.iso ok--# git annex move iso --to=usbdrive-move iso/Debian_5.0.iso (moving to usbdrive...) ok-</code></pre>--<h1>COMMONLY USED COMMANDS</h1>--<p>Like many git commands, git-annex can be passed a path that-is either a file or a directory. In the latter case it acts on all relevant-files in the directory. When no path is specified, most git-annex commands-default to acting on all relevant files in the current directory (and-subdirectories).</p>--<ul>-<li><p>add [path ...]</p>--<p>Adds files in the path to the annex. Files that are already checked into-git, or that git has been configured to ignore will be silently skipped.-(Use --force to add ignored files.) Dotfiles are skipped unless explicitly-listed.</p></li>-<li><p>get [path ...]</p>--<p>Makes the content of annexed files available in this repository. This-will involve copying them from another repository, or downloading them,-or transferring them from some kind of key-value store.</p>--<p>Normally git-annex will choose which repository to copy the content from,-but you can override this using the --from option.</p></li>-<li><p>drop [path ...]</p>--<p>Drops the content of annexed files from this repository.</p>--<p>git-annex will refuse to drop content if it cannot verify it is-safe to do so. This can be overridden with the --force switch.</p>--<p>To drop content from a remote, specify --from.</p></li>-<li><p>move [path ...]</p>--<p>When used with the --from option, moves the content of annexed files-from the specified repository to the current one.</p>--<p>When used with the --to option, moves the content of annexed files from-the current repository to the specified one.</p></li>-<li><p>copy [path ...]</p>--<p>When used with the --from option, copies the content of annexed files-from the specified repository to the current one.</p>--<p>When used with the --to option, copies the content of annexed files from-the current repository to the specified one.</p>--<p>To avoid contacting the remote to check if it has every file, specify --fast</p></li>-<li><p>unlock [path ...]</p>--<p>Normally, the content of annexed files is protected from being changed.-Unlocking a annexed file allows it to be modified. This replaces the-symlink for each specified file with a copy of the file's content.-You can then modify it and <code>git annex add</code> (or <code>git commit</code>) to inject-it back into the annex.</p></li>-<li><p>edit [path ...]</p>--<p>This is an alias for the unlock command. May be easier to remember,-if you think of this as allowing you to edit an annexed file.</p></li>-<li><p>lock [path ...]</p>--<p>Use this to undo an unlock command if you don't want to modify-the files, or have made modifications you want to discard.</p></li>-<li><p>sync [remote ...]</p>--<p>Use this command when you want to synchronize the local repository with-one or more of its remotes. You can specifiy the remotes to sync with;-the default is to sync with all remotes. Or specify --fast to sync with-the remotes with the lowest annex-cost value.</p>--<p>The sync process involves first committing all local changes (git commit -a),-then fetching and merging the <code>synced/master</code> and the <code>git-annex</code> branch-from the remote repositories and finally pushing the changes back to-those branches on the remote repositories. You can use standard git-commands to do each of those steps by hand, or if you don't want to-worry about the details, you can use sync.</p>--<p>Merge conflicts are automatically resolved by sync. When two conflicting-versions of a file have been committed, both will be added to the tree,-under different filenames. For example, file "foo" would be replaced-with "foo.somekey" and "foo.otherkey".</p>--<p>Note that syncing with a remote will not update the remote's working-tree with changes made to the local repository. However, those changes-are pushed to the remote, so can be merged into its working tree-by running "git annex sync" on the remote.</p>--<p>Note that sync does not transfer any file contents from or to the remote-repositories.</p></li>-<li><p>addurl [url ...]</p>--<p>Downloads each url to its own file, which is added to the annex.</p>--<p>To avoid immediately downloading the url, specify --fast.</p>--<p>To avoid storing the size of the url's content, and accept whatever-is there at a future point, specify --relaxed. (Implies --fast.)</p>--<p>Normally the filename is based on the full url, so will look like-"www.example.com_dir_subdir_bigfile". For a shorter filename, specify---pathdepth=N. For example, --pathdepth=1 will use "dir/subdir/bigfile",-while --pathdepth=3 will use "bigfile". It can also be negative;---pathdepth=-2 will use the last two parts of the url.</p>--<p>Or, to directly specify what file the url is added to, specify --file.-This changes the behavior; now all the specified urls are recorded as-alternate locations from which the file can be downloaded. In this mode,-addurl can be used both to add new files, or to add urls to existing files.</p></li>-<li><p>rmurl file url</p>--<p>Record that the file is no longer available at the url.</p></li>-<li><p>import [path ...]</p>--<p>Moves files from somewhere outside the git working copy, and adds them to-the annex. Individual files to import can be specified.-If a directory is specified, all files in it are imported, and any-subdirectory structure inside it is preserved.</p>--<p>  git annex import /media/camera/DCIM/</p></li>-<li><p>watch</p>--<p>Watches for changes to files in the current directory and its subdirectories,-and takes care of automatically adding new files, as well as dealing with-deleted, copied, and moved files. With this running as a daemon in the-background, you no longer need to manually run git commands when-manipulating your files.</p>--<p>To not daemonize, run with --foreground ; to stop a running daemon,-run with --stop</p></li>-<li><p>assistant</p>--<p>Like watch, but also automatically syncs changes to other remotes.-Typically started at boot, or when you log in.</p>--<p>With the --autostart option, the assistant is started in any repositories-it has created. These are listed in <code>~/.config/git-annex/autostart</code></p></li>-<li><p>webapp</p>--<p>Opens a web app, that allows easy setup of a git-annex repository,-and control of the git-annex assistant.</p>--<p>By default, the webapp can only be accessed from localhost, and running-it opens a browser window.</p>--<p>With the --listen=address[:port] option, the webapp can be made to listen-for connections on the specified address. This disables running a-local web browser, and outputs the url you can use to open the webapp-from a remote computer.-Note that this does not yet use HTTPS for security, so use with caution!</p></li>-</ul>---<h1>REPOSITORY SETUP COMMANDS</h1>--<ul>-<li><p>init [description]</p>--<p>Until a repository (or one of its remotes) has been initialized,-git-annex will refuse to operate on it, to avoid accidentially-using it in a repository that was not intended to have an annex.</p>--<p>It's useful, but not mandatory, to initialize each new clone-of a repository with its own description. If you don't provide one,-one will be generated.</p></li>-<li><p>describe repository description</p>--<p>Changes the description of a repository.</p>--<p>The repository to describe can be specified by git remote name or-by uuid. To change the description of the current repository, use-"here".</p></li>-<li><p>initremote name [param=value ...]</p>--<p>Creates a new special remote, and adds it to <code>.git/config</code>.</p>--<p>The remote's configuration is specified by the parameters. Different-types of special remotes need different configuration values. The-command will prompt for parameters as needed.</p>--<p>All special remotes support encryption. You must either specify-encryption=none to disable encryption, or use encryption=keyid-(or encryption=emailaddress) to specify a gpg key that can access-the encrypted special remote.</p>--<p>Example Amazon S3 remote:</p>--<p>  git annex initremote mys3 type=S3 encryption=me@example.com datacenter=EU</p></li>-<li><p>enableremote name [param=value ...]</p>--<p>Enables use of an existing special remote in the current repository,-which may be a different repository than the one in which it was-originally created with the initremote command.</p>--<p>The name of the remote is the same name used when origianlly-creating that remote with "initremote". Run "git annex enableremote"-with no parameters to get a list of special remote names.</p>--<p>Some special remotes may need parameters to be specified every time.-For example, the directory special remote requires a directory= parameter.</p>--<p>This command can also be used to modify the configuration of an existing-special remote, by specifying new values for parameters that were originally-set when using initremote. For example, to add a new gpg key to the keys-that can access an encrypted remote:</p>--<p>  git annex initremote mys3 encryption=friend@example.com</p></li>-<li><p>trust [repository ...]</p>--<p>Records that a repository is trusted to not unexpectedly lose-content. Use with care.</p>--<p>To trust the current repository, use "here".</p></li>-<li><p>untrust [repository ...]</p>--<p>Records that a repository is not trusted and could lose content-at any time.</p></li>-<li><p>semitrust [repository ...]</p>--<p>Returns a repository to the default semi trusted state.</p></li>-<li><p>dead [repository ...]</p>--<p>Indicates that the repository has been irretrevably lost.-(To undo, use semitrust.)</p></li>-<li><p>group repository groupname</p>--<p>Adds a repository to a group, such as "archival", "enduser", or "transfer".-The groupname must be a single word.</p></li>-<li><p>ungroup repository groupname</p>--<p>Removes a repository from a group.</p></li>-<li><p>vicfg</p>--<p>Opens EDITOR on a temp file containing most of the above configuration-settings, and when it exits, stores any changes made back to the git-annex-branch.</p></li>-<li><p>direct</p>--<p>Switches a repository to use direct mode, where rather than symlinks to-files, the files are directly present in the repository.</p>--<p>As part of the switch to direct mode, any changed files will be committed.</p>--<p>Note that git commands that operate on the work tree are often unsafe to-use in direct mode repositories, and can result in data loss or other-bad behavior.</p></li>-<li><p>indirect</p>--<p>Switches a repository back from direct mode to the default, indirect mode.</p>--<p>As part of the switch from direct mode, any changed files will be committed.</p></li>-</ul>---<h1>REPOSITORY MAINTENANCE COMMANDS</h1>--<ul>-<li><p>fsck [path ...]</p>--<p>With no parameters, this command checks the whole annex for consistency,-and warns about or fixes any problems found.</p>--<p>With parameters, only the specified files are checked.</p>--<p>To check a remote to fsck, specify --from.</p>--<p>To avoid expensive checksum calculations (and expensive transfers when-fscking a remote), specify --fast.</p>--<p>To start a new incremental fsck, specify --incremental. Then-the next time you fsck, you can specify --more to skip over-files that have already been checked, and continue where it left off.</p>--<p>The --incremental-schedule option makes a new incremental fsck be-started a configurable time after the last incremental fsck was started.-Once the current incremental fsck has completely finished, it causes-a new one to start.</p>--<p>Maybe you'd like to run a fsck for 5 hours at night, picking up each-night where it left off. You'd like this to continue until all files-have been fscked. And once it's done, you'd like a new fsck pass to start,-but no more often than once a month. Then put this in a nightly cron job:</p>--<p>  git annex fsck --incremental-schedule 30d --time-limit 5h</p></li>-<li><p>unused</p>--<p>Checks the annex for data that does not correspond to any files present-in any tag or branch, and prints a numbered list of the data.</p>--<p>To only show unused temp and bad files, specify --fast.</p>--<p>To check for annexed data on a remote, specify --from.</p></li>-<li><p>dropunused [number|range ...]</p>--<p>Drops the data corresponding to the numbers, as listed by the last-<code>git annex unused</code></p>--<p>You can also specify ranges of numbers, such as "1-1000".</p>--<p>To drop the data from a remote, specify --from.</p></li>-<li><p>addunused [number|range ...]</p>--<p>Adds back files for the content corresponding to the numbers or ranges,-as listed by the last <code>git annex unused</code>. The files will have names-starting with "unused."</p></li>-<li><p>merge</p>--<p>Automatically merges remote tracking branches */git-annex into-the git-annex branch. While git-annex mostly handles keeping the-git-annex branch merged automatically, if you find you are unable-to push the git-annex branch due non-fast-forward, this will fix it.</p></li>-<li><p>fix [path ...]</p>--<p>Fixes up symlinks that have become broken to again point to annexed content.-This is useful to run if you have been moving the symlinks around,-but is done automatically when committing a change with git too.</p></li>-<li><p>upgrade</p>--<p>Upgrades the repository to current layout.</p></li>-</ul>---<h1>QUERY COMMANDS</h1>--<ul>-<li><p>version</p>--<p>Shows the version of git-annex, as well as repository version information.</p></li>-<li><p>find [path ...]</p>--<p>Outputs a list of annexed files in the specified path. With no path,-finds files in the current directory and its subdirectories.</p>--<p>By default, only lists annexed files whose content is currently present.-This can be changed by specifying file matching options. To list all-annexed files, present or not, specify --include "*". To list all-annexed files whose content is not present, specify --not --in=here</p>--<p>To output filenames terminated with nulls, for use with xargs -0,-specify --print0. Or, a custom output formatting can be specified using---format. The default output format is the same as --format='${file}\n'</p>--<p>These variables are available for use in formats: file, key, backend,-bytesize, humansize</p></li>-<li><p>whereis [path ...]</p>--<p>Displays a list of repositories known to contain the content of the-specified file or files.</p></li>-<li><p>log [path ...]</p>--<p>Displays the location log for the specified file or files,-showing each repository they were added to ("+") and removed from ("-").</p>--<p>To limit how far back to seach for location log changes, the options---since, --after, --until, --before, and --max-count can be specified.-They are passed through to git log. For example, --since "1 month ago"</p>--<p>To generate output suitable for the gource visualisation program,-specify --gource.</p></li>-<li><p>status [directory ...]</p>--<p>Displays some statistics and other information, including how much data-is in the annex and a list of all known repositories.</p>--<p>To only show the data that can be gathered quickly, use --fast.</p>--<p>When a directory is specified, shows only an abbreviated status-display for that directory. In this mode, all of the file matching-options can be used to filter the files that will be included in-the status.</p>--<p>For example, suppose you want to run "git annex get .", but-would first like to see how much disk space that will use.-Then run:</p>--<p>  git annex status . --not --in here</p></li>-<li><p>map</p>--<p>Helps you keep track of your repositories, and the connections between them,-by going out and looking at all the ones it can get to, and generating a-Graphviz file displaying it all. If the <code>dot</code> command is available, it is-used to display the file to your screen (using x11 backend). (To disable-this display, specify --fast)</p>--<p>This command only connects to hosts that the host it's run on can-directly connect to. It does not try to tunnel through intermediate hosts.-So it might not show all connections between the repositories in the network.</p>--<p>Also, if connecting to a host requires a password, you might have to enter-it several times as the map is being built.</p>--<p>Note that this subcommand can be used to graph any git repository; it-is not limited to git-annex repositories.</p></li>-</ul>---<h1>UTILITY COMMANDS</h1>--<ul>-<li><p>migrate [path ...]</p>--<p>Changes the specified annexed files to use the default key-value backend-(or the one specified with --backend). Only files whose content-is currently available are migrated.</p>--<p>Note that the content is also still available using the old key after-migration. Use <code>git annex unused</code> to find and remove the old key.</p>--<p>Normally, nothing will be done to files already using the new backend.-However, if a backend changes the information it uses to construct a key,-this can also be used to migrate files to use the new key format.</p></li>-<li><p>reinject src dest</p>--<p>Moves the src file into the annex as the content of the dest file.-This can be useful if you have obtained the content of a file from-elsewhere and want to put it in the local annex.</p>--<p>Automatically runs fsck on dest to check that the expected content was-provided.</p>--<p>Example:</p>--<p>  git annex reinject /tmp/foo.iso foo.iso</p></li>-<li><p>unannex [path ...]</p>--<p>Use this to undo an accidental <code>git annex add</code> command. You can use-<code>git annex unannex</code> to move content out of the annex at any point,-even if you've already committed it.</p>--<p>This is not the command you should use if you intentionally annexed a-file and don't want its contents any more. In that case you should use-<code>git annex drop</code> instead, and you can also <code>git rm</code> the file.</p>--<p>In --fast mode, this command leaves content in the annex, simply making-a hard link to it.</p></li>-<li><p>uninit</p>--<p>Use this to stop using git annex. It will unannex every file in the-repository, and remove all of git-annex's other data, leaving you with a-git repository plus the previously annexed files.</p></li>-</ul>---<h1>PLUMBING COMMANDS</h1>--<ul>-<li><p>pre-commit [path ...]</p>--<p>Fixes up symlinks that are staged as part of a commit, to ensure they-point to annexed content. Also handles injecting changes to unlocked-files into the annex.</p>--<p>This is meant to be called from git's pre-commit hook. <code>git annex init</code>-automatically creates a pre-commit hook using this.</p></li>-<li><p>fromkey key file</p>--<p>This plumbing-level command can be used to manually set up a file-in the git repository to link to a specified key.</p></li>-<li><p>dropkey [key ...]</p>--<p>This plumbing-level command drops the annexed data for the specified-keys from this repository.</p>--<p>This can be used to drop content for arbitrary keys, which do not need-to have a file in the git repository pointing at them.</p>--<p>Example:</p>--<p>  git annex dropkey SHA1-s10-7da006579dd64330eb2456001fd01948430572f2</p></li>-<li><p>transferkeys</p>--<p>This plumbing-level command is used by the assistant to transfer data.</p></li>-<li><p>rekey [file key ...]</p>--<p>This plumbing-level command is similar to migrate, but you specify-both the file, and the new key to use for it.</p>--<p>With --force, even files whose content is not currently available will-be rekeyed. Use with caution.</p></li>-<li><p>test</p>--<p>This runs git-annex's built-in test suite.</p></li>-<li><p>xmppgit</p>--<p>This command is used internally to perform git pulls over XMPP.</p></li>-</ul>---<h1>OPTIONS</h1>--<ul>-<li><p>--force</p>--<p>Force unsafe actions, such as dropping a file's content when no other-source of it can be verified to still exist, or adding ignored files.-Use with care.</p></li>-<li><p>--fast</p>--<p>Enables less expensive, but also less thorough versions of some commands.-What is avoided depends on the command.</p></li>-<li><p>--auto</p>--<p>Enables automatic mode. Commands that get, drop, or move file contents-will only do so when needed to help satisfy the setting of annex.numcopies,-and preferred content configuration.</p></li>-<li><p>--quiet</p>--<p>Avoid the default verbose display of what is done; only show errors-and progress displays.</p></li>-<li><p>--verbose</p>--<p>Enable verbose display.</p></li>-<li><p>--json</p>--<p>Rather than the normal output, generate JSON. This is intended to be-parsed by programs that use git-annex. Each line of output is a JSON-object. Note that json output is only usable with some git-annex commands,-like status and find.</p></li>-<li><p>--debug</p>--<p>Show debug messages.</p></li>-<li><p>--from=repository</p>--<p>Specifies a repository that content will be retrieved from, or that-should otherwise be acted on.</p>--<p>It should be specified using the name of a configured remote.</p></li>-<li><p>--to=repository</p>--<p>Specifies a repository that content will be sent to.</p>--<p>It should be specified using the name of a configured remote.</p></li>-<li><p>--numcopies=n</p>--<p>Overrides the <code>annex.numcopies</code> setting, forcing git-annex to ensure the-specified number of copies exist.</p>--<p>Note that setting numcopies to 0 is very unsafe.</p></li>-<li><p>--time-limit=time</p>--<p>Limits how long a git-annex command runs. The time can be something-like "5h", or "30m" or even "45s" or "10d".</p>--<p>Note that git-annex may continue running a little past the specified-time limit, in order to finish processing a file.</p>--<p>Also, note that if the time limit prevents git-annex from doing all it-was asked to, it will exit with a special code, 101.</p></li>-<li><p>--trust=repository</p></li>-<li>--semitrust=repository</li>-<li><p>--untrust=repository</p>--<p>Overrides trust settings for a repository. May be specified more than once.</p>--<p>The repository should be specified using the name of a configured remote,-or the UUID or description of a repository.</p></li>-<li><p>--trust-glacier-inventory</p>--<p>Amazon Glacier inventories take hours to retrieve, and may not represent-the current state of a repository. So git-annex does not trust that-files that the inventory claims are in Glacier are really there.-This switch can be used to allow it to trust the inventory.</p>--<p>Be careful using this, especially if you or someone else might have recently-removed a file from Glacier. If you try to drop the only other copy of the-file, and this switch is enabled, you could lose data!</p></li>-<li><p>--backend=name</p>--<p>Specifies which key-value backend to use. This can be used when-adding a file to the annex, or migrating a file. Once files-are in the annex, their backend is known and this option is not-necessary.</p></li>-<li><p>--format=value</p>--<p>Specifies a custom output format. The value is a format string,-in which '${var}' is expanded to the value of a variable. To right-justify-a variable with whitespace, use '${var;width}' ; to left-justify-a variable, use '${var;-width}'; to escape unusual characters in a variable,-use '${escaped_var}'</p>--<p>Also, '\n' is a newline, '\000' is a NULL, etc.</p></li>-<li><p>-c name=value</p>--<p>Used to override git configuration settings. May be specified multiple times.</p></li>-</ul>---<h1>FILE MATCHING OPTIONS</h1>--<p>These options can all be specified multiple times, and can be combined to-limit which files git-annex acts on.</p>--<p>Arbitrarily complicated expressions can be built using these options.-For example:</p>--<pre><code>--exclude '*.mp3' --and --not -( --in=usbdrive --or --in=archive -)-</code></pre>--<p>The above example prevents git-annex from working on mp3 files whose-file contents are present at either of two repositories.</p>--<ul>-<li><p>--exclude=glob</p>--<p>Skips files matching the glob pattern. The glob is matched relative to-the current directory. For example:</p>--<p>  --exclude='<em>.mp3' --exclude='subdir/</em>'</p></li>-<li><p>--include=glob</p>--<p>Skips files not matching the glob pattern.  (Same as --not --exclude.)-For example, to include only mp3 and ogg files:</p>--<p>  --include='<em>.mp3' --or --include='</em>.ogg'</p></li>-<li><p>--in=repository</p>--<p>Matches only files that git-annex believes have their contents present-in a repository. Note that it does not check the repository to verify-that it still has the content.</p>--<p>The repository should be specified using the name of a configured remote,-or the UUID or description of a repository. For the current repository,-use --in=here</p></li>-<li><p>--copies=number</p>--<p>Matches only files that git-annex believes to have the specified number-of copies, or more. Note that it does not check remotes to verify that-the copies still exist.</p></li>-<li><p>--copies=trustlevel:number</p>--<p>Matches only files that git-annex believes have the specified number of-copies, on remotes with the specified trust level. For example,-"--copies=trusted:2"</p>--<p>To match any trust level at or higher than a given level, use-'trustlevel+'. For example, "--copies=semitrusted+:2"</p></li>-<li><p>--copies=groupname:number</p>--<p>Matches only files that git-annex believes have the specified number of-copies, on remotes in the specified group. For example,-"--copies=archive:2"</p></li>-<li><p>--inbackend=name</p>--<p>Matches only files whose content is stored using the specified key-value-backend.</p></li>-<li><p>--inallgroup=groupname</p>--<p>Matches only files that git-annex believes are present in all repositories-in the specified group.</p></li>-<li><p>--smallerthan=size</p></li>-<li><p>--largerthan=size</p>--<p>Matches only files whose content is smaller than, or larger than the-specified size.</p>--<p>The size can be specified with any commonly used units, for example,-"0.5 gb" or "100 KiloBytes"</p></li>-<li><p>--not</p>--<p>Inverts the next file matching option. For example, to only act on-files with less than 3 copies, use --not --copies=3</p></li>-<li><p>--and</p>--<p>Requires that both the previous and the next file matching option matches.-The default.</p></li>-<li><p>--or</p>--<p>Requires that either the previous, or the next file matching option matches.</p></li>-<li><p>-(</p>--<p>Opens a group of file matching options.</p></li>-<li><p>-)</p>--<p>Closes a group of file matching options.</p></li>-</ul>---<h1>PREFERRED CONTENT</h1>--<p>Each repository has a preferred content setting, which specifies content-that the repository wants to have present. These settings can be configured-using <code>git annex vicfg</code>. They are used by the <code>--auto</code> option, and-by the git-annex assistant.</p>--<p>The preferred content settings are similar, but not identical to-the file matching options specified above, just without the dashes.-For example:</p>--<pre><code>exclude=archive/* and (include=*.mp3 or smallerthan=1mb)-</code></pre>--<p>The main differences are that <code>exclude=</code> and <code>include=</code> always-match relative to the top of the git repository, and that there is-no equivilant to --in.</p>--<h1>CONFIGURATION</h1>--<p>Like other git commands, git-annex is configured via <code>.git/config</code>.-Here are all the supported configuration settings.</p>--<ul>-<li><p><code>annex.uuid</code></p>--<p>A unique UUID for this repository (automatically set).</p></li>-<li><p><code>annex.numcopies</code></p>--<p>Number of copies of files to keep across all repositories. (default: 1)</p>--<p>Note that setting numcopies to 0 is very unsafe.</p></li>-<li><p><code>annex.backends</code></p>--<p>Space-separated list of names of the key-value backends to use.-The first listed is used to store new files by default.</p></li>-<li><p><code>annex.diskreserve</code></p>--<p>Amount of disk space to reserve. Disk space is checked when transferring-content to avoid running out, and additional free space can be reserved-via this option, to make space for more important content (such as git-commit logs). Can be specified with any commonly used units, for example,-"0.5 gb" or "100 KiloBytes"</p>--<p>The default reserve is 1 megabyte.</p></li>-<li><p><code>annex.largefiles</code></p>--<p>Allows configuring which files <code>git annex add</code> and the assistant consider-to be large enough to need to be added to the annex. By default,-all files are added to the annex.</p>--<p>The value is a preferred content expression. See PREFERRED CONTENT-for details.</p>--<p>Example:</p>--<p>  annex.largefiles = largerthan=100kb and not (include=<em>.c or include=</em>.h)</p></li>-<li><p><code>annex.queuesize</code></p>--<p>git-annex builds a queue of git commands, in order to combine similar-commands for speed. By default the size of the queue is limited to-10240 commands; this can be used to change the size. If you have plenty-of memory and are working with very large numbers of files, increasing-the queue size can speed it up.</p></li>-<li><p><code>annex.bloomcapacity</code></p>--<p>The <code>git annex unused</code> command uses a bloom filter to determine-what data is no longer used. The default bloom filter is sized to handle-up to 500000 keys. If your repository is larger than that,-you can adjust this to avoid <code>git annex unused</code> not noticing some unused-data files. Increasing this will make <code>git-annex unused</code> consume more memory;-run <code>git annex status</code> for memory usage numbers.</p></li>-<li><p><code>annex.bloomaccuracy</code></p>--<p>Adjusts the accuracy of the bloom filter used by-<code>git annex unused</code>. The default accuracy is 1000 ---1 unused file out of 1000 will be missed by <code>git annex unused</code>. Increasing-the accuracy will make <code>git annex unused</code> consume more memory;-run <code>git annex status</code> for memory usage numbers.</p></li>-<li><p><code>annex.sshcaching</code></p>--<p>By default, git-annex caches ssh connections-(if built using a new enough ssh). To disable this, set to <code>false</code>.</p></li>-<li><p><code>annex.alwayscommit</code></p>--<p>By default, git-annex automatically commits data to the git-annex branch-after each command is run. To disable these commits,-set to <code>false</code>. Then data will only be committed when-running <code>git annex merge</code> (or by automatic merges) or <code>git annex sync</code>.</p></li>-<li><p><code>annex.delayadd</code></p>--<p>Makes the watch and assistant commands delay for the specified number of-seconds before adding a newly created file to the annex. Normally this-is not needed, because they already wait for all writers of the file-to close it. On Mac OSX, when not using direct mode this defaults to-1 second, to work around a bad interaction with software there.</p></li>-<li><p><code>annex.autocommit</code></p>--<p>Set to false to prevent the git-annex assistant from automatically-committing changes to files in the repository.</p></li>-<li><p><code>annex.version</code></p>--<p>Automatically maintained, and used to automate upgrades between versions.</p></li>-<li><p><code>annex.direct</code></p>--<p>Set to true when the repository is in direct mode. Should not be set-manually; use the "git annex direct" and "git annex indirect" commands-instead.</p></li>-<li><p><code>annex.crippledfilesystem</code></p>--<p>Set to true if the repository is on a crippled filesystem, such as FAT,-which does not support symbolic links, or hard links, or unix permissions.-This is automatically probed by "git annex init".</p></li>-<li><p><code>remote.&lt;name&gt;.annex-cost</code></p>--<p>When determining which repository to-transfer annexed files from or to, ones with lower costs are preferred.-The default cost is 100 for local repositories, and 200 for remote-repositories.</p></li>-<li><p><code>remote.&lt;name&gt;.annex-cost-command</code></p>--<p>If set, the command is run, and the number it outputs is used as the cost.-This allows varying the cost based on eg, the current network. The-cost-command can be any shell command line.</p></li>-<li><p><code>remote.&lt;name&gt;.annex-start-command</code></p>--<p>A command to run when git-annex begins to use the remote. This can-be used to, for example, mount the directory containing the remote.</p>--<p>The command may be run repeatedly when multiple git-annex processes-are running concurrently.</p></li>-<li><p><code>remote.&lt;name&gt;.annex-stop-command</code></p>--<p>A command to run when git-annex is done using the remote.</p>--<p>The command will only be run once <em>all</em> running git-annex processes-are finished using the remote.</p></li>-<li><p><code>remote.&lt;name&gt;.annex-ignore</code></p>--<p>If set to <code>true</code>, prevents git-annex-from storing file contents on this remote by default.-(You can still request it be used by the --from and --to options.)</p>--<p>This is, for example, useful if the remote is located somewhere-without git-annex-shell. (For example, if it's on GitHub).-Or, it could be used if the network connection between two-repositories is too slow to be used normally.</p>--<p>This does not prevent git-annex sync (or the git-annex assistant) from-syncing the git repository to the remote.</p></li>-<li><p><code>remote.&lt;name&gt;.annex-sync</code></p>--<p>If set to <code>false</code>, prevents git-annex sync (and the git-annex assistant)-from syncing with this remote.</p></li>-<li><p><code>remote.&lt;name&gt;.annexUrl</code></p>--<p>Can be used to specify a different url than the regular <code>remote.&lt;name&gt;.url</code>-for git-annex to use when talking with the remote. Similar to the <code>pushUrl</code>-used by git-push.</p></li>-<li><p><code>remote.&lt;name&gt;.annex-uuid</code></p>--<p>git-annex caches UUIDs of remote repositories here.</p></li>-<li><p><code>remote.&lt;name&gt;.annex-trustlevel</code></p>--<p>Configures a local trust level for the remote. This overrides the value-configured by the trust and untrust commands. The value can be any of-"trusted", "semitrusted" or "untrusted".</p></li>-<li><p><code>remote.&lt;name&gt;.annex-ssh-options</code></p>--<p>Options to use when using ssh to talk to this remote.</p></li>-<li><p><code>remote.&lt;name&gt;.annex-rsync-options</code></p>--<p>Options to use when using rsync-to or from this remote. For example, to force ipv6, and limit-the bandwidth to 100Kbyte/s, set it to "-6 --bwlimit 100"</p></li>-<li><p><code>remote.&lt;name&gt;.annex-rsync-transport</code></p>--<p>The remote shell to use to connect to the rsync remote. Possible-values are <code>ssh</code> (the default) and <code>rsh</code>, together with their-arguments, for instance <code>ssh -p 2222 -c blowfish</code>; Note that the-remote hostname should not appear there, see rsync(1) for details.-When the transport used is <code>ssh</code>, connections are automatically cached-unless <code>annex.sshcaching</code> is unset.</p></li>-<li><p><code>remote.&lt;name&gt;.annex-bup-split-options</code></p>--<p>Options to pass to bup split when storing content in this remote.-For example, to limit the bandwidth to 100Kbyte/s, set it to "--bwlimit 100k"-(There is no corresponding option for bup join.)</p></li>-<li><p><code>remote.&lt;name&gt;.annex-gnupg-options</code></p>--<p>Options to pass to GnuPG for symmetric encryption. For instance, to-use the AES cipher with a 256 bits key and disable compression, set it-to "--cipher-algo AES256 --compress-algo none". (These options take-precedence over the default GnuPG configuration, which is otherwise-used.)</p></li>-<li><p><code>annex.ssh-options</code>, <code>annex.rsync-options</code>, <code>annex.bup-split-options</code>,-<code>annex.gnupg-options</code></p>--<p>Default ssh, rsync, wget/curl, bup, and GnuPG options to use if a-remote does not have specific options.</p></li>-<li><p><code>annex.web-options</code></p>--<p>Options to use when using wget or curl to download a file from the web.-(wget is always used in preference to curl if available.)-For example, to force ipv4 only, set it to "-4"</p></li>-<li><p><code>annex.http-headers</code></p>--<p>HTTP headers to send when downloading from the web. Multiple lines of-this option can be set, one per header.</p></li>-<li><p><code>annex.http-headers-command</code></p>--<p>If set, the command is run and each line of its output is used as a HTTP-header. This overrides annex.http-headers.</p></li>-<li><p><code>annex.web-download-command</code></p>--<p>Use to specify a command to run to download a file from the web.-(The default is to use wget or curl.)</p>--<p>In the command line, %url is replaced with the url to download,-and %file is replaced with the file that it should be saved to.-Note that both these values will automatically be quoted, since-the command is run in a shell.</p></li>-<li><p><code>remote.&lt;name&gt;.rsyncurl</code></p>--<p>Used by rsync special remotes, this configures-the location of the rsync repository to use. Normally this is automatically-set up by <code>git annex initremote</code>, but you can change it if needed.</p></li>-<li><p><code>remote.&lt;name&gt;.buprepo</code></p>--<p>Used by bup special remotes, this configures-the location of the bup repository to use. Normally this is automatically-set up by <code>git annex initremote</code>, but you can change it if needed.</p></li>-<li><p><code>remote.&lt;name&gt;.directory</code></p>--<p>Used by directory special remotes, this configures-the location of the directory where annexed files are stored for this-remote. Normally this is automatically set up by <code>git annex initremote</code>,-but you can change it if needed.</p></li>-<li><p><code>remote.&lt;name&gt;.s3</code></p>--<p>Used to identify Amazon S3 special remotes.-Normally this is automatically set up by <code>git annex initremote</code>.</p></li>-<li><p><code>remote.&lt;name&gt;.glacier</code></p>--<p>Used to identify Amazon Glacier special remotes.-Normally this is automatically set up by <code>git annex initremote</code>.</p></li>-<li><p><code>remote.&lt;name&gt;.webdav</code></p>--<p>Used to identify webdav special remotes.-Normally this is automatically set up by <code>git annex initremote</code>.</p></li>-<li><p><code>remote.&lt;name&gt;.annex-xmppaddress</code></p>--<p>Used to identify the XMPP address of a Jabber buddy.-Normally this is set up by the git-annex assistant when pairing over XMPP.</p></li>-</ul>---<h1>CONFIGURATION VIA .gitattributes</h1>--<p>The key-value backend used when adding a new file to the annex can be-configured on a per-file-type basis via <code>.gitattributes</code> files. In the file,-the <code>annex.backend</code> attribute can be set to the name of the backend to-use. For example, this here's how to use the WORM backend by default,-but the SHA256E backend for ogg files:</p>--<pre><code>* annex.backend=WORM-*.ogg annex.backend=SHA256E-</code></pre>--<p>The numcopies setting can also be configured on a per-file-type basis via-the <code>annex.numcopies</code> attribute in <code>.gitattributes</code> files. This overrides-any value set using <code>annex.numcopies</code> in <code>.git/config</code>.-For example, this makes two copies be needed for wav files:</p>--<pre><code>*.wav annex.numcopies=2-</code></pre>--<p>Note that setting numcopies to 0 is very unsafe.</p>--<h1>FILES</h1>--<p>These files are used by git-annex:</p>--<p><code>.git/annex/objects/</code> in your git repository contains the annexed file-contents that are currently available. Annexed files in your git-repository symlink to that content.</p>--<p><code>.git/annex/</code> in your git repository contains other run-time information-used by git-annex.</p>--<p><code>~/.config/git-annex/autostart</code> is a list of git repositories-to start the git-annex assistant in.</p>--<h1>SEE ALSO</h1>--<p>Most of git-annex's documentation is available on its web site,-<a href="http://git-annex.branchable.com/">http://git-annex.branchable.com/</a></p>--<p>If git-annex is installed from a package, a copy of its documentation-should be included, in, for example, <code>/usr/share/doc/git-annex/</code></p>--<h1>AUTHOR</h1>--<p>Joey Hess <a href="mailto:joey@kitenet.net">&#106;&#111;&#x65;&#121;&#x40;&#107;&#105;&#x74;&#101;&#x6e;&#101;&#116;&#x2e;&#x6e;&#101;&#116;</a></p>--<p><a href="http://git-annex.branchable.com/">http://git-annex.branchable.com/</a></p>--<p>Warning: Automatically converted into a man page by mdwn2man. Edit with care</p>--</div>----<div id="comments">-----<div class="addcomment">Comments on this page are closed.</div>--</div>----</div>--<div id="footer" class="pagefooter">--<div id="pageinfo">-------<div id="backlinks">-Links:--<a href="./git-annex-shell.html">git-annex-shell</a>--<a href="./how_it_works.html">how it works</a>--<a href="./links/key_concepts.html">links/key concepts</a>--<a href="./preferred_content.html">preferred content</a>--<a href="./tips/Using_Git-annex_as_a_web_browsing_assistant.html">tips/Using Git-annex as a web browsing assistant</a>--<a href="./walkthrough/using_ssh_remotes.html">walkthrough/using ssh remotes</a>---</div>-------<div class="pagedate">-Last edited <span class="date">Sat May  4 11:06:45 2013</span>-<!-- Created <span class="date">Sat May  4 11:06:45 2013</span> -->-</div>--</div>---<!-- from git-annex -->-</div>--</div>--</body>-</html>
− debian/git-annex/usr/share/doc/git-annex/html/git-union-merge.html
@@ -1,165 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">-<html xmlns="http://www.w3.org/1999/xhtml">--<head>--<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />-<title>git-union-merge</title>--<link rel="stylesheet" href="style.css" type="text/css" />--<link rel="stylesheet" href="local.css" type="text/css" />-------</head>-<body>--<div class="page">--<div class="pageheader">-<div class="header">-<span>-<span class="parentlinks">--<a href="./index.html">git-annex</a>/ --</span>-<span class="title">-git-union-merge--</span>-</span>--</div>--------</div>---<div class="sidebar">-<p><img src="./logo_small.png" width="150" height="115" class="img" /></p>--<ul>-<li><a href="./install.html">install</a></li>-<li><a href="./assistant.html">assistant</a></li>-<li><a href="./walkthrough.html">walkthrough</a></li>-<li><a href="./tips.html">tips</a></li>-<li><span class="createlink">bugs</span></li>-<li><span class="createlink">todo</span></li>-<li><span class="createlink">forum</span></li>-<li><a href="./comments.html">comments</a></li>-<li><a href="./contact.html">contact</a></li>-<li><a href="http://flattr.com/thing/84843/git-annex"><img src="https://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" /></a></li>-</ul>---</div>---<div id="pagebody">--<div id="content">-<h1>NAME</h1>--<p>git-union-merge - Join branches together using a union merge</p>--<h1>SYNOPSIS</h1>--<p>git union-merge ref ref newref</p>--<h1>DESCRIPTION</h1>--<p>Does a union merge between two refs, storing the result in the-specified newref.</p>--<p>The union merge will always succeed, but assumes that files can be merged-simply by concacenating together lines from all the oldrefs, in any order.-So, this is useful only for branches containing log-type data.</p>--<p>Note that this does not touch the checked out working copy. It operates-entirely on git refs and branches.</p>--<h1>EXAMPLE</h1>--<pre><code>git union-merge git-annex origin/git-annex refs/heads/git-annex -</code></pre>--<p>Merges the current git-annex branch, and a version from origin,-storing the result in the git-annex branch.</p>--<h1>BUGS</h1>--<p>File modes are not currently merged.</p>--<h1>AUTHOR</h1>--<p>Joey Hess <a href="mailto:joey@kitenet.net">&#x6a;&#x6f;&#x65;&#121;&#64;&#x6b;&#105;&#x74;&#101;&#110;&#x65;&#116;&#46;&#x6e;&#101;&#116;</a></p>--<p><a href="http://git-annex.branchable.com/">http://git-annex.branchable.com/</a></p>--<p>Warning: Automatically converted into a man page by mdwn2man. Edit with care</p>--</div>----<div id="comments">-----<div class="addcomment">Comments on this page are closed.</div>--</div>----</div>--<div id="footer" class="pagefooter">--<div id="pageinfo">-------<div id="backlinks">-Links:--<a href="./internals.html">internals</a>---</div>-------<div class="pagedate">-Last edited <span class="date">Fri Sep 28 01:45:57 2012</span>-<!-- Created <span class="date">Fri Sep 28 01:45:57 2012</span> -->-</div>--</div>---<!-- from git-annex -->-</div>--</div>--</body>-</html>
− debian/git-annex/usr/share/doc/git-annex/html/how_it_works.html
@@ -1,167 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">-<html xmlns="http://www.w3.org/1999/xhtml">--<head>--<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />-<title>how it works</title>--<link rel="stylesheet" href="style.css" type="text/css" />--<link rel="stylesheet" href="local.css" type="text/css" />-------</head>-<body>--<div class="page">--<div class="pageheader">-<div class="header">-<span>-<span class="parentlinks">--<a href="./index.html">git-annex</a>/ --</span>-<span class="title">-how it works--</span>-</span>--</div>--------</div>---<div class="sidebar">-<p><img src="./logo_small.png" width="150" height="115" class="img" /></p>--<ul>-<li><a href="./install.html">install</a></li>-<li><a href="./assistant.html">assistant</a></li>-<li><a href="./walkthrough.html">walkthrough</a></li>-<li><a href="./tips.html">tips</a></li>-<li><span class="createlink">bugs</span></li>-<li><span class="createlink">todo</span></li>-<li><span class="createlink">forum</span></li>-<li><a href="./comments.html">comments</a></li>-<li><a href="./contact.html">contact</a></li>-<li><a href="http://flattr.com/thing/84843/git-annex"><img src="https://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" /></a></li>-</ul>---</div>---<div id="pagebody">--<div id="content">-<p>This page gives a high-level view of git-annex. For a detailed-low-level view, see <a href="./git-annex.html">the man page</a> and <a href="./internals.html">internals</a>.</p>--<p>You do not need to read this page to get started with using git-annex. The-<a href="./walkthrough.html">walkthrough</a> provides step-by-step instructions.</p>--<p>Still reading? Ok. Git's man page calls it "a stupid content-tracker". With git-annex, git is instead "a stupid filename and metadata"-tracker. The contents of large files are not stored in git, only the-names of the files and some other metadata remain there.</p>--<p>The contents of the files are kept by git-annex in a distributed key/value-store consisting of every clone of a given git repository. That's a fancy-way to say that git-annex stores the actual file content somewhere under-<code>.git/annex/</code>. (See <a href="./internals.html">internals</a> for details.)</p>--<p>That was the values; what about the keys? Well, a key is calculated for a-given file when it's first added into git-annex. Normally this uses a hash-of its contents, but various <a href="./backends.html">backends</a> can produce different sorts of-keys. The file that gets checked into git is just a symlink to the key-under <code>.git/annex/</code>. If the content of a file is modified, that produces-a different key (and the symlink is changed).</p>--<p>A file's content can be <a href="./transferring_data.html">transferred</a> from one-repository to another by git-annex. Which repositories contain a given-value is tracked by git-annex (see <a href="./location_tracking.html">location tracking</a>). It stores this-tracking information in a separate branch, named "git-annex". All you ever-do with the "git-annex" branch is push/pull it around between repositories,-to <a href="./sync.html">sync</a> up git-annex's view of the world.</p>--<p>That's really all there is to it. Oh, there are <a href="./special_remotes.html">special remotes</a> that-let values be stored other places than git repositories (anything from-Amazon S3 to a USB key), and there's a pile of commands listed in-<a href="./git-annex.html">the man page</a> to handle moving the values around and managing-them. But if you grok the description above, you can see through all that.-It's really just symlinks, keys, values, and a git-annex branch to store-additional metadata.</p>--<hr />--<p>Next: <a href="./install.html">install</a> or <a href="./walkthrough.html">walkthrough</a></p>--</div>----<div id="comments">-----<div class="addcomment">Comments on this page are closed.</div>--</div>----</div>--<div id="footer" class="pagefooter">--<div id="pageinfo">-------<div id="backlinks">-Links:--<a href="./links/key_concepts.html">links/key concepts</a>---</div>-------<div class="pagedate">-Last edited <span class="date">Fri Sep 28 01:45:57 2012</span>-<!-- Created <span class="date">Fri Sep 28 01:45:57 2012</span> -->-</div>--</div>---<!-- from git-annex -->-</div>--</div>--</body>-</html>
− debian/git-annex/usr/share/doc/git-annex/html/ikiwiki/ikiwiki.js
@@ -1,54 +0,0 @@-// ikiwiki's javascript utility function library--var hooks;--// Run onload as soon as the DOM is ready, if possible.-// gecko, opera 9-if (document.addEventListener) {-	document.addEventListener("DOMContentLoaded", run_hooks_onload, false);-}-// other browsers-window.onload = run_hooks_onload;--var onload_done = 0;--function run_hooks_onload() {-	// avoid firing twice-	if (onload_done)-		return;-	onload_done = true;--	run_hooks("onload");-}--function run_hooks(name) {-	if (typeof(hooks) != "undefined") {-		for (var i = 0; i < hooks.length; i++) {-			if (hooks[i].name == name) {-				hooks[i].call();-			}-		}-	}-}--function hook(name, call) {-	if (typeof(hooks) == "undefined")-		hooks = new Array;-	hooks.push({name: name, call: call});-}--function getElementsByClass(cls, node, tag) {-        if (document.getElementsByClass)-                return document.getElementsByClass(cls, node, tag);-        if (! node) node = document;-        if (! tag) tag = '*';-        var ret = new Array();-        var pattern = new RegExp("(^|\\s)"+cls+"(\\s|$)");-        var els = node.getElementsByTagName(tag);-        for (i = 0; i < els.length; i++) {-                if ( pattern.test(els[i].className) ) {-                        ret.push(els[i]);-                }-        }-        return ret;-}
− debian/git-annex/usr/share/doc/git-annex/html/ikiwiki/relativedate.js
@@ -1,75 +0,0 @@-// Causes html elements in the 'relativedate' class to be displayed-// as relative dates. The date is parsed from the title attribute, or from-// the element content.--var dateElements;--hook("onload", getDates);--function getDates() {-	dateElements = getElementsByClass('relativedate');-	for (var i = 0; i < dateElements.length; i++) {-		var elt = dateElements[i];-		var title = elt.attributes.title;-		var d = new Date(title ? title.value : elt.innerHTML);-		if (! isNaN(d)) {-			dateElements[i].date=d;-			elt.title=elt.innerHTML;-		}-	}--	showDates();-}--function showDates() {-	for (var i = 0; i < dateElements.length; i++) {-		var elt = dateElements[i];-		var d = elt.date;-		if (! isNaN(d)) {-			elt.innerHTML=relativeDate(d);-		}-	}-	setTimeout(showDates,30000); // keep updating every 30s-}--var timeUnits = [-	{ unit: 'year',		seconds: 60 * 60 * 24 * 364 },-	{ unit: 'month',	seconds: 60 * 60 * 24 * 30 },-	{ unit: 'day',		seconds: 60 * 60 * 24 },-	{ unit: 'hour',		seconds: 60 * 60 },-	{ unit: 'minute',	seconds: 60 },-];--function relativeDate(date) {-	var now = new Date();-	var offset = date.getTime() - now.getTime();-	var seconds = Math.round(Math.abs(offset) / 1000);--	// hack to avoid reading just in the future if there is a minor-	// amount of clock slip-	if (offset >= 0 && seconds < 30 * 60 * 60) {-		return "just now";-	}--	var ret = "";-	var shown = 0;-	for (i = 0; i < timeUnits.length; i++) {-		if (seconds >= timeUnits[i].seconds) {-			var num = Math.floor(seconds / timeUnits[i].seconds);-			seconds -= num * timeUnits[i].seconds;-			if (ret)-				ret += "and ";-			ret += num + " " + timeUnits[i].unit + (num > 1 ? "s" : "") + " ";--			if (++shown == 2)-				break;-		}-		else if (shown)-			break;-	}--	if (! ret)-		ret = "less than a minute "--	return ret + (offset < 0 ? "ago" : "from now");-}
− debian/git-annex/usr/share/doc/git-annex/html/ikiwiki/toggle.js
@@ -1,29 +0,0 @@-// Uses CSS to hide toggleables, to avoid any flashing on page load. The-// CSS is only emitted after it tests that it's going to be able-// to show the toggleables.-if (document.getElementById && document.getElementsByTagName && document.createTextNode) {-	document.write('<style type="text/css">div.toggleable { display: none; }</style>');-	hook("onload", inittoggle);-}--function inittoggle() {-	var as = getElementsByClass('toggle');-	for (var i = 0; i < as.length; i++) {-		var id = as[i].href.match(/#(\w.+)/)[1];-		if (document.getElementById(id).className == "toggleable")-			document.getElementById(id).style.display="none";-		as[i].onclick = function() {-			toggle(this);-			return false;-		}-	}-}--function toggle(s) {-	var id = s.href.match(/#(\w.+)/)[1];-	style = document.getElementById(id).style;-	if (style.display == "none")-		style.display = "block";-	else-		style.display = "none";-}
− debian/git-annex/usr/share/doc/git-annex/html/index.html
@@ -1,306 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">-<html xmlns="http://www.w3.org/1999/xhtml">--<head>--<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />-<title>git-annex</title>--<link rel="stylesheet" href="style.css" type="text/css" />--<link rel="stylesheet" href="local.css" type="text/css" />-------</head>-<body>--<div class="page">--<div class="pageheader">-<div class="header">-<span>-<span class="parentlinks">--</span>-<span class="title">-git-annex--</span>-</span>--</div>--------</div>---<div class="sidebar">-<p><img src="./logo_small.png" width="150" height="115" class="img" /></p>--<ul>-<li><a href="./install.html">install</a></li>-<li><a href="./assistant.html">assistant</a></li>-<li><a href="./walkthrough.html">walkthrough</a></li>-<li><a href="./tips.html">tips</a></li>-<li><span class="createlink">bugs</span></li>-<li><span class="createlink">todo</span></li>-<li><span class="createlink">forum</span></li>-<li><a href="./comments.html">comments</a></li>-<li><a href="./contact.html">contact</a></li>-<li><a href="http://flattr.com/thing/84843/git-annex"><img src="https://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" /></a></li>-</ul>------<p><a href="./feeds.html">Feeds</a>:</p>--<p><small></p>-----<p></small></p>--</div>---<div id="pagebody">--<div id="content">-<p>git-annex allows managing files with git, without checking the file-contents into git. While that may seem paradoxical, it is useful when-dealing with files larger than git can currently easily handle, whether due-to limitations in memory, time, or disk space.</p>--<p><a href="./assistant.html"><img src="./assistant/thumbnail.png" width="216" height="28" class="img" align="right" /></a>-git-annex is designed for git users who love the command line.-For everyone else, the <a href="./assistant.html">git-annex assistant</a> turns-git-annex into an easy to use folder synchroniser.</p>--<p>To get a feel for git-annex, see the <a href="./walkthrough.html">walkthrough</a>.</p>--<table>-<tr>-<td width="33%" valign="top"><h3>key concepts</h3>--<ul>-<li><a href="./git-annex.html">git-annex man page</a></li>-<li><a href="./how_it_works.html">how it works</a></li>-<li><a href="./special_remotes.html">special remotes</a></li>-<li><a href="./sync.html">sync</a></li>-<li><a href="./direct_mode.html">direct mode</a></li>-</ul>-----</td>-<td width="33%" valign="top"><h3>the details</h3>--<ul>-<li><a href="./encryption.html">encryption</a></li>-<li><a href="./backends.html">key-value backends</a></li>-<li><a href="./bare_repositories.html">bare repositories</a></li>-<li><a href="./internals.html">internals</a></li>-<li><a href="./scalability.html">scalability</a></li>-<li><a href="./design.html">design</a></li>-</ul>-----</td>-<td width="33%" valign="top"><h3>other stuff</h3>--<ul>-<li><a href="./testimonials.html">testimonials</a></li>-<li><a href="./not.html">what git annex is not</a></li>-<li><a href="./related_software.html">related software</a></li>-<li><a href="./sitemap.html">sitemap</a></li>-</ul>-----</td>-</tr>-</table>-----<table>-<tr>-<td width="50%" valign="top"><h3>use case: The Archivist</h3>--<p>Bob has many drives to archive his data, most of them kept offline, in a-safe place.</p>--<p>With git-annex, Bob has a single directory tree that includes all-his files, even if their content is being stored offline. He can-reorganize his files using that tree, committing new versions to git,-without worry about accidentally deleting anything.</p>--<p>When Bob needs access to some files, git-annex can tell him which drive(s)-they're on, and easily make them available. Indeed, every drive knows what-is on every other drive.<br/>-<small><a href="./location_tracking.html">more about location tracking</a></small></p>--<p>Bob thinks long-term, and so he appreciates that git-annex uses a simple-repository format. He knows his files will be accessible in the future-even if the world has forgotten about git-annex and git.<br/>-<small><a href="./future_proofing.html">more about future-proofing</a></small></p>--<p>Run in a cron job, git-annex adds new files to archival drives at night. It-also helps Bob keep track of intentional, and unintentional copies of-files, and logs information he can use to decide when it's time to duplicate-the content of old drives.<br/>-<small><a href="./copies.html">more about backup copies</a></small></p>----</td>-<td width="50%" valign="top"><h3>use case: The Nomad</h3>--<p>Alice is always on the move, often with her trusty netbook and a small-handheld terabyte USB drive, or a smaller USB keydrive. She has a server-out there on the net. She stores data, encrypted in the Cloud.</p>--<p>All these things can have different files on them, but Alice no longer-has to deal with the tedious process of keeping them manually in sync,-or remembering where she put a file. git-annex manages all these data-sources as if they were git remotes.<br/>-<small><a href="./special_remotes.html">more about special remotes</a></small></p>--<p>When she has 1 bar on her cell, Alice queues up interesting files on her-server for later. At a coffee shop, she has git-annex download them to her-USB drive. High in the sky or in a remote cabin, she catches up on-podcasts, videos, and games, first letting git-annex copy them from-her USB drive to the netbook (this saves battery power).<br/>-<small><a href="./transferring_data.html">more about transferring data</a></small></p>--<p>When she's done, she tells git-annex which to keep and which to remove.-They're all removed from her netbook to save space, and Alice knows-that next time she syncs up to the net, her changes will be synced back-to her server.<br/>-<small><a href="./distributed_version_control.html">more about distributed version control</a></small></p>----</td>-</tr>-</table>---<p>If that describes you, or if you're some from column A and some from column-B, then git-annex may be the tool you've been looking for to expand from-keeping all your small important files in git, to managing your large-files with git.</p>--<table>-<tr>-<td width="50%" valign="top"><h3>Recent <a href="./news.html">news</a></h3>--<h3><span class="createlink">Dev blog</span></h3>----</td>-<td valign="top"><h3>Recent <a href="./videos.html">videos</a></h3>--<p>--<a href="./videos/git-annex_assistant_archiving.html">git-annex assistant archiving</a><br />--<i>-Posted <span class="date">Sat May  4 11:06:46 2013</span>--</i>-</p>---<p>--<a href="./videos/git-annex_assistant_remote_sharing.html">git-annex assistant remote sharing</a><br />--<i>-Posted <span class="date">Sat May  4 11:06:46 2013</span>--</i>-</p>---<h3>Recent <span class="createlink">forum posts</span></h3>----</td>-</tr>-</table>---<hr />--<p>git-annex is <a href="./license.html">Free Software</a></p>--<p>git-annex's wiki is powered by <a href="http://ikiwiki.info/">Ikiwiki</a> and-hosted by <a href="http://branchable.com/">Branchable</a>.</p>--</div>----<div id="comments">-----<div class="addcomment">Comments on this page are closed.</div>--</div>----</div>--<div id="footer" class="pagefooter">--<div id="pageinfo">------------<div class="pagedate">-Last edited <span class="date">Sat May  4 11:06:45 2013</span>-<!-- Created <span class="date">Sat May  4 11:06:45 2013</span> -->-</div>--</div>---<!-- from git-annex -->-</div>--</div>--</body>-</html>
− debian/git-annex/usr/share/doc/git-annex/html/install.html
@@ -1,219 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">-<html xmlns="http://www.w3.org/1999/xhtml">--<head>--<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />-<title>install</title>--<link rel="stylesheet" href="style.css" type="text/css" />--<link rel="stylesheet" href="local.css" type="text/css" />-------</head>-<body>--<div class="page">--<div class="pageheader">-<div class="header">-<span>-<span class="parentlinks">--<a href="./index.html">git-annex</a>/ --</span>-<span class="title">-install--</span>-</span>--</div>--------</div>---<div class="sidebar">-<p><img src="./logo_small.png" width="150" height="115" class="img" /></p>--<ul>-<li><span class="selflink">install</span></li>-<li><a href="./assistant.html">assistant</a></li>-<li><a href="./walkthrough.html">walkthrough</a></li>-<li><a href="./tips.html">tips</a></li>-<li><span class="createlink">bugs</span></li>-<li><span class="createlink">todo</span></li>-<li><span class="createlink">forum</span></li>-<li><a href="./comments.html">comments</a></li>-<li><a href="./contact.html">contact</a></li>-<li><a href="http://flattr.com/thing/84843/git-annex"><img src="https://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" /></a></li>-</ul>---</div>---<div id="pagebody">--<div id="content">-<h2>Pick your OS</h2>--<table>-    <thead>-        <tr>-            <th>detailed instructions</th>-            <th> quick install</th>-        </tr>-    </thead>-    <tbody>-        <tr>-            <td><a href="./install/OSX.html">OSX</a></td>-            <td> <a href="http://downloads.kitenet.net/git-annex/OSX/current/">download git-annex.app</a></td>-        </tr>-        <tr>-            <td><a href="./install/Android.html">Android</a></td>-            <td> <a href="http://downloads.kitenet.net/git-annex/android/current/">download git-annex.apk</a> <strong>beta</strong></td>-        </tr>-        <tr>-            <td><a href="./install/Linux_standalone.html">Linux</a></td>-            <td> <a href="http://downloads.kitenet.net/git-annex/linux/current/">download prebuilt linux tarball</a></td>-        </tr>-        <tr>-            <td><a href="./install/Debian.html">Debian</a></td>-            <td> <code>apt-get install git-annex</code></td>-        </tr>-        <tr>-            <td><a href="./install/Ubuntu.html">Ubuntu</a></td>-            <td> <code>apt-get install git-annex</code></td>-        </tr>-        <tr>-            <td><a href="./install/Fedora.html">Fedora</a></td>-            <td> <code>yum install git-annex</code></td>-        </tr>-        <tr>-            <td><a href="./install/FreeBSD.html">FreeBSD</a></td>-            <td> <code>pkg_add -r hs-git-annex</code></td>-        </tr>-        <tr>-            <td><a href="./install/ArchLinux.html">ArchLinux</a></td>-            <td> <code>yaourt -Sy git-annex</code></td>-        </tr>-        <tr>-            <td><a href="./install/NixOS.html">NixOS</a></td>-            <td> <code>nix-env -i git-annex</code></td>-        </tr>-        <tr>-            <td><a href="./install/Gentoo.html">Gentoo</a></td>-            <td> <code>emerge git-annex</code></td>-        </tr>-        <tr>-            <td><a href="./install/ScientificLinux5.html">ScientificLinux5</a></td>-            <td> (and other RHEL5 clones like CentOS5)</td>-        </tr>-        <tr>-            <td><a href="./install/openSUSE.html">openSUSE</a></td>-            <td></td>-        </tr>-        <tr>-            <td>Windows</td>-            <td> <span class="createlink">sorry, Windows not supported yet</span></td>-        </tr>-    </tbody>-</table>---<h2>Using cabal</h2>--<p>As a haskell package, git-annex can be installed using cabal.-Start by installing the <a href="http://hackage.haskell.org/platform/">Haskell Platform</a>,-and then:</p>--<pre><code>cabal install git-annex --bindir=$HOME/bin-</code></pre>--<p>That installs the latest release. Alternatively, you can <a href="./download.html">download</a>-git-annex yourself and <a href="./install/cabal.html">manually build with cabal</a>.</p>--<h2>Installation from scratch</h2>--<p>This is not recommended, but if you really want to, see <a href="./install/fromscratch.html">fromscratch</a>.</p>--</div>----<div id="comments">-----<div class="addcomment">Comments on this page are closed.</div>--</div>----</div>--<div id="footer" class="pagefooter">--<div id="pageinfo">-------<div id="backlinks">-Links:--<a href="./assistant.html">assistant</a>--<a href="./download.html">download</a>--<a href="./how_it_works.html">how it works</a>--<a href="./install/Linux_standalone.html">install/Linux standalone</a>--<a href="./install/openSUSE.html">install/openSUSE</a>--<a href="./sidebar.html">sidebar</a>--<a href="./tips/centralized_git_repository_tutorial.html">tips/centralized git repository tutorial</a>---</div>-------<div class="pagedate">-Last edited <span class="date">Sat May  4 11:06:45 2013</span>-<!-- Created <span class="date">Sat May  4 11:06:45 2013</span> -->-</div>--</div>---<!-- from git-annex -->-</div>--</div>--</body>-</html>
− debian/git-annex/usr/share/doc/git-annex/html/install/Android.html
@@ -1,172 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">-<html xmlns="http://www.w3.org/1999/xhtml">--<head>--<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />-<title>Android</title>--<link rel="stylesheet" href="../style.css" type="text/css" />--<link rel="stylesheet" href="../local.css" type="text/css" />-------</head>-<body>--<div class="page">--<div class="pageheader">-<div class="header">-<span>-<span class="parentlinks">--<a href="../index.html">git-annex</a>/ --<a href="../install.html">install</a>/ --</span>-<span class="title">-Android--</span>-</span>--</div>--------</div>---<div class="sidebar">-<p><img src="../logo_small.png" width="150" height="115" class="img" /></p>--<ul>-<li><a href="../install.html">install</a></li>-<li><a href="../assistant.html">assistant</a></li>-<li><a href="../walkthrough.html">walkthrough</a></li>-<li><a href="../tips.html">tips</a></li>-<li><span class="createlink">bugs</span></li>-<li><span class="createlink">todo</span></li>-<li><span class="createlink">forum</span></li>-<li><a href="../comments.html">comments</a></li>-<li><a href="../contact.html">contact</a></li>-<li><a href="http://flattr.com/thing/84843/git-annex"><img src="https://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" /></a></li>-</ul>---</div>---<div id="pagebody">--<div id="content">-<p>git-annex can be used on Android, however you need to know your way around-the command line to install and use it. (Hope to get the webapp working-eventually.)</p>--<h2>Android app</h2>--<p>First, ensure your Android device is configured to allow installation of-non-Market apps. Go to Setup -&gt; Security, and enable "Unknown Sources".</p>--<p>Download the <a href="http://downloads.kitenet.net/git-annex/android/current/">git-annex.apk</a>-onto your Android device, and open it to install.</p>--<p>When you start the Git Annex app, it will dump you into terminal. From-here, you can run git-annex, as well as many standard git and unix commands-provided with the app. You can do everything in the <a href="../walkthrough.html">walkthrough</a> and-more.</p>--<h2>autobuilds</h2>--<p>A daily build is also available.</p>--<ul>-<li><a href="http://downloads.kitenet.net/git-annex/autobuild/android/git-annex.apk">download apk</a> (<a href="http://downloads.kitenet.net/git-annex/autobuild/android/">build logs</a>)</li>-</ul>---<h2>building it yourself</h2>--<p>git-annex can be built for Android, with <code>make android</code>. It's not an easy-process:</p>--<ul>-<li>First, install <a href="https://github.com/neurocyte/ghc-android">https://github.com/neurocyte/ghc-android</a>.</li>-<li>You also need to install git and all the utilities listed on <a href="./fromscratch.html">fromscratch</a>,-on the system doing the building.</li>-<li>Use ghc-android's cabal to install all necessary dependencies.-Some packages will fail to install on Android; patches to fix them-are in <code>standalone/android/haskell-patches/</code></li>-<li>You will need to have the Android SDK and NDK installed; see-<code>standalone/android/Makefile</code> to configure the paths to them. You'll also-need ant, and the JDK.</li>-<li>Then to build the full Android app bundle, use <code>make androidapp</code></li>-</ul>---</div>----<div id="comments">-----<div class="addcomment">Comments on this page are closed.</div>--</div>----</div>--<div id="footer" class="pagefooter">--<div id="pageinfo">-------<div id="backlinks">-Links:--<a href="../install.html">install</a>---</div>-------<div class="pagedate">-Last edited <span class="date">Sat May  4 11:06:45 2013</span>-<!-- Created <span class="date">Sat May  4 11:06:45 2013</span> -->-</div>--</div>---<!-- from git-annex -->-</div>--</div>--</body>-</html>
− debian/git-annex/usr/share/doc/git-annex/html/install/ArchLinux.html
@@ -1,184 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">-<html xmlns="http://www.w3.org/1999/xhtml">--<head>--<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />-<title>ArchLinux</title>--<link rel="stylesheet" href="../style.css" type="text/css" />--<link rel="stylesheet" href="../local.css" type="text/css" />-------</head>-<body>--<div class="page">--<div class="pageheader">-<div class="header">-<span>-<span class="parentlinks">--<a href="../index.html">git-annex</a>/ --<a href="../install.html">install</a>/ --</span>-<span class="title">-ArchLinux--</span>-</span>--</div>--------</div>---<div class="sidebar">-<p><img src="../logo_small.png" width="150" height="115" class="img" /></p>--<ul>-<li><a href="../install.html">install</a></li>-<li><a href="../assistant.html">assistant</a></li>-<li><a href="../walkthrough.html">walkthrough</a></li>-<li><a href="../tips.html">tips</a></li>-<li><span class="createlink">bugs</span></li>-<li><span class="createlink">todo</span></li>-<li><span class="createlink">forum</span></li>-<li><a href="../comments.html">comments</a></li>-<li><a href="../contact.html">contact</a></li>-<li><a href="http://flattr.com/thing/84843/git-annex"><img src="https://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" /></a></li>-</ul>---</div>---<div id="pagebody">--<div id="content">-<p>There is a non-official source package for git-annex in-<a href="https://aur.archlinux.org/packages.php?ID=44272">AUR</a>.</p>--<p>You can then build it yourself or use a wrapper for AUR-such as yaourt:</p>--<pre>-$ yaourt -Sy git-annex-</pre>---<hr />--<p>I'm told the AUR has some dependency problems currently.-If it doesn't work, you can just use cabal:</p>--<pre>-pacman -S git rsync curl wget gpg openssh cabal-install-cabal install git-annex --bindir=$HOME/bin-</pre>---</div>----<div id="comments">-<div  class="feedlink">---</div>-<div class="comment" id="comment-9fd360edd0a46658ae4d51e47586fd64">----<div class="comment-subject">--<a href="/install/ArchLinux.html#comment-9fd360edd0a46658ae4d51e47586fd64">Arch Linux</a>--</div>--<div class="inlinecontent">-For Arch Linux there should be the AUR package <a href="https://aur.archlinux.org/packages.php?ID=63503">git-annex-bin</a> mentioned, because it's easier to install (no haskell dependencies to be installed) and is based on the prebuild linux binary tarball.--</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="https://www.google.com/accounts/o8/id?id=AItOawlwYMdU0H7P7MMlD0v_BcczO-ZkYHY4zuY">Morris</a>-</span>---&mdash; <span class="date">Wed Oct 17 09:21:24 2012</span>-</div>----<div style="clear: both"></div>-</div>-----<div class="addcomment">Comments on this page are closed.</div>--</div>----</div>--<div id="footer" class="pagefooter">--<div id="pageinfo">-------<div id="backlinks">-Links:--<a href="../install.html">install</a>---</div>-------<div class="pagedate">-Last edited <span class="date">Fri Sep 28 01:45:57 2012</span>-<!-- Created <span class="date">Fri Sep 28 01:45:57 2012</span> -->-</div>--</div>---<!-- from git-annex -->-</div>--</div>--</body>-</html>
− debian/git-annex/usr/share/doc/git-annex/html/install/Debian.html
@@ -1,354 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">-<html xmlns="http://www.w3.org/1999/xhtml">--<head>--<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />-<title>Debian</title>--<link rel="stylesheet" href="../style.css" type="text/css" />--<link rel="stylesheet" href="../local.css" type="text/css" />-------</head>-<body>--<div class="page">--<div class="pageheader">-<div class="header">-<span>-<span class="parentlinks">--<a href="../index.html">git-annex</a>/ --<a href="../install.html">install</a>/ --</span>-<span class="title">-Debian--</span>-</span>--</div>--------</div>---<div class="sidebar">-<p><img src="../logo_small.png" width="150" height="115" class="img" /></p>--<ul>-<li><a href="../install.html">install</a></li>-<li><a href="../assistant.html">assistant</a></li>-<li><a href="../walkthrough.html">walkthrough</a></li>-<li><a href="../tips.html">tips</a></li>-<li><span class="createlink">bugs</span></li>-<li><span class="createlink">todo</span></li>-<li><span class="createlink">forum</span></li>-<li><a href="../comments.html">comments</a></li>-<li><a href="../contact.html">contact</a></li>-<li><a href="http://flattr.com/thing/84843/git-annex"><img src="https://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" /></a></li>-</ul>---</div>---<div id="pagebody">--<div id="content">-<h2>Debian testing or unstable</h2>--<pre><code>sudo apt-get install git-annex-</code></pre>--<h2>Debian 7.0 "wheezy":</h2>--<pre><code>sudo apt-get install git-annex-</code></pre>--<p>Note: This version does not include support for the <a href="../assistant.html">assistant</a>.-The version of git-annex in unstable can be easily installed in wheezy.</p>--<h2>Debian 6.0 "squeeze"</h2>--<p>Follow the instructions to <a href="http://backports.debian.org/Instructions/">enable backports</a>.</p>--<pre><code>sudo apt-get -t squeeze-backports install git-annex-</code></pre>--</div>----<div id="comments">-<div  class="feedlink">---</div>-<div class="comment" id="comment-5c71f1d9ac9246b3376325d574d9eefc">----<div class="comment-subject">--<a href="/install/Debian.html#comment-5c71f1d9ac9246b3376325d574d9eefc">squeeze-backports update?</a>--</div>--<div class="inlinecontent">-<p>Is there going to be an update of git-annex in debian squeeze-backports to a version that supports repository version 3?-Thx</p>---</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="https://www.google.com/accounts/o8/id?id=AItOawla7u6eLKNYZ09Z7xwBffqLaXquMQC07fU">Matthias</a>-</span>---&mdash; <span class="date">Wed Aug 17 08:34:46 2011</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-a7f0a516edda1f6e61c13aaa72ff5bae">----<div class="comment-subject">--<a href="/install/Debian.html#comment-a7f0a516edda1f6e61c13aaa72ff5bae">Re: squeeze-backports update?</a>--</div>--<div class="inlinecontent">-Yes, I uploaded it last night.--</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="http://joey.kitenet.net/">joey</a>-</span>---&mdash; <span class="date">Wed Aug 17 11:34:29 2011</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-63e478d409ce03723b81754f2a28fae9">----<div class="comment-subject">--<a href="/install/Debian.html#comment-63e478d409ce03723b81754f2a28fae9">ARM</a>--</div>--<div class="inlinecontent">-is there any package for Debian armhf? I'd love to install git-annex on my raspberry pi--</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="https://www.google.com/accounts/o8/id?id=AItOawkstq9oH1vHXY_VP0nYO9Gg3eKnKerDGRI">Hadi</a>-</span>---&mdash; <span class="date">Tue Jul 31 11:13:06 2012</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-92b79e57e84627f9a7e016eaab2549ce">----<div class="comment-subject">--<a href="/install/Debian.html#comment-92b79e57e84627f9a7e016eaab2549ce">comment 4</a>--</div>--<div class="inlinecontent">-<p>Yes, git-annex is available for every Debian architecture which supports Haskell, including all arm ports:</p>--<pre>git-annex | 3.20120629         | wheezy            | source, amd64, armel, armhf, i386, kfreebsd-amd64, kfreebsd-i386, mips, mipsel, powerpc, s390, s390x, sparc</pre>----</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="http://joeyh.name/">joeyh.name</a>-</span>---&mdash; <span class="date">Tue Jul 31 11:41:43 2012</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-eeaed986d5abc6fdedc9824557466c7d">----<div class="comment-subject">--<a href="/install/Debian.html#comment-eeaed986d5abc6fdedc9824557466c7d">wheezy support</a>--</div>--<div class="inlinecontent">-<p>Hey Joey,</p>--<p>As a backer, I'd like to see a backport of git annex assistant to wheezy.</p>--<p>It is currently impossible to get this assistant in wheezy without compiling it with cabal.</p>--<p>It would be nice to see it in backports or something :)</p>--<p>Best,</p>--<p>Allard</p>---</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="https://www.google.com/accounts/o8/id?id=AItOawk3eiQwrpDGJ3MJb9NWB84m4tzQ6XjVZnY">Allard</a>-</span>---&mdash; <span class="date">Fri Nov 23 16:47:58 2012</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-7ed3a900cbf8a9a57afc4d871f354ee4">----<div class="comment-subject">--<a href="/install/Debian.html#comment-7ed3a900cbf8a9a57afc4d871f354ee4">comment 6</a>--</div>--<div class="inlinecontent">-The git-annex packages in unstable install on testing (wheezy).--</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="http://svend.ciffer.net/">svend [ciffer.net]</a>-</span>---&mdash; <span class="date">Fri Nov 23 17:38:29 2012</span>-</div>----<div style="clear: both"></div>-</div>-----<div class="addcomment">Comments on this page are closed.</div>--</div>----</div>--<div id="footer" class="pagefooter">--<div id="pageinfo">-------<div id="backlinks">-Links:--<a href="../install.html">install</a>---</div>-------<div class="pagedate">-Last edited <span class="date">Sat May  4 11:06:45 2013</span>-<!-- Created <span class="date">Sat May  4 11:06:45 2013</span> -->-</div>--</div>---<!-- from git-annex -->-</div>--</div>--</body>-</html>
− debian/git-annex/usr/share/doc/git-annex/html/install/Fedora.html
@@ -1,169 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">-<html xmlns="http://www.w3.org/1999/xhtml">--<head>--<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />-<title>Fedora</title>--<link rel="stylesheet" href="../style.css" type="text/css" />--<link rel="stylesheet" href="../local.css" type="text/css" />-------</head>-<body>--<div class="page">--<div class="pageheader">-<div class="header">-<span>-<span class="parentlinks">--<a href="../index.html">git-annex</a>/ --<a href="../install.html">install</a>/ --</span>-<span class="title">-Fedora--</span>-</span>--</div>--------</div>---<div class="sidebar">-<p><img src="../logo_small.png" width="150" height="115" class="img" /></p>--<ul>-<li><a href="../install.html">install</a></li>-<li><a href="../assistant.html">assistant</a></li>-<li><a href="../walkthrough.html">walkthrough</a></li>-<li><a href="../tips.html">tips</a></li>-<li><span class="createlink">bugs</span></li>-<li><span class="createlink">todo</span></li>-<li><span class="createlink">forum</span></li>-<li><a href="../comments.html">comments</a></li>-<li><a href="../contact.html">contact</a></li>-<li><a href="http://flattr.com/thing/84843/git-annex"><img src="https://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" /></a></li>-</ul>---</div>---<div id="pagebody">--<div id="content">-<p>git-annex is available in recent versions of Fedora. Although it is-not currently a very recent version, it should work ok.-<a href="http://koji.fedoraproject.org/koji/packageinfo?packageID=14145">status</a></p>--<p>Should be as simple as: <code>yum install git-annex</code></p>--<hr />--<p>To install the latest version of git-annex on Fedora 18 and later, you can use <code>cabal</code>:</p>--<pre>-# Install dependencies-sudo yum install libxml2-devel gnutls-devel libgsasl-devel ghc cabal-install happy alex libidn-devel-# Update the cabal list-cabal update-# Install c2hs, required by dependencies of git-annex, but not automatically installed-cabal install --bindir=$HOME/bin c2hs-# Install git-annex-cabal install --bindir=$HOME/bin git-annex-</pre>---<hr />--<p>Older version? Here's an installation recipe for Fedora 14 through 15.</p>--<pre>-sudo yum install ghc cabal-install-git clone git://git-annex.branchable.com/ git-annex-cd git-annex-git checkout ghc7.0-cabal update-cabal install --only-dependencies-cabal configure-cabal build-cabal install --bindir=$HOME/bin-</pre>---<p>Note: You can't just use <code>cabal install git-annex</code>, because Fedora does-not yet ship ghc 7.4.</p>--</div>----<div id="comments">-----<div class="addcomment">Comments on this page are closed.</div>--</div>----</div>--<div id="footer" class="pagefooter">--<div id="pageinfo">-------<div id="backlinks">-Links:--<a href="../install.html">install</a>---</div>-------<div class="pagedate">-Last edited <span class="date">Sat May  4 11:06:45 2013</span>-<!-- Created <span class="date">Sat May  4 11:06:45 2013</span> -->-</div>--</div>---<!-- from git-annex -->-</div>--</div>--</body>-</html>
− debian/git-annex/usr/share/doc/git-annex/html/install/FreeBSD.html
@@ -1,130 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">-<html xmlns="http://www.w3.org/1999/xhtml">--<head>--<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />-<title>FreeBSD</title>--<link rel="stylesheet" href="../style.css" type="text/css" />--<link rel="stylesheet" href="../local.css" type="text/css" />-------</head>-<body>--<div class="page">--<div class="pageheader">-<div class="header">-<span>-<span class="parentlinks">--<a href="../index.html">git-annex</a>/ --<a href="../install.html">install</a>/ --</span>-<span class="title">-FreeBSD--</span>-</span>--</div>--------</div>---<div class="sidebar">-<p><img src="../logo_small.png" width="150" height="115" class="img" /></p>--<ul>-<li><a href="../install.html">install</a></li>-<li><a href="../assistant.html">assistant</a></li>-<li><a href="../walkthrough.html">walkthrough</a></li>-<li><a href="../tips.html">tips</a></li>-<li><span class="createlink">bugs</span></li>-<li><span class="createlink">todo</span></li>-<li><span class="createlink">forum</span></li>-<li><a href="../comments.html">comments</a></li>-<li><a href="../contact.html">contact</a></li>-<li><a href="http://flattr.com/thing/84843/git-annex"><img src="https://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" /></a></li>-</ul>---</div>---<div id="pagebody">--<div id="content">-<p>git-annex is in FreeBSD ports in-<a href="http://www.freshports.org/devel/hs-git-annex/">devel/git-annex</a></p>--</div>----<div id="comments">-----<div class="addcomment">Comments on this page are closed.</div>--</div>----</div>--<div id="footer" class="pagefooter">--<div id="pageinfo">-------<div id="backlinks">-Links:--<a href="../install.html">install</a>---</div>-------<div class="pagedate">-Last edited <span class="date">Fri Sep 28 01:45:57 2012</span>-<!-- Created <span class="date">Fri Sep 28 01:45:57 2012</span> -->-</div>--</div>---<!-- from git-annex -->-</div>--</div>--</body>-</html>
− debian/git-annex/usr/share/doc/git-annex/html/install/Gentoo.html
@@ -1,131 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">-<html xmlns="http://www.w3.org/1999/xhtml">--<head>--<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />-<title>Gentoo</title>--<link rel="stylesheet" href="../style.css" type="text/css" />--<link rel="stylesheet" href="../local.css" type="text/css" />-------</head>-<body>--<div class="page">--<div class="pageheader">-<div class="header">-<span>-<span class="parentlinks">--<a href="../index.html">git-annex</a>/ --<a href="../install.html">install</a>/ --</span>-<span class="title">-Gentoo--</span>-</span>--</div>--------</div>---<div class="sidebar">-<p><img src="../logo_small.png" width="150" height="115" class="img" /></p>--<ul>-<li><a href="../install.html">install</a></li>-<li><a href="../assistant.html">assistant</a></li>-<li><a href="../walkthrough.html">walkthrough</a></li>-<li><a href="../tips.html">tips</a></li>-<li><span class="createlink">bugs</span></li>-<li><span class="createlink">todo</span></li>-<li><span class="createlink">forum</span></li>-<li><a href="../comments.html">comments</a></li>-<li><a href="../contact.html">contact</a></li>-<li><a href="http://flattr.com/thing/84843/git-annex"><img src="https://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" /></a></li>-</ul>---</div>---<div id="pagebody">--<div id="content">-<p>Gentoo users can: <code>emerge git-annex</code></p>--<p>A possibly more up-to-date version is in the haskell portage overlay.</p>--</div>----<div id="comments">-----<div class="addcomment">Comments on this page are closed.</div>--</div>----</div>--<div id="footer" class="pagefooter">--<div id="pageinfo">-------<div id="backlinks">-Links:--<a href="../install.html">install</a>---</div>-------<div class="pagedate">-Last edited <span class="date">Fri Sep 28 01:45:57 2012</span>-<!-- Created <span class="date">Fri Sep 28 01:45:57 2012</span> -->-</div>--</div>---<!-- from git-annex -->-</div>--</div>--</body>-</html>
− debian/git-annex/usr/share/doc/git-annex/html/install/Linux_standalone.html
@@ -1,164 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">-<html xmlns="http://www.w3.org/1999/xhtml">--<head>--<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />-<title>Linux standalone</title>--<link rel="stylesheet" href="../style.css" type="text/css" />--<link rel="stylesheet" href="../local.css" type="text/css" />-------</head>-<body>--<div class="page">--<div class="pageheader">-<div class="header">-<span>-<span class="parentlinks">--<a href="../index.html">git-annex</a>/ --<a href="../install.html">install</a>/ --</span>-<span class="title">-Linux standalone--</span>-</span>--</div>--------</div>---<div class="sidebar">-<p><img src="../logo_small.png" width="150" height="115" class="img" /></p>--<ul>-<li><a href="../install.html">install</a></li>-<li><a href="../assistant.html">assistant</a></li>-<li><a href="../walkthrough.html">walkthrough</a></li>-<li><a href="../tips.html">tips</a></li>-<li><span class="createlink">bugs</span></li>-<li><span class="createlink">todo</span></li>-<li><span class="createlink">forum</span></li>-<li><a href="../comments.html">comments</a></li>-<li><a href="../contact.html">contact</a></li>-<li><a href="http://flattr.com/thing/84843/git-annex"><img src="https://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" /></a></li>-</ul>---</div>---<div id="pagebody">--<div id="content">-<p>If your Linux distribution does not have git-annex packaged up for you,-you can either build it <a href="./fromscratch.html">fromscratch</a>, or you can use a handy-prebuilt tarball of the most recent release.</p>--<p>This tarball should work on most Linux systems. It does not depend-on anything except for glibc.</p>--<p><a href="http://downloads.kitenet.net/git-annex/linux/current/">download tarball</a></p>--<p>To use, just unpack the tarball, <code>cd git-annex.linux</code> and run <code>./runshell</code>--- this sets up an environment where you can use <code>git annex</code>, as well-as everything else included in the bundle.</p>--<p>Alternatively, you can unpack the tarball, and add the directory to your-<code>PATH</code>. This lets you use <code>git annex</code>, without overriding your system's-own versions of git, etc.</p>--<p>Warning: This is a last resort. Most Linux users should instead-<a href="../install.html">install</a> git-annex from their distribution of choice.</p>--<h2>autobuilds</h2>--<p>A daily build is also available.</p>--<ul>-<li>i386: <a href="http://downloads.kitenet.net/git-annex/autobuild/i386/git-annex-standalone-i386.tar.gz">download tarball</a> (<a href="http://downloads.kitenet.net/git-annex/autobuild/i386/">build logs</a>)</li>-<li>amd64: <a href="http://downloads.kitenet.net/git-annex/autobuild/amd64/git-annex-standalone-amd64.tar.gz">download tarball</a> (<a href="http://downloads.kitenet.net/git-annex/autobuild/amd64/">build logs</a>)</li>-</ul>---<h2>gitannex-install</h2>--<p>Eskild Hustvedt has contributed a-<a href="https://github.com/zerodogg/scriptbucket/blob/master/gitannex-install">gitannex-install</a>-script to manage keeping up to date with new releases using the standalone-built.</p>--</div>----<div id="comments">-----<div class="addcomment">Comments on this page are closed.</div>--</div>----</div>--<div id="footer" class="pagefooter">--<div id="pageinfo">-------<div id="backlinks">-Links:--<a href="../install.html">install</a>---</div>-------<div class="pagedate">-Last edited <span class="date">Sat May  4 11:06:45 2013</span>-<!-- Created <span class="date">Sat May  4 11:06:45 2013</span> -->-</div>--</div>---<!-- from git-annex -->-</div>--</div>--</body>-</html>
− debian/git-annex/usr/share/doc/git-annex/html/install/NixOS.html
@@ -1,135 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">-<html xmlns="http://www.w3.org/1999/xhtml">--<head>--<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />-<title>NixOS</title>--<link rel="stylesheet" href="../style.css" type="text/css" />--<link rel="stylesheet" href="../local.css" type="text/css" />-------</head>-<body>--<div class="page">--<div class="pageheader">-<div class="header">-<span>-<span class="parentlinks">--<a href="../index.html">git-annex</a>/ --<a href="../install.html">install</a>/ --</span>-<span class="title">-NixOS--</span>-</span>--</div>--------</div>---<div class="sidebar">-<p><img src="../logo_small.png" width="150" height="115" class="img" /></p>--<ul>-<li><a href="../install.html">install</a></li>-<li><a href="../assistant.html">assistant</a></li>-<li><a href="../walkthrough.html">walkthrough</a></li>-<li><a href="../tips.html">tips</a></li>-<li><span class="createlink">bugs</span></li>-<li><span class="createlink">todo</span></li>-<li><span class="createlink">forum</span></li>-<li><a href="../comments.html">comments</a></li>-<li><a href="../contact.html">contact</a></li>-<li><a href="http://flattr.com/thing/84843/git-annex"><img src="https://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" /></a></li>-</ul>---</div>---<div id="pagebody">--<div id="content">-<p>Users of the <a href="http://nixos.org/">Nix package manager</a> can install it by running:</p>--<pre><code>nix-env -i git-annex-</code></pre>--<p>The build status of the package within Nix can be seen on the <a href="http://hydra.nixos.org/job/nixpkgs/trunk/gitAndTools.gitAnnex">Hydra Build-Farm</a>.</p>--</div>----<div id="comments">-----<div class="addcomment">Comments on this page are closed.</div>--</div>----</div>--<div id="footer" class="pagefooter">--<div id="pageinfo">-------<div id="backlinks">-Links:--<a href="../install.html">install</a>---</div>-------<div class="pagedate">-Last edited <span class="date">Fri Sep 28 01:45:57 2012</span>-<!-- Created <span class="date">Fri Sep 28 01:45:57 2012</span> -->-</div>--</div>---<!-- from git-annex -->-</div>--</div>--</body>-</html>
− debian/git-annex/usr/share/doc/git-annex/html/install/OSX.html
@@ -1,913 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">-<html xmlns="http://www.w3.org/1999/xhtml">--<head>--<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />-<title>OSX</title>--<link rel="stylesheet" href="../style.css" type="text/css" />--<link rel="stylesheet" href="../local.css" type="text/css" />-------</head>-<body>--<div class="page">--<div class="pageheader">-<div class="header">-<span>-<span class="parentlinks">--<a href="../index.html">git-annex</a>/ --<a href="../install.html">install</a>/ --</span>-<span class="title">-OSX--</span>-</span>--</div>--------</div>---<div class="sidebar">-<p><img src="../logo_small.png" width="150" height="115" class="img" /></p>--<ul>-<li><a href="../install.html">install</a></li>-<li><a href="../assistant.html">assistant</a></li>-<li><a href="../walkthrough.html">walkthrough</a></li>-<li><a href="../tips.html">tips</a></li>-<li><span class="createlink">bugs</span></li>-<li><span class="createlink">todo</span></li>-<li><span class="createlink">forum</span></li>-<li><a href="../comments.html">comments</a></li>-<li><a href="../contact.html">contact</a></li>-<li><a href="http://flattr.com/thing/84843/git-annex"><img src="https://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" /></a></li>-</ul>---</div>---<div id="pagebody">--<div id="content">-<h2>git-annex.app</h2>--<p><a href="../assistant.html"><img src="../assistant/osx-app.png" width="87" height="98" class="img" align="right" /></a>-For easy installation, use the-<a href="http://downloads.kitenet.net/git-annex/OSX/current/">beta release of git-annex.app</a>.</p>--<p>Be sure to select the build matching your version of OSX.</p>--<p>If you want to run the <a href="../assistant.html">git-annex assistant</a>, just-install the app, look for the icon, and start it up.</p>--<p>To use git-annex at the command line, you can add-<code>git-annex.app/Contents/MacOS</code> to your <code>PATH</code></p>--<p>Alternatively, from the command line you can run-<code>git-annex.app/Contents/MacOS/runshell</code>, which makes your shell use all the-programs bundled inside the app, including not just git-annex, but git, and-several more. Handy if you don't otherwise have git installed.</p>--<p>This is still a work in progress. See <span class="createlink">OSX app issues</span> for problem-reports.</p>--<h2>autobuilds</h2>--<p><a href="http://www.sgenomics.org/~jtang/">Jimmy Tang</a> autobuilds-the app for OSX Lion.</p>--<ul>-<li><a href="http://www.sgenomics.org/~jtang/gitbuilder-git-annex-x00-x86_64-apple-darwin10.8.0-binary/ref/master/git-annex.dmg.bz2">autobuild of git-annex.app</a> (<a href="http://www.sgenomics.org/~jtang/gitbuilder-git-annex-x00-x86_64-apple-darwin10.8.0-binary/">build logs</a>)--<ul>-<li><a href="http://www.sgenomics.org/~jtang/gitbuilder-git-annex-x00-x86_64-apple-darwin10.8.0-binary/sha1/">past builds</a> -- directories are named from the commitid's</li>-</ul>-</li>-</ul>---<p><span class="createlink">Joey</span> autobuilds the app for Mountain Lion.</p>--<ul>-<li><a href="http://downloads.kitenet.net/git-annex/autobuild/x86_64-apple-mountain-lion/git-annex.dmg.bz2">autobuild of git-annex.app</a> (<a href="http://downloads.kitenet.net/git-annex/autobuild/x86_64-apple-mountain-lion/">build logs</a>)</li>-</ul>---<h2>using Brew</h2>--<pre>-brew update-brew install haskell-platform git ossp-uuid md5sha1sum coreutils libgsasl gnutls libidn libgsasl pkg-config libxml2-brew link libxml2-cabal update-PATH=$HOME/bin:$PATH-cabal install c2hs git-annex --bindir=$HOME/bin-</pre>---<h2>using MacPorts</h2>--<p>Install the Haskell Platform from <a href="http://hackage.haskell.org/platform/mac.html">http://hackage.haskell.org/platform/mac.html</a>.-The version provided by Macports is too old to work with current versions of git-annex.-Then execute</p>--<pre>-sudo port install git-core ossp-uuid md5sha1sum coreutils gnutls libxml2 libgsasl pkgconfig-sudo cabal update-PATH=$HOME/bin:$PATH-cabal install c2hs git-annex --bindir=$HOME/bin-</pre>---<h2>PATH setup</h2>--<p>Do not forget to add to your PATH variable your ~/bin folder. In your .bashrc, for example:</p>--<pre>-PATH=$HOME/bin:$PATH-</pre>---<p>See also:</p>--<ul>-<li><span class="createlink">OSX&#39;s haskell-platform statically links things</span></li>-<li><span class="createlink">OSX&#39;s default sshd behaviour has limited paths set</span></li>-</ul>---</div>----<div id="comments">-<div  class="feedlink">---</div>-<div class="comment" id="comment-22b74f9607c3d417cbe4424802a6d9a3">----<div class="comment-subject">--<a href="/install/OSX.html#comment-22b74f9607c3d417cbe4424802a6d9a3">comment 2</a>--</div>--<div class="inlinecontent">-<p>I've moved some outdated comments about installing on OSX to <a href="./OSX/old_comments.html">old comments</a>.-And also moved away some comments that helped build the instructions above.</p>---</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="http://joeyh.name/">joeyh.name</a>-</span>---&mdash; <span class="date">Tue Jul 24 11:09:29 2012</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-c1481fba3e4b2bd17c35fd1782102c34">----<div class="comment-subject">--<a href="/install/OSX.html#comment-c1481fba3e4b2bd17c35fd1782102c34">comment 4</a>--</div>--<div class="inlinecontent">-For those that care, I've updated my autobuilder to the latest version of haskell-platform 2012.4.0.0 and it appears to be building correctly.--</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="https://www.google.com/accounts/o8/id?id=AItOawkSq2FDpK2n66QRUxtqqdbyDuwgbQmUWus">Jimmy</a>-</span>---&mdash; <span class="date">Mon Dec 10 13:00:43 2012</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-15ba2e00a11b4ca978ad4f0c880be80a">----<div class="comment-subject">--<a href="/install/OSX.html#comment-15ba2e00a11b4ca978ad4f0c880be80a">comment 3</a>--</div>--<div class="inlinecontent">-<p>Installing via the MacPorts method. I ran into this error.</p>--<pre><code>"_locale_charset", referenced from: _localeEncoding in libHSbase-4.5.1.0.a(PrelIOUtils.o) -ld: symbol(s) not found for architecture x86_64-</code></pre>--<p>I was able to solve and get git-annex to build buy providing the --extra-lib-dirs parameter</p>--<pre><code>cabal install c2hs git-annex --bindir=$HOME/bin --extra-lib-dirs=/usr/lib-</code></pre>--<p>Cheers, <a href="http://woz.io">Daniel Wozniak</a></p>---</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="https://www.google.com/accounts/o8/id?id=AItOawlDDW-g2WLLsLpcnCm4LykAquFY_nwbIrU">Daniel</a>-</span>---&mdash; <span class="date">Tue Jan 15 11:22:43 2013</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-aff6acab68610899c9ec3c4cfebe2061">----<div class="comment-subject">--<a href="/install/OSX.html#comment-aff6acab68610899c9ec3c4cfebe2061">Snow Leopard</a>--</div>--<div class="inlinecontent">-<p>Hi,</p>--<p>Are there plans to provide a git-annex.app that works on Snow Leopard?</p>--<p>Currently there are only installers for the Lions.</p>--<p>http://downloads.kitenet.net/git-annex/OSX/current/</p>--<p>Thanks :-)</p>---</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="https://www.google.com/accounts/o8/id?id=AItOawnaYy6kTuKAHmsa4BtGls2oqa42Jo2w2v0">Pere</a>-</span>---&mdash; <span class="date">Fri Jan 18 11:51:48 2013</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-e2ab0dd1f11fd464b24aac36ab59637c">----<div class="comment-subject">--<a href="/install/OSX.html#comment-e2ab0dd1f11fd464b24aac36ab59637c">comment 5</a>--</div>--<div class="inlinecontent">-What we need to provide a Snow Leopard or other version build, is access to a box running that version of OSX, or someone with a box that doesn't mind compiling stuff and setting up the autobuilder (not very hard).--</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="http://joeyh.name/">joeyh.name</a>-</span>---&mdash; <span class="date">Fri Jan 18 13:25:36 2013</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-f385a3c668e76ddd01fbf2382bd97cad">----<div class="comment-subject">--<a href="/install/OSX.html#comment-f385a3c668e76ddd01fbf2382bd97cad">Snow Leopard</a>--</div>--<div class="inlinecontent">-If the process is very automatic I might contribute. I mean, if you tell me, install this and that package and run this script once a week, I might be able to help. I have a MacBook from 2007 with Snow Leopard. I also have macports installed, but I'm not a programmer.--</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="https://www.google.com/accounts/o8/id?id=AItOawnaYy6kTuKAHmsa4BtGls2oqa42Jo2w2v0">Pere</a>-</span>---&mdash; <span class="date">Fri Jan 18 13:57:40 2013</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-5e980d5268356ef30a234e9063576d53">----<div class="comment-subject">--<a href="/install/OSX.html#comment-5e980d5268356ef30a234e9063576d53">comment 7</a>--</div>--<div class="inlinecontent">-If you can get it to build using the instructions for Brew (or MacPorts) on this page, it's easy to get from there to a distributable app.--</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="http://joeyh.name/">joeyh.name</a>-</span>---&mdash; <span class="date">Fri Jan 18 16:16:52 2013</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-0c2872d1503ee0e726737393e477a3ed">----<div class="comment-subject">--<a href="/install/OSX.html#comment-0c2872d1503ee0e726737393e477a3ed">I couldn&#x27;t install it on Snow Leopard</a>--</div>--<div class="inlinecontent">-<p>Bad news, it looks like I'm not able to install git-annex to my machine: When I run</p>--<pre><code>sudo cabal install c2hs git-annex --bindir=$HOME/bin-</code></pre>--<p>I get the following error:</p>--<pre><code>cabal: Error: some packages failed to install:-DAV-0.3 failed during the building phase. The exception was:-ExitFailure 11-git-annex-3.20130114 depends on yesod-core-1.1.7.1 which failed to install.-yesod-1.1.7.2 depends on yesod-core-1.1.7.1 which failed to install.-yesod-auth-1.1.3 depends on yesod-core-1.1.7.1 which failed to install.-yesod-core-1.1.7.1 failed during the building phase. The exception was:-ExitFailure 11-yesod-default-1.1.3 depends on yesod-core-1.1.7.1 which failed to install.-yesod-form-1.2.0.2 depends on yesod-core-1.1.7.1 which failed to install.-yesod-json-1.1.2 depends on yesod-core-1.1.7.1 which failed to install.-yesod-persistent-1.1.0.1 depends on yesod-core-1.1.7.1 which failed to-install.-yesod-static-1.1.1.2 depends on yesod-core-1.1.7.1 which failed to install.-</code></pre>--<p>What does <em>ExitFailure 11</em> mean?</p>---</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="https://www.google.com/accounts/o8/id?id=AItOawnaYy6kTuKAHmsa4BtGls2oqa42Jo2w2v0">Pere</a>-</span>---&mdash; <span class="date">Sat Jan 19 11:04:27 2013</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-090c9f721facfe6f46f7bb5c601553b3">----<div class="comment-subject">--<a href="/install/OSX.html#comment-090c9f721facfe6f46f7bb5c601553b3">comment 9</a>--</div>--<div class="inlinecontent">-sig11 is a Segmentation Fault, probably from a C library used by DAV for HTTP in this case.--</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="http://joeyh.name/">joeyh.name</a>-</span>---&mdash; <span class="date">Sat Jan 19 12:02:35 2013</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-ec90aa06a5a6eb622440f361b8c95cdc">----<div class="comment-subject">--<a href="/install/OSX.html#comment-ec90aa06a5a6eb622440f361b8c95cdc">Segmentation Fault</a>--</div>--<div class="inlinecontent">-I guess my adventure ends here. :'(--</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="https://www.google.com/accounts/o8/id?id=AItOawnaYy6kTuKAHmsa4BtGls2oqa42Jo2w2v0">Pere</a>-</span>---&mdash; <span class="date">Sat Jan 19 12:10:08 2013</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-50a7ff1fe462964bc375f4b09f401511">----<div class="comment-subject">--<a href="/install/OSX.html#comment-50a7ff1fe462964bc375f4b09f401511">Updating to latest build</a>--</div>--<div class="inlinecontent">-What is the appropriate way to update to the latest build of git-annex using cabal?--</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="https://www.google.com/accounts/o8/id?id=AItOawmyFvkaewo432ELwtCoecUGou4v3jCP0Pc">Eric</a>-</span>---&mdash; <span class="date">Fri Jan 25 02:05:35 2013</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-27ad4e1dfa06c1514a3295ca7ec05b63">----<div class="comment-subject">--<a href="/install/OSX.html#comment-27ad4e1dfa06c1514a3295ca7ec05b63">git annex on Snow Leopard</a>--</div>--<div class="inlinecontent">-Is there any way I can try to solve or by-pass the Segmentation Fault I commeted before?--</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="https://www.google.com/accounts/o8/id?id=AItOawnaYy6kTuKAHmsa4BtGls2oqa42Jo2w2v0">Pere</a>-</span>---&mdash; <span class="date">Fri Jan 25 10:36:52 2013</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-cc56a89269e31510a10a74cf477944ce">----<div class="comment-subject">--<a href="/install/OSX.html#comment-cc56a89269e31510a10a74cf477944ce">comment 13</a>--</div>--<div class="inlinecontent">-@eric <code>cabal update &amp;&amp; cabal upgrade git-annex</code>--</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="http://joeyh.name/">joeyh.name</a>-</span>---&mdash; <span class="date">Tue Feb  5 15:46:29 2013</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-c22a0f6e35ed02be187e692435df9945">----<div class="comment-subject">--<a href="/install/OSX.html#comment-c22a0f6e35ed02be187e692435df9945">more homebrew</a>--</div>--<div class="inlinecontent">-<p>i had macports installed. then i installed brew, instaled haskell via brew. i needed to set-    PATH=$HOME/bin:/usr/local/bin:$PATH</p>---</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="https://www.google.com/accounts/o8/id?id=AItOawmCmNS-oUgYfNg85-LPuxzTZJUp0sIgprM">Jonas</a>-</span>---&mdash; <span class="date">Sat Feb 16 15:46:47 2013</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-caac3130b31d5e88de2d51e57d40eb66">----<div class="comment-subject">--<a href="/install/OSX.html#comment-caac3130b31d5e88de2d51e57d40eb66">git annex on Snow Leopard</a>--</div>--<div class="inlinecontent">-<p>I'm having the same issue as @Pere, with a newer version of DAV :(</p>--<p>cabal: Error: some packages failed to install:-DAV-0.3.1 failed during the building phase. The exception was:-ExitFailure 11-git-annex-4.20130323 depends on shakespeare-css-1.0.3 which failed to install.-persistent-1.1.5.1 failed during the building phase. The exception was:-ExitFailure 11-persistent-template-1.1.3.1 depends on persistent-1.1.5.1 which failed to-install.-shakespeare-css-1.0.3 failed during the building phase. The exception was:-ExitFailure 11-yesod-1.1.9.2 depends on shakespeare-css-1.0.3 which failed to install.-yesod-auth-1.1.5.3 depends on shakespeare-css-1.0.3 which failed to install.-yesod-core-1.1.8.2 depends on shakespeare-css-1.0.3 which failed to install.-yesod-default-1.1.3.2 depends on shakespeare-css-1.0.3 which failed to-install.-yesod-form-1.2.1.3 depends on shakespeare-css-1.0.3 which failed to install.-yesod-json-1.1.2.2 depends on shakespeare-css-1.0.3 which failed to install.-yesod-persistent-1.1.0.1 depends on shakespeare-css-1.0.3 which failed to-install.-yesod-static-1.1.2.2 depends on shakespeare-css-1.0.3 which failed to install.</p>--<p><em>Any ideas?</em></p>---</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="https://launchpad.net/~wincus">Juan Moyano</a>-</span>---&mdash; <span class="date">Tue Mar 26 12:02:54 2013</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-1cf81a381a3b69c1e0b371b38f562e1c">----<div class="comment-subject">--<a href="/install/OSX.html#comment-1cf81a381a3b69c1e0b371b38f562e1c">Snow Leopard Issues</a>--</div>--<div class="inlinecontent">-<p>I was able to build snow leopard completely for the first time over last night (it took a very long time to build all the tools and dependancies).  Woohoo!</p>--<p>The way I was able to fully build on a 32-bit 10.6 machine was this</p>--<ol>-<li>Delete ~/.ghc and ~/.cabal.  They were full of random things and were causing problems.</li>-<li><code>brew uninstall ghc and haskell-platform</code></li>-<li><code>brew update</code></li>-<li><code>brew install git ossp-uuid md5sha1sum coreutils libgsasl gnutls libidn libgsasl pkg-config libxml2</code></li>-<li><code>brew upgrade git ossp-uuid md5sha1sum coreutils libgsasl gnutls libidn libgsasl pkg-config libxml2</code> (Some of these were already installed/up to date.</li>-<li><code>brew link libxml2</code></li>-<li><code>brew install haskell-platform</code>  (This takes a long, long time).</li>-<li><code>cabal update</code> (assuming you have added <code>~/.cabal/bin</code> to your path</li>-<li><code>cabal install cablal-install</code></li>-<li><code>cabal install c2hs</code></li>-<li><code>cabal install git-annex</code></li>-</ol>---<p>It also appears to be running fairly smoothly than it had in the past on a 32-bit SL system.  Thats also neat.</p>--<p>The problem is that it seems to not really work as git annex though, probably due to the error relating you get when you start up the webapp:-Running-<code>git annex webapp</code>-The browser starts up, and I get 3 of these errors:-<code>Watcher crashed: Need at least OSX 10.7.0 for file-level FSEvents</code></p>--<p>Pairing with a local computer appears to work to systems running 10.7, but when you complete the process, they never show up in the repository list.</p>--<p>Also on a side note, when running <code>git annex webapp</code> it triggers the opening of an html file in whatever the default html file handler is.  I edit a lot of html, so for me that is usually a text editor.  I had to change the file handler to open html files with my web browser for the <code>git annex webapp</code> to actually work.  Is there a way to change that so that <code>git annex webapp</code> uses the default web browser for the system rather than the default html file handler?</p>---</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="https://www.google.com/accounts/o8/id?id=AItOawkurjhi0CRJvgm7QNaZDWS9hitBtavqIpc">Bret</a>-</span>---&mdash; <span class="date">Sun Apr 14 16:17:17 2013</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-b45fd847f89e1ef6d0eefc86d0007f12">----<div class="comment-subject">--<a href="/install/OSX.html#comment-b45fd847f89e1ef6d0eefc86d0007f12">comment 17</a>--</div>--<div class="inlinecontent">-<p>@Bret, the assistant relies on FSEvents pretty heavily. It seems to me your best bet is to upgrade OSX to a version that supports FSEvents.</p>--<p>You can certainly use the rest of git-annex on Snow Leopard without FSEvents.</p>---</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="http://joeyh.name/">joey</a>-</span>---&mdash; <span class="date">Tue Apr 16 16:31:10 2013</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-c37647fa381af6c84ec64688533c242b">----<div class="comment-subject">--<a href="/install/OSX.html#comment-c37647fa381af6c84ec64688533c242b">Can&#x27;t update</a>--</div>--<div class="inlinecontent">-The laptop is one of the first macbook pro's with a 32 bit chip, which apple dropped support for in 10.7, so the furthest it can update to is 10.6.x. :(--</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="https://www.google.com/accounts/o8/id?id=AItOawkurjhi0CRJvgm7QNaZDWS9hitBtavqIpc">Bret</a>-</span>---&mdash; <span class="date">Wed Apr 17 20:58:19 2013</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-d020a3312a07e4edee8b03081922a8b8">----<div class="comment-subject">--<a href="/install/OSX.html#comment-d020a3312a07e4edee8b03081922a8b8">comment 19</a>--</div>--<div class="inlinecontent">-sounds like a prime candidate for a nice lightweight linux distro ;)--</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="http://edheil.wordpress.com/">edheil [wordpress.com]</a>-</span>---&mdash; <span class="date">Wed Apr 17 22:05:34 2013</span>-</div>----<div style="clear: both"></div>-</div>-----<div class="addcomment">Comments on this page are closed.</div>--</div>----</div>--<div id="footer" class="pagefooter">--<div id="pageinfo">-------<div id="backlinks">-Links:--<a href="../install.html">install</a>---</div>-------<div class="pagedate">-Last edited <span class="date">Sat May  4 11:06:45 2013</span>-<!-- Created <span class="date">Sat May  4 11:06:45 2013</span> -->-</div>--</div>---<!-- from git-annex -->-</div>--</div>--</body>-</html>
− debian/git-annex/usr/share/doc/git-annex/html/install/OSX/old_comments.html
@@ -1,1148 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">-<html xmlns="http://www.w3.org/1999/xhtml">--<head>--<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />-<title>old comments</title>--<link rel="stylesheet" href="../../style.css" type="text/css" />--<link rel="stylesheet" href="../../local.css" type="text/css" />-------</head>-<body>--<div class="page">--<div class="pageheader">-<div class="header">-<span>-<span class="parentlinks">--<a href="../../index.html">git-annex</a>/ --<a href="../../install.html">install</a>/ --<a href="../OSX.html">OSX</a>/ --</span>-<span class="title">-old comments--</span>-</span>--</div>--------</div>---<div class="sidebar">-<p><img src="../../logo_small.png" width="150" height="115" class="img" /></p>--<ul>-<li><a href="../../install.html">install</a></li>-<li><a href="../../assistant.html">assistant</a></li>-<li><a href="../../walkthrough.html">walkthrough</a></li>-<li><a href="../../tips.html">tips</a></li>-<li><span class="createlink">bugs</span></li>-<li><span class="createlink">todo</span></li>-<li><span class="createlink">forum</span></li>-<li><a href="../../comments.html">comments</a></li>-<li><a href="../../contact.html">contact</a></li>-<li><a href="http://flattr.com/thing/84843/git-annex"><img src="https://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" /></a></li>-</ul>---</div>---<div id="pagebody">--<div id="content">-<p>Moved a bunch of outdated comments here, AFAIK all these issues are fixed.</p>--</div>----<div id="comments">-<div  class="feedlink">---</div>-<div class="comment" id="comment-1f6680cb782b3f5d2fe8f577b54dc4b4">----<div class="comment-subject">--<a href="/install/OSX/old_comments.html#comment-1f6680cb782b3f5d2fe8f577b54dc4b4">comment 1</a>--</div>--<div class="inlinecontent">-<p>You can also use Homebrew instead of MacPorts.  Homebrew's <code>haskell-platform</code> is up-to-date, too:</p>--<pre><code>brew install haskell-platform git ossp-uuid md5sha1sum coreutils pcre-ln -s /usr/local/include/pcre.h /usr/include/pcre.h-</code></pre>--<p>As of this writing, however, Homebrew's <code>md5sha1sum</code> has a broken mirror.  I wound up getting that from MacPorts anyway.</p>---</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="http://www.schleptet.net/~cfm/">cfm [schleptet.net]</a>-</span>---&mdash; <span class="date">Tue Aug 30 10:31:36 2011</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-c84388ba7e59c4e6ec5d4601b2be9ae7">----<div class="comment-subject">--<a href="/install/OSX/old_comments.html#comment-c84388ba7e59c4e6ec5d4601b2be9ae7">GHC 7</a>--</div>--<div class="inlinecontent">-<p>The Haskell Platform installer for OSX uses GHC 7.0.4, which doesn't seem able to support the current version of git-annex.</p>--<p>Cabal throws a very cryptic error about not being able to use the proper base package.</p>--<p>I was able to install it by</p>--<ol>-<li>cloning the repo</li>-<li>merging the ghc7.0 branch</li>-<li>resolving merge conflicts in git-annex.cabal</li>-<li>cabal install git-annex.cabal</li>-</ol>---<p>(Note I also tried this with homebrew and had similar results)</p>---</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="https://www.google.com/accounts/o8/id?id=AItOawkEUhIcw37X2Kh-dznSMIb9Vgcq0frfdWs">Ethan</a>-</span>---&mdash; <span class="date">Wed Mar 28 15:06:51 2012</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-c8af0dc4338c4bee0c42620e58ac90b8">----<div class="comment-subject">--<a href="/install/OSX/old_comments.html#comment-c8af0dc4338c4bee0c42620e58ac90b8">ghc 7.0</a>--</div>--<div class="inlinecontent">-You did the right thing, although just checking out the ghc-7.0 branch will avoid merge conflicts. I am trying to keep it fairly close to up-to-date.--</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="http://joey.kitenet.net/">joey</a>-</span>---&mdash; <span class="date">Wed Mar 28 15:18:58 2012</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-ff93b5cef76ce6fc206368942487f506">----<div class="comment-subject">--<a href="/install/OSX/old_comments.html#comment-ff93b5cef76ce6fc206368942487f506">Problems with Base &#x26; Crypto</a>--</div>--<div class="inlinecontent">-<p>I got the following error message trying to install git-annex:</p>--<pre><code>cabal: cannot configure git-annex-3.20120418. It requires base &gt;=4.5 &amp;&amp; &lt;5-For the dependency on base &gt;=4.5 &amp;&amp; &lt;5 there are these packages: base-4.5.0.0.-However none of them are available.-base-4.5.0.0 was excluded because of the top level dependency base -any-</code></pre>--<p>These are the steps I performed to make it work</p>--<ol>-<li>Download <a href="http://www.haskell.org/ghc/download">Ghc 7.4</a>.</li>-<li>Run <code>sudo cabal install git-annex --bindir=$HOME/bin</code>.</li>-<li>Compilation of the Crypto-4.2.4 dependency failed since it's not updated to work with Ghc 7.4. You need to patch SHA2.hs (steps below).</li>-<li>Run <code>sudo cabal install git-annex --bindir=$HOME/bin</code> a second time.</li>-</ol>---<p>The steps I did to patch the SHA2.hs file in Crypto-4.2.4:</p>--<ol>-<li><code>cabal unpack crypto-4.2.4</code></li>-<li><code>cd Crypto-4.2.4</code></li>-<li><code>patch -p1 &lt; crypto-4.2.4-ghc-7.4.patch</code></li>-<li><code>sudo cabal install</code>.</li>-</ol>---<p>PS: I used <a href="http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/dev-haskell/crypto/files/crypto-4.2.4-ghc-7.4.patch?revision=1.1">this patchfile</a>.-Then I did the last step a third time.</p>---</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="https://www.google.com/accounts/o8/id?id=AItOawkO9tsPZkAxEulq2pGCdwz4md-LqB0RcMw">Reimund</a>-</span>---&mdash; <span class="date">Wed Apr 25 18:56:18 2012</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-7ff5cf8df516ed45642396a234e6a9a4">----<div class="comment-subject">--<a href="/install/OSX/old_comments.html#comment-7ff5cf8df516ed45642396a234e6a9a4">sha256</a>--</div>--<div class="inlinecontent">-<p>If you're missing the <code>sha256sum</code> command with Homebrew, it's provided by <code>coreutils</code>. You have to change your <code>$PATH</code> before running <code>cabal install git-annex.cabal</code>:</p>--<pre><code>PATH="$(brew --prefix coreutils)/libexec/gnubin:$PATH"-</code></pre>---</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="https://www.google.com/accounts/o8/id?id=AItOawnHrjHxJAm39x8DR4bnbazQO6H0nMNuY9c">Damien</a>-</span>---&mdash; <span class="date">Fri Jun  1 12:13:05 2012</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-8446e371185ff711c05ef6047aec954b">----<div class="comment-subject">--<a href="/install/OSX/old_comments.html#comment-8446e371185ff711c05ef6047aec954b">comment 6</a>--</div>--<div class="inlinecontent">-Last night I made it look in /opt/local/libexec/gnubin .. if there's another directory it could look in, let me know. I am reluctant to make it run the brew command directly.--</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="http://joeyh.name/">joeyh.name</a>-</span>---&mdash; <span class="date">Fri Jun  1 13:24:29 2012</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-591772856abc1ca691095e3a7d6dfdcf">----<div class="comment-subject">--<a href="/install/OSX/old_comments.html#comment-591772856abc1ca691095e3a7d6dfdcf">comment 7</a>--</div>--<div class="inlinecontent">-<p>$(brew --prefix) should, in most cases, be /usr/local.  That's the recommended install location for homebrew.</p>--<p>I already had git installed and homebrew as my package manager - my install steps were as follows:</p>--<ol>-<li>brew install haskell-platform ossp-uuid md5sha1sum coreutils pcre</li>-<li>PATH="$(brew --prefix coreutils)/libexec/gnubin:$PATH" cabal install git-annex</li>-</ol>----</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="http://www.davidhaslem.com/">David</a>-</span>---&mdash; <span class="date">Tue Jun 19 00:41:27 2012</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-0df38bf685f581faa89d53db56b7c822">----<div class="comment-subject">--<a href="/install/OSX/old_comments.html#comment-0df38bf685f581faa89d53db56b7c822">Installation not working on OS X 10.6.8</a>--</div>--<div class="inlinecontent">-<p>I try installing with brew because I already had brew setup in my machine, but all run ok but when I try to run cabal install git-annex I got an error with the hinotify-0.3.2 library complaining about a header file.</p>--<p>Full trace:</p>--<pre><code>sudo cabal install git-annex-Resolving dependencies...-Configuring hinotify-0.3.2...-Building hinotify-0.3.2...-Preprocessing library hinotify-0.3.2...-INotify.hsc:35:25: error: sys/inotify.h: No such file or directory-INotify.hsc: In function ‘main’:-INotify.hsc:259: error: invalid use of undefined type ‘struct inotify_event’-INotify.hsc:260: error: invalid use of undefined type ‘struct inotify_event’-INotify.hsc:261: error: invalid use of undefined type ‘struct inotify_event’-INotify.hsc:262: error: invalid use of undefined type ‘struct inotify_event’-INotify.hsc:265: error: invalid use of undefined type ‘struct inotify_event’-INotify.hsc:266: error: invalid application of ‘sizeof’ to incomplete type ‘struct inotify_event’ -compiling dist/build/System/INotify_hsc_make.c failed (exit code 1)-command was: /usr/bin/gcc -c dist/build/System/INotify_hsc_make.c -o dist/build/System/INotify_hsc_make.o -m64 -fno-stack-protector -m64 -D__GLASGOW_HASKELL__=704 -Ddarwin_BUILD_OS -Ddarwin_HOST_OS -Dx86_64_BUILD_ARCH -Dx86_64_HOST_ARCH -I/usr/local/Cellar/ghc/7.4.1/lib/ghc-7.4.1/directory-1.1.0.2/include -Idist/build/autogen -include dist/build/autogen/cabal_macros.h -I/usr/local/Cellar/ghc/7.4.1/lib/ghc-7.4.1/unix-2.5.1.0/include -Idist/build/autogen -include dist/build/autogen/cabal_macros.h -I/usr/local/Cellar/ghc/7.4.1/lib/ghc-7.4.1/old-time-1.1.0.0/include -Idist/build/autogen -include dist/build/autogen/cabal_macros.h -Idist/build/autogen -include dist/build/autogen/cabal_macros.h -Idist/build/autogen -include dist/build/autogen/cabal_macros.h -Idist/build/autogen -include dist/build/autogen/cabal_macros.h -Idist/build/autogen -include dist/build/autogen/cabal_macros.h -I/usr/local/Cellar/ghc/7.4.1/lib/ghc-7.4.1/bytestring-0.9.2.1/include -Idist/build/autogen -include dist/build/autogen/cabal_macros.h -Idist/build/autogen -include dist/build/autogen/cabal_macros.h -I/usr/local/Cellar/ghc/7.4.1/lib/ghc-7.4.1/base-4.5.0.0/include -Idist/build/autogen -include dist/build/autogen/cabal_macros.h -Idist/build/autogen -include dist/build/autogen/cabal_macros.h -Idist/build/autogen -include dist/build/autogen/cabal_macros.h -I/usr/local/Cellar/ghc/7.4.1/lib/ghc-7.4.1/include -Idist/build/autogen -include dist/build/autogen/cabal_macros.h -I/usr/local/Cellar/ghc/7.4.1/lib/ghc-7.4.1/include/-cabal: Error: some packages failed to install:-git-annex-3.20120624 depends on hinotify-0.3.2 which failed to install.-hinotify-0.3.2 failed during the building phase. The exception was:-ExitFailure 1-</code></pre>--<p>Anyone has an idea how can I solve this.</p>--<p>Thanks for the time!</p>--<p>Agustin</p>---</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="https://www.google.com/accounts/o8/id?id=AItOawkwR9uOA38yi5kEUvcEWNtRiZwpxXskayE">Agustin</a>-</span>---&mdash; <span class="date">Sun Jun 24 22:21:40 2012</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-b0bf9f1a297825c604e834089163914f">----<div class="comment-subject">--<a href="/install/OSX/old_comments.html#comment-b0bf9f1a297825c604e834089163914f">For the moment</a>--</div>--<div class="inlinecontent">-<p>Hi Joey! I just comment that I could not install it but the issue is with the last version (the one you just release today, so no problem!! man on sunday??  you're awesome!!!) so I installed the previous one and no problem at all</p>--<p>Thanks for all the efford and if you need me to try os whatever, feel free to ask!</p>--<p>Thanks again</p>--<p>Agustin</p>---</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="https://www.google.com/accounts/o8/id?id=AItOawkwR9uOA38yi5kEUvcEWNtRiZwpxXskayE">Agustin</a>-</span>---&mdash; <span class="date">Sun Jun 24 22:51:10 2012</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-0b52e9f25b4ca44a866811ab34a04f4f">----<div class="comment-subject">--<a href="/install/OSX/old_comments.html#comment-0b52e9f25b4ca44a866811ab34a04f4f">comment 10</a>--</div>--<div class="inlinecontent">-<p>@Agustin you should be able to work around that with: cabal install git-annex --flags=-Inotify</p>--<p>I've fixed it properly for the next release, it should only be using that library on Linux.</p>---</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="http://joeyh.name/">joeyh.name</a>-</span>---&mdash; <span class="date">Mon Jun 25 11:38:44 2012</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-c2bce799be5d46f0c8d11d29bb0701bb">----<div class="comment-subject">--<a href="/install/OSX/old_comments.html#comment-c2bce799be5d46f0c8d11d29bb0701bb">comment 11</a>--</div>--<div class="inlinecontent">-<p>Hi @joey! Perfect!... I'll do that then!</p>--<p>Thanks for your time man!</p>---</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="https://www.google.com/accounts/o8/id?id=AItOawkwR9uOA38yi5kEUvcEWNtRiZwpxXskayE">Agustin</a>-</span>---&mdash; <span class="date">Wed Jun 27 04:54:52 2012</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-a55d19fc545fb19ed20d50356f6408be">----<div class="comment-subject">--<a href="/install/OSX/old_comments.html#comment-a55d19fc545fb19ed20d50356f6408be">sha256 alternative</a>--</div>--<div class="inlinecontent">-in reply to comment 6: On my Mac (10.7.4) there's <code>/usr/bin/shasum -a 256 &lt;file&gt;</code> command that will produce the same output as <code>sha256sum &lt;file&gt;</code>.--</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="https://www.google.com/accounts/o8/id?id=AItOawnHrjHxJAm39x8DR4bnbazQO6H0nMNuY9c">Damien</a>-</span>---&mdash; <span class="date">Sat Jun 30 10:34:11 2012</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-b6b3ce0c754e8804580de797f701b790">----<div class="comment-subject">--<a href="/install/OSX/old_comments.html#comment-b6b3ce0c754e8804580de797f701b790">gnu commands</a>--</div>--<div class="inlinecontent">-…and another approach to the same problem: apparently git-annex also relies on the GNU coreutils (for instance, when doing <code>git annex get .</code>, <code>cp</code> complains about <code>illegal option -- -</code>). I do have the GNU coreutils installed with Homebrew, but they are all prefixed with <code>g</code>. So maybe you should try <code>gsha256sum</code> and <code>gcp</code> before <code>sha256sum</code> and <code>cp</code>, that seems like a more general solution.--</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="https://www.google.com/accounts/o8/id?id=AItOawnHrjHxJAm39x8DR4bnbazQO6H0nMNuY9c">Damien</a>-</span>---&mdash; <span class="date">Sun Jul  1 13:03:57 2012</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-26c49c4895b59009a9268394f693c547">----<div class="comment-subject">--<a href="/install/OSX/old_comments.html#comment-26c49c4895b59009a9268394f693c547">comment 14</a>--</div>--<div class="inlinecontent">-@Damien, hmm, it should not be using any cp options, unless when it was built there was a cp in the path that supported some option like -p. Can you check with --debug what cp parameters it's trying to use?--</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="http://joeyh.name/">joeyh.name</a>-</span>---&mdash; <span class="date">Wed Jul  4 08:43:54 2012</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-94b0f0ba446ca2f1ebd6af44c7afd3be">----<div class="comment-subject">--<a href="/install/OSX/old_comments.html#comment-94b0f0ba446ca2f1ebd6af44c7afd3be">comment 15</a>--</div>--<div class="inlinecontent">-<p>git-annex will now fall back to slower pure Haskell hashing code if <code>sha256sum</code>, etc programs are not in PATH. I'd still recommend installing the coreutils, as they're probably faster.</p>--<p>(The <code>shasum</code> command seems to come from a perl library, so I have not tried to make git-annex use that one.)</p>---</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="http://joeyh.name/">joeyh.name</a>-</span>---&mdash; <span class="date">Wed Jul  4 09:14:00 2012</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-0c3f7ab2e57d317f5978c7d11e4ed5db">----<div class="comment-subject">--<a href="/install/OSX/old_comments.html#comment-0c3f7ab2e57d317f5978c7d11e4ed5db">Compiling git-annex on OSX (with 32 bit Haskell)</a>--</div>--<div class="inlinecontent">-<p>I came across an issue when following the instructions here:-     <a href="http://git-annex.branchable.com/install/OSX/">http://git-annex.branchable.com/install/OSX/</a></p>--<p>I'm compiling the 'assistant' branch (522f568450a005ae81b24f63bb37e75320b51219).</p>--<p>The pre-compiled version of Haskell for OSX recommends the 32 bit installer, however git-annex compiles</p>--<blockquote><p> Utility/libdiskfree.o Utility/libkqueue.o Utility/libmounts.o</p></blockquote>--<p>as 64 bit. The 'make' command fails on linking 32- and 64-bit code.</p>--<p>So... I made a small change to the Makefile</p>--<blockquote><p> CFLAGS=-Wall</p></blockquote>--<p>becomes</p>--<blockquote><p> CFLAGS=-Wall -m32</p></blockquote>--<p>I don't know if there is an easy way to programmatically check for this, or even if you'd want to spend time doing it, but it might help someone else out.</p>--<p><a href="https://gist.github.com/3167798">https://gist.github.com/3167798</a></p>---</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="https://a-or-b.myopenid.com/">a-or-b [myopenid.com]</a>-</span>---&mdash; <span class="date">Mon Jul 23 23:26:45 2012</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-c78ed188b791f816f43d99c31a9f732a">----<div class="comment-subject">--<a href="/install/OSX/old_comments.html#comment-c78ed188b791f816f43d99c31a9f732a">comment 17</a>--</div>--<div class="inlinecontent">-@a-or-b that issue is logged here <span class="createlink">subtle build issue on OSX 10.7 and Haskell Platform &#40;if you have the 32bit version installed&#41;</span>, you can use cabal to build and install git-annex and it will detect if its 32 or 64bit automatically.--</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="https://www.google.com/accounts/o8/id?id=AItOawkSq2FDpK2n66QRUxtqqdbyDuwgbQmUWus">Jimmy</a>-</span>---&mdash; <span class="date">Tue Jul 24 02:33:13 2012</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-b5d0bb56471bdbc4fa0198cf0ade7a6e">----<div class="comment-subject">--<a href="/install/OSX/old_comments.html#comment-b5d0bb56471bdbc4fa0198cf0ade7a6e">comment 17</a>--</div>--<div class="inlinecontent">-The instructions say to use cabal for a reason -- it's more likely to work. But I have made the Makefile detect the mismatched GHC and C compiler and force the C compiler to 32 bit.--</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="http://joeyh.name/">joeyh.name</a>-</span>---&mdash; <span class="date">Tue Jul 24 11:03:49 2012</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-525d8f096d28c4319a574f67429fbb83">----<div class="comment-subject">--<a href="/install/OSX/old_comments.html#comment-525d8f096d28c4319a574f67429fbb83">Updated install instructions with homebrew</a>--</div>--<div class="inlinecontent">-<p>To install git annex with homebrew simply do:</p>--<pre><code>brew update-brew install haskell-platform git ossp-uuid md5sha1sum coreutils pcre-cabal install git-annex-</code></pre>--<p>Then link the binary to your <code>PATH</code> e.g. with</p>--<pre><code>ln -s ~/.cabal/bin/git-annex* /usr/local/bin/-</code></pre>---</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="https://www.google.com/accounts/o8/id?id=AItOawnnIQkoUQo4RYzjUNyiB3v6yJ5aR41WG8k">Markus</a>-</span>---&mdash; <span class="date">Tue Aug  7 02:46:47 2012</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-9d50985b2f44a90a8a908e941cd158e3">----<div class="comment-subject">--<a href="/install/OSX/old_comments.html#comment-9d50985b2f44a90a8a908e941cd158e3">installing via homebrew</a>--</div>--<div class="inlinecontent">-<p>I had to:</p>--<pre><code>cabal update-</code></pre>--<p>before:</p>--<pre><code>cabal install git-annex-</code></pre>---</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="https://www.google.com/accounts/o8/id?id=AItOawm_-2XlXNyd6cCLI4n_jaBNqVUOWwJquko">David</a>-</span>---&mdash; <span class="date">Wed Sep  5 07:11:55 2012</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-b503b0ed9bd233d1345619157e8a8044">----<div class="comment-subject">--<a href="/install/OSX/old_comments.html#comment-b503b0ed9bd233d1345619157e8a8044">setup: standalone/macos/git-annex.app/Contents/Info.plist: does not exist</a>--</div>--<div class="inlinecontent">-<p>I tried installing with cabal and homebrew on Mountain Lion. After cabal install git-annex I get:</p>--<pre><code>Linking dist/build/git-annex/git-annex ...-Installing executable(s) in /Users/dfc/.cabal/bin-setup: standalone/macos/git-annex.app/Contents/Info.plist: does not exist-cabal: Error: some packages failed to install:-git-annex-3.20121001 failed during the final install step. The exception was:-ExitFailure 1-</code></pre>--<p>There is no directory named macos inside of standalone:</p>--<pre><code>jumbo:git-annex-3.20121001 dfc$ ls -l standalone/-total 112--rw-r--r--+ 1 dfc  staff  55614 Oct  6 10:40 licences.gz-drwxr-xr-x+ 6 dfc  staff    204 Oct  6 10:40 linux-drwxr-xr-x+ 3 dfc  staff    102 Oct  6 10:40 osx-</code></pre>---</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="https://www.google.com/accounts/o8/id?id=AItOawmYiJgOvC4IDYkr2KIjMlfVD9r_1Sij_jY">Douglas</a>-</span>---&mdash; <span class="date">Sat Oct  6 10:46:55 2012</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-c55fdde601948626c4e865ff8904ee91">----<div class="comment-subject">--<a href="/install/OSX/old_comments.html#comment-c55fdde601948626c4e865ff8904ee91">comment 3</a>--</div>--<div class="inlinecontent">-@Douglas, I've fixed that in git. FWIW, the program is installed before that point. Actually, I am leaning toward not having cabal install that plist file at all.--</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="http://joeyh.name/">joeyh.name</a>-</span>---&mdash; <span class="date">Sat Oct  6 17:05:45 2012</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-06067182f20c86b8047abe61e04427de">----<div class="comment-subject">--<a href="/install/OSX/old_comments.html#comment-06067182f20c86b8047abe61e04427de">Have error</a>--</div>--<div class="inlinecontent">-<p>[ 98 of 248] Compiling Utility.DiskFree ( Utility/DiskFree.hs, dist/build/git-annex/git-annex-tmp/Utility/DiskFree.o )-[ 99 of 248] Compiling Utility.Url      ( Utility/Url.hs, dist/build/git-annex/git-annex-tmp/Utility/Url.o )</p>--<p>Utility/Url.hs:111:88:-    Couldn't match expected type <code>Maybe URI' with actual type</code>URI'-    In the second argument of <code>fromMaybe', namely-     </code>(newURI <code>relativeTo</code> u)'-    In the expression: fromMaybe newURI (newURI <code>relativeTo</code> u)-    In an equation for <code>newURI_abs':-        newURI_abs = fromMaybe newURI (newURI</code>relativeTo` u)-cabal: Error: some packages failed to install:-git-annex-3.20121009 failed during the building phase. The exception was:-ExitFailure 1</p>---</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="https://www.google.com/accounts/o8/id?id=AItOawmY_4MvT5yEeztrS7UIJseStUe4mtgp6YE">Сергей</a>-</span>---&mdash; <span class="date">Wed Oct 10 07:47:09 2012</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-9d6f429133a48216d6221a142be6ac00">----<div class="comment-subject">--<a href="/install/OSX/old_comments.html#comment-9d6f429133a48216d6221a142be6ac00">comment 5</a>--</div>--<div class="inlinecontent">-@Сергей, I've fixeed that in git.--</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="http://joeyh.name/">joeyh.name</a>-</span>---&mdash; <span class="date">Wed Oct 10 11:34:23 2012</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-16d90d6909cb4c68581d22e1c3eb06e2">----<div class="comment-subject">--<a href="/install/OSX/old_comments.html#comment-16d90d6909cb4c68581d22e1c3eb06e2">Recent install for OS X</a>--</div>--<div class="inlinecontent">-<p>if you are having trouble installing with <code>cabal install git-annex</code> at the moment, trouble of the XML kind, you'll need to do a couple things:</p>--<p><code>brew update</code>-<code>brew install libxml2</code>-<code>cabal update</code>-<code>cabal install libxml --extra-include-dirs=/usr/local/Cellar/libxml2/2.8.0/include/libxml2 --extra-lib-dirs=/usr/local/Cellar/libxml2/2.8.0/lib</code></p>--<p>well, then i hit a brick wall.</p>--<p>well.</p>--<p>I got it to work by manually symlinking from <code>../Cellar/libxml2/2.8.0/lib/</code>* into <code>/usr/local</code> and from <code>../../Cellar/libxml2/2.8.0/lib/</code> to <code>/usr/local/pkgconfig</code>, but i can't recommend it or claim to be too proud about it all.</p>--<p>OS X already has an old libxml knocking around so this might ruin everything for me.</p>--<p>let's find out !</p>---</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="https://www.google.com/accounts/o8/id?id=AItOawnBEsNDl_6O4rHb2en3I0-fg-6fUxglaRQ">chee</a>-</span>---&mdash; <span class="date">Tue Nov 13 00:40:05 2012</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-b7ce66fb2716c8b5b210137372be2857">----<div class="comment-subject">--<a href="/install/OSX/old_comments.html#comment-b7ce66fb2716c8b5b210137372be2857">comment 10</a>--</div>--<div class="inlinecontent">-<p>Installing it with brew, I had to do the following steps before the final <code>cabal</code> command:</p>--<ul>-<li><code>cabal install c2hs</code></li>-<li>add <code>$HOME/.cabal/bin</code> to my <code>$PATH</code> (so that c2hs program can be found)</li>-</ul>----</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="https://www.google.com/accounts/o8/id?id=AItOawkp-1EQboBDqZ05MxOHNkwNQDM4luWYioA">Charles</a>-</span>---&mdash; <span class="date">Thu Nov 15 09:26:57 2012</span>-</div>----<div style="clear: both"></div>-</div>-----<div class="addcomment">Comments on this page are closed.</div>--</div>----</div>--<div id="footer" class="pagefooter">--<div id="pageinfo">-------<div id="backlinks">-Links:--<a href="./comment_2_25552ff2942048fafe97d653757f1ad6.html">comment 2 25552ff2942048fafe97d653757f1ad6</a>---</div>-------<div class="pagedate">-Last edited <span class="date">Sat May  4 11:06:45 2013</span>-<!-- Created <span class="date">Sat May  4 11:06:45 2013</span> -->-</div>--</div>---<!-- from git-annex -->-</div>--</div>--</body>-</html>
− debian/git-annex/usr/share/doc/git-annex/html/install/ScientificLinux5.html
@@ -1,195 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">-<html xmlns="http://www.w3.org/1999/xhtml">--<head>--<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />-<title>ScientificLinux5</title>--<link rel="stylesheet" href="../style.css" type="text/css" />--<link rel="stylesheet" href="../local.css" type="text/css" />-------</head>-<body>--<div class="page">--<div class="pageheader">-<div class="header">-<span>-<span class="parentlinks">--<a href="../index.html">git-annex</a>/ --<a href="../install.html">install</a>/ --</span>-<span class="title">-ScientificLinux5--</span>-</span>--</div>--------</div>---<div class="sidebar">-<p><img src="../logo_small.png" width="150" height="115" class="img" /></p>--<ul>-<li><a href="../install.html">install</a></li>-<li><a href="../assistant.html">assistant</a></li>-<li><a href="../walkthrough.html">walkthrough</a></li>-<li><a href="../tips.html">tips</a></li>-<li><span class="createlink">bugs</span></li>-<li><span class="createlink">todo</span></li>-<li><span class="createlink">forum</span></li>-<li><a href="../comments.html">comments</a></li>-<li><a href="../contact.html">contact</a></li>-<li><a href="http://flattr.com/thing/84843/git-annex"><img src="https://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" /></a></li>-</ul>---</div>---<div id="pagebody">--<div id="content">-<p>I was waiting for my backups to be done hence this article, as I was using-<em>git-annex</em> to manage my files and I decided I needed to have-git-annex on a SL5 based machine. SL5 is just an opensource-clone/recompile of RHEL5.</p>--<p>I haven't tried to install the newer versions of Haskell Platform and-GHC in a while on SL5 to install git-annex. But the last time I checked-when GHC7 was out, it was a pain to install GHC on SL5.</p>--<p>However I have discovered that someone has gone through the trouble of-packaging up GHC and Haskell Platform for RHEL based distros.</p>--<ul>-<li><a href="http://justhub.org/download">http://justhub.org/download</a> - Packaged GHC and Haskell Platform-RPM's for RHEL based systems.</li>-</ul>---<p>I'm primarily interested in installing <em>git-annex</em> on SL5 based-systems. The installation process goes as such...</p>--<p>First install GHC and Haskell Platform (you need root for these-following steps)</p>--<pre><code>$ wget http://sherkin.justhub.org/el5/RPMS/x86_64/justhub-release-2.0-4.0.el5.x86_64.rpm-$ rpm -ivh justhub-release-2.0-4.0.el5.x86_64.rpm-$ yum install haskell-</code></pre>--<p>The RPM's don't place the files in /usr/bin, so you must add the-following to your .bashrc (from here on you don't need root if you-don't want things to be system wide)</p>--<pre><code>$ export PATH=/usr/hs/bin:$PATH-</code></pre>--<p>Once the packages are installed and are in your execution path, using-cabal to configure and build git-annex just makes life easier, it-should install all the needed dependancies.</p>--<pre><code>$ cabal update-$ git clone git://git.kitenet.net/git-annex-$ cd git-annex-$ make git-annex.1-$ cabal configure-$ cabal build-$ cabal install-</code></pre>--<p>Or if you want to install it globallly for everyone (otherwise it will-get installed into $HOME/.cabal/bin)</p>--<pre><code>$ cabal install --global-</code></pre>--<p>The above will take a while to compile and install the needed-dependancies. I would suggest any user who does should run the tests-that comes with git-annex to make sure everything is functioning as-expected.</p>--<p>I haven't had a chance or need to install git-annex on a SL6 based-system yet, but I would assume something similar to the above steps-would be required to do so.</p>--<p>The above is almost a cut and paste of <a href="http://jcftang.github.com/2012/06/15/installing-git-annex-on-sl5/">http://jcftang.github.com/2012/06/15/installing-git-annex-on-sl5/</a>, the above could probably be refined, it was what worked for me on SL5. Please feel free to re-edit and chop out or add useless bits of text in the above!</p>--<p>Note: from the minor testing, it appears the compiled binaries from SL5 will work on SL6.</p>--</div>----<div id="comments">-----<div class="addcomment">Comments on this page are closed.</div>--</div>----</div>--<div id="footer" class="pagefooter">--<div id="pageinfo">-------<div id="backlinks">-Links:--<a href="../install.html">install</a>---</div>-------<div class="pagedate">-Last edited <span class="date">Sat May  4 11:06:45 2013</span>-<!-- Created <span class="date">Sat May  4 11:06:45 2013</span> -->-</div>--</div>---<!-- from git-annex -->-</div>--</div>--</body>-</html>
− debian/git-annex/usr/share/doc/git-annex/html/install/Ubuntu.html
@@ -1,161 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">-<html xmlns="http://www.w3.org/1999/xhtml">--<head>--<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />-<title>Ubuntu</title>--<link rel="stylesheet" href="../style.css" type="text/css" />--<link rel="stylesheet" href="../local.css" type="text/css" />-------</head>-<body>--<div class="page">--<div class="pageheader">-<div class="header">-<span>-<span class="parentlinks">--<a href="../index.html">git-annex</a>/ --<a href="../install.html">install</a>/ --</span>-<span class="title">-Ubuntu--</span>-</span>--</div>--------</div>---<div class="sidebar">-<p><img src="../logo_small.png" width="150" height="115" class="img" /></p>--<ul>-<li><a href="../install.html">install</a></li>-<li><a href="../assistant.html">assistant</a></li>-<li><a href="../walkthrough.html">walkthrough</a></li>-<li><a href="../tips.html">tips</a></li>-<li><span class="createlink">bugs</span></li>-<li><span class="createlink">todo</span></li>-<li><span class="createlink">forum</span></li>-<li><a href="../comments.html">comments</a></li>-<li><a href="../contact.html">contact</a></li>-<li><a href="http://flattr.com/thing/84843/git-annex"><img src="https://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" /></a></li>-</ul>---</div>---<div id="pagebody">--<div id="content">-<h2>Raring</h2>--<pre><code>sudo apt-get install git-annex-</code></pre>--<h2>Precise</h2>--<pre><code>sudo apt-get install git-annex-</code></pre>--<p>Note: This version is too old to include the <a href="../assistant.html">assistant</a>, but is otherwise-usable.</p>--<h2>Precise PPA</h2>--<p><a href="https://launchpad.net/~fmarier/+archive/ppa">https://launchpad.net/~fmarier/+archive/ppa</a></p>--<p>A newer version of git-annex, including the <a href="../assistant.html">assistant</a>.-(Maintained by François Marier)</p>--<pre><code>sudo add-apt-repository ppa:fmarier/ppa-sudo apt-get update-sudo apt-get install git-annex-</code></pre>--<h2>Oneiric</h2>--<pre><code>sudo apt-get install git-annex-</code></pre>--<p>Warning: The version of git-annex shipped in Ubuntu Oneiric-had <a href="https://bugs.launchpad.net/ubuntu/+source/git-annex/+bug/875958">a bug that prevents upgrades from v1 git-annex repositories</a>.-If you need to upgrade such a repository, get a newer version of git-annex.</p>--</div>----<div id="comments">-----<div class="addcomment">Comments on this page are closed.</div>--</div>----</div>--<div id="footer" class="pagefooter">--<div id="pageinfo">-------<div id="backlinks">-Links:--<a href="../install.html">install</a>---</div>-------<div class="pagedate">-Last edited <span class="date">Sat May  4 11:06:45 2013</span>-<!-- Created <span class="date">Sat May  4 11:06:45 2013</span> -->-</div>--</div>---<!-- from git-annex -->-</div>--</div>--</body>-</html>
− debian/git-annex/usr/share/doc/git-annex/html/install/cabal.html
@@ -1,149 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">-<html xmlns="http://www.w3.org/1999/xhtml">--<head>--<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />-<title>cabal</title>--<link rel="stylesheet" href="../style.css" type="text/css" />--<link rel="stylesheet" href="../local.css" type="text/css" />-------</head>-<body>--<div class="page">--<div class="pageheader">-<div class="header">-<span>-<span class="parentlinks">--<a href="../index.html">git-annex</a>/ --<a href="../install.html">install</a>/ --</span>-<span class="title">-cabal--</span>-</span>--</div>--------</div>---<div class="sidebar">-<p><img src="../logo_small.png" width="150" height="115" class="img" /></p>--<ul>-<li><a href="../install.html">install</a></li>-<li><a href="../assistant.html">assistant</a></li>-<li><a href="../walkthrough.html">walkthrough</a></li>-<li><a href="../tips.html">tips</a></li>-<li><span class="createlink">bugs</span></li>-<li><span class="createlink">todo</span></li>-<li><span class="createlink">forum</span></li>-<li><a href="../comments.html">comments</a></li>-<li><a href="../contact.html">contact</a></li>-<li><a href="http://flattr.com/thing/84843/git-annex"><img src="https://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" /></a></li>-</ul>---</div>---<div id="pagebody">--<div id="content">-<p>As a haskell package, git-annex can be installed using cabal. For example:</p>--<pre><code>cabal update-PATH=$HOME/bin:$PATH-cabal install c2hs git-annex --bindir=$HOME/bin-</code></pre>--<p>The above downloads the latest release and installs it into a ~/bin/-directory, which you can put in your PATH.</p>--<p>But maybe you want something newer (or older). Then <a href="../download.html">download</a> the version-you want, and use cabal as follows inside its source tree:</p>--<pre><code>cabal update-PATH=$HOME/bin:$PATH-cabal install c2hs --bindir=$HOME/bin-cabal install --only-dependencies-cabal configure-cabal build-cabal install --bindir=$HOME/bin-</code></pre>--</div>----<div id="comments">-----<div class="addcomment">Comments on this page are closed.</div>--</div>----</div>--<div id="footer" class="pagefooter">--<div id="pageinfo">-------<div id="backlinks">-Links:--<a href="../install.html">install</a>---</div>-------<div class="pagedate">-Last edited <span class="date">Sat May  4 11:06:45 2013</span>-<!-- Created <span class="date">Sat May  4 11:06:45 2013</span> -->-</div>--</div>---<!-- from git-annex -->-</div>--</div>--</body>-</html>
− debian/git-annex/usr/share/doc/git-annex/html/install/fromscratch.html
@@ -1,213 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">-<html xmlns="http://www.w3.org/1999/xhtml">--<head>--<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />-<title>fromscratch</title>--<link rel="stylesheet" href="../style.css" type="text/css" />--<link rel="stylesheet" href="../local.css" type="text/css" />-------</head>-<body>--<div class="page">--<div class="pageheader">-<div class="header">-<span>-<span class="parentlinks">--<a href="../index.html">git-annex</a>/ --<a href="../install.html">install</a>/ --</span>-<span class="title">-fromscratch--</span>-</span>--</div>--------</div>---<div class="sidebar">-<p><img src="../logo_small.png" width="150" height="115" class="img" /></p>--<ul>-<li><a href="../install.html">install</a></li>-<li><a href="../assistant.html">assistant</a></li>-<li><a href="../walkthrough.html">walkthrough</a></li>-<li><a href="../tips.html">tips</a></li>-<li><span class="createlink">bugs</span></li>-<li><span class="createlink">todo</span></li>-<li><span class="createlink">forum</span></li>-<li><a href="../comments.html">comments</a></li>-<li><a href="../contact.html">contact</a></li>-<li><a href="http://flattr.com/thing/84843/git-annex"><img src="https://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" /></a></li>-</ul>---</div>---<div id="pagebody">--<div id="content">-<p>To install git-annex from scratch, you need a lot of stuff. Really-quite a lot.</p>--<ul>-<li>Haskell stuff--<ul>-<li><a href="http://haskell.org/platform/">The Haskell Platform</a> (GHC 7.4 or newer)</li>-<li><a href="http://hackage.haskell.org.package/mtl">mtl</a> (2.1.1 or newer)</li>-<li><a href="http://github.com/jgoerzen/missingh/wiki">MissingH</a></li>-<li><a href="http://hackage.haskell.org/package/utf8-string">utf8-string</a></li>-<li><a href="http://hackage.haskell.org/package/SHA">SHA</a></li>-<li><a href="http://hackage.haskell.org/package/dataenc">dataenc</a></li>-<li><a href="http://hackage.haskell.org/package/monad-control">monad-control</a></li>-<li><a href="http://hackage.haskell.org/package/lifted-base">lifted-base</a></li>-<li><a href="http://hackage.haskell.org/package/QuickCheck">QuickCheck 2</a></li>-<li><a href="http://hackage.haskell.org/package/json">json</a></li>-<li><a href="http://hackage.haskell.org/package/IfElse">IfElse</a></li>-<li><a href="http://hackage.haskell.org/package/dlist">dlist</a></li>-<li><a href="http://hackage.haskell.org/package/bloomfilter">bloomfilter</a></li>-<li><a href="http://hackage.haskell.org/package/edit-distance">edit-distance</a></li>-<li><a href="http://hackage.haskell.org/package/hS3">hS3</a> (optional)</li>-<li><a href="http://hackage.haskell.org/package/DAV">DAV</a> (optional)</li>-<li><a href="http://hackage.haskell.org/package/SafeSemaphore">SafeSemaphore</a></li>-<li><a href="http://hackage.haskell.org/package/uuid">UUID</a></li>-<li><a href="http://hackage.haskell.org/package/regex-tdfa">regex-tdfa</a></li>-</ul>-</li>-<li>Optional haskell stuff, used by the <a href="../assistant.html">assistant</a> and its webapp (edit Makefile to disable)--<ul>-<li><a href="http://hackage.haskell.org/package/stm">stm</a>-(version 2.3 or newer)</li>-<li><a href="http://hackage.haskell.org/package/hinotify">hinotify</a>-(Linux only)</li>-<li><a href="http://hackage.haskell.org/package/dbus">dbus</a></li>-<li><a href="http://hackage.haskell.org/package/yesod">yesod</a></li>-<li><a href="http://hackage.haskell.org/package/yesod-static">yesod-static</a></li>-<li><a href="http://hackage.haskell.org/package/yesod-default">yesod-default</a></li>-<li><a href="http://hackage.haskell.org/package/data-default">data-default</a></li>-<li><a href="http://hackage.haskell.org/package/case-insensitive">case-insensitive</a></li>-<li><a href="http://hackage.haskell.org/package/http-types">http-types</a></li>-<li><a href="http://hackage.haskell.org/package/transformers">transformers</a></li>-<li><a href="http://hackage.haskell.org/package/wai">wai</a></li>-<li><a href="http://hackage.haskell.org/package/wai-logger">wai-logger</a></li>-<li><a href="http://hackage.haskell.org/package/warp">warp</a></li>-<li><a href="http://hackage.haskell.org/package/blaze-builder">blaze-builder</a></li>-<li><a href="http://hackage.haskell.org/package/crypto-api">crypto-api</a></li>-<li><a href="http://hackage.haskell.org/package/hamlet">hamlet</a></li>-<li><a href="http://hackage.haskell.org/package/clientsession">clientsession</a></li>-<li><a href="http://hackage.haskell.org/package/network-multicast">network-multicast</a></li>-<li><a href="http://hackage.haskell.org/package/network-info">network-info</a></li>-<li><a href="http://hackage.haskell.org/package/network-protocol-xmpp">network-protocol-xmpp</a></li>-<li><a href="http://hackage.haskell.org/package/dns">dns</a></li>-<li><a href="http://hackage.haskell.org/package/xml-types">xml-types</a></li>-<li><a href="http://hackage.haskell.org/package/async">async</a></li>-<li><a href="http://hackage.haskell.org/package/HTTP">HTTP</a></li>-</ul>-</li>-<li>Shell commands--<ul>-<li><a href="http://git-scm.com/">git</a></li>-<li><a href="http://savannah.gnu.org/projects/findutils/">xargs</a></li>-<li><a href="http://rsync.samba.org/">rsync</a></li>-<li><a href="http://http://curl.haxx.se/">curl</a> (optional, but recommended)</li>-<li><a href="http://www.gnu.org/software/wget/">wget</a> (optional)</li>-<li><a href="ftp://ftp.gnu.org/gnu/coreutils/">sha1sum</a> (optional, but recommended;-a sha1 command will also do)</li>-<li><a href="http://gnupg.org/">gpg</a> (optional; needed for encryption)</li>-<li><a href="ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/">lsof</a>-(optional; recommended for watch mode)</li>-<li>multicast DNS support, provided on linux by <a href="http://www.0pointer.de/lennart/projects/nss-mdns/">nss-mdns</a>-(optional; recommended for the assistant to support pairing well)</li>-<li><a href="http://ikiwiki.info">ikiwiki</a> (optional; used to build the docs)</li>-</ul>-</li>-</ul>---<p>Then just <a href="../download.html">download</a> git-annex and run: <code>make; make install</code></p>--</div>----<div id="comments">-----<div class="addcomment">Comments on this page are closed.</div>--</div>----</div>--<div id="footer" class="pagefooter">--<div id="pageinfo">-------<div id="backlinks">-Links:--<a href="./Android.html">Android</a>--<a href="./Linux_standalone.html">Linux standalone</a>--<a href="../install.html">install</a>---</div>-------<div class="pagedate">-Last edited <span class="date">Sat May  4 11:06:45 2013</span>-<!-- Created <span class="date">Sat May  4 11:06:45 2013</span> -->-</div>--</div>---<!-- from git-annex -->-</div>--</div>--</body>-</html>
− debian/git-annex/usr/share/doc/git-annex/html/install/openSUSE.html
@@ -1,131 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">-<html xmlns="http://www.w3.org/1999/xhtml">--<head>--<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />-<title>openSUSE</title>--<link rel="stylesheet" href="../style.css" type="text/css" />--<link rel="stylesheet" href="../local.css" type="text/css" />-------</head>-<body>--<div class="page">--<div class="pageheader">-<div class="header">-<span>-<span class="parentlinks">--<a href="../index.html">git-annex</a>/ --<a href="../install.html">install</a>/ --</span>-<span class="title">-openSUSE--</span>-</span>--</div>--------</div>---<div class="sidebar">-<p><img src="../logo_small.png" width="150" height="115" class="img" /></p>--<ul>-<li><a href="../install.html">install</a></li>-<li><a href="../assistant.html">assistant</a></li>-<li><a href="../walkthrough.html">walkthrough</a></li>-<li><a href="../tips.html">tips</a></li>-<li><span class="createlink">bugs</span></li>-<li><span class="createlink">todo</span></li>-<li><span class="createlink">forum</span></li>-<li><a href="../comments.html">comments</a></li>-<li><a href="../contact.html">contact</a></li>-<li><a href="http://flattr.com/thing/84843/git-annex"><img src="https://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" /></a></li>-</ul>---</div>---<div id="pagebody">--<div id="content">-<p>Haskell Platform 2012.4 is now <a href="http://software.opensuse.org/package/haskell-platform">officially available for openSUSE</a> via 1-Click Install.</p>--<p>At the time of writing, there are <a href="http://software.opensuse.org/package/git-annex">unofficial packages of git-annex</a> available for openSUSE 12.2.  It should also be possible to build it via cabal or from source as described on the <a href="../install.html">install</a> page.</p>--</div>----<div id="comments">-----<div class="addcomment">Comments on this page are closed.</div>--</div>----</div>--<div id="footer" class="pagefooter">--<div id="pageinfo">-------<div id="backlinks">-Links:--<a href="../install.html">install</a>---</div>-------<div class="pagedate">-Last edited <span class="date">Sat May  4 11:06:45 2013</span>-<!-- Created <span class="date">Sat May  4 11:06:45 2013</span> -->-</div>--</div>---<!-- from git-annex -->-</div>--</div>--</body>-</html>
− debian/git-annex/usr/share/doc/git-annex/html/internals.html
@@ -1,264 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">-<html xmlns="http://www.w3.org/1999/xhtml">--<head>--<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />-<title>internals</title>--<link rel="stylesheet" href="style.css" type="text/css" />--<link rel="stylesheet" href="local.css" type="text/css" />-------</head>-<body>--<div class="page">--<div class="pageheader">-<div class="header">-<span>-<span class="parentlinks">--<a href="./index.html">git-annex</a>/ --</span>-<span class="title">-internals--</span>-</span>--</div>--------</div>---<div class="sidebar">-<p><img src="./logo_small.png" width="150" height="115" class="img" /></p>--<ul>-<li><a href="./install.html">install</a></li>-<li><a href="./assistant.html">assistant</a></li>-<li><a href="./walkthrough.html">walkthrough</a></li>-<li><a href="./tips.html">tips</a></li>-<li><span class="createlink">bugs</span></li>-<li><span class="createlink">todo</span></li>-<li><span class="createlink">forum</span></li>-<li><a href="./comments.html">comments</a></li>-<li><a href="./contact.html">contact</a></li>-<li><a href="http://flattr.com/thing/84843/git-annex"><img src="https://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" /></a></li>-</ul>---</div>---<div id="pagebody">--<div id="content">-<p>In the world of git, we're not scared about internal implementation-details, and sometimes we like to dive in and tweak things by hand. Here's-some documentation to that end.</p>--<h2><code>.git/annex/objects/aa/bb/*/*</code></h2>--<p>This is where locally available file contents are actually stored.-Files added to the annex get a symlink checked into git that points-to the file content.</p>--<p>First there are two levels of directories used for hashing, to prevent-too many things ending up in any one directory.-See <a href="./internals/hashing.html">hashing</a> for details.</p>--<p>Each subdirectory has the <a href="./internals/key_format.html">name of a key</a> in one of the-<a href="./backends.html">key-value backends</a>. The file inside also has the name of the key.-This two-level structure is used because it allows the write bit to be removed-from the subdirectories as well as from the files. That prevents accidentially-deleting or changing the file contents.</p>--<p>In <a href="./direct_mode.html">direct mode</a>, file contents are not stored in here, and instead-are stored directly in the file. However, the same symlinks are still-committed to git, internally.</p>--<p>Also in <a href="./direct_mode.html">direct mode</a>, some additional data is stored in these directories.-<code>.cache</code> files contain cached file stats used in detecting when a file has-changed, and <code>.map</code> files contain a list of file(s) in the work directory-that contain the key.</p>--<h2>The git-annex branch</h2>--<p>This branch is managed by git-annex, with the contents listed below.</p>--<p>The file <code>.git/annex/index</code> is a separate git index file it uses-to accumulate changes for the git-annex branch.-Also, <code>.git/annex/journal/</code> is used to record changes before they-are added to git.</p>--<h3><code>uuid.log</code></h3>--<p>Records the UUIDs of known repositories, and associates them with a-description of the repository. This allows git-annex to display something-more useful than a UUID when it refers to a repository that does not have-a configured git remote pointing at it.</p>--<p>The file format is simply one line per repository, with the uuid followed by a-space and then the description, followed by a timestamp. Example:</p>--<pre><code>e605dca6-446a-11e0-8b2a-002170d25c55 laptop timestamp=1317929189.157237s-26339d22-446b-11e0-9101-002170d25c55 usb disk timestamp=1317929330.769997s-</code></pre>--<p>If there are multiple lines for the same uuid, the one with the most recent-timestamp wins. git-annex union merges this and other files.</p>--<h2><code>remote.log</code></h2>--<p>Holds persistent configuration settings for <a href="./special_remotes.html">special remotes</a> such as-Amazon S3.</p>--<p>The file format is one line per remote, starting with the uuid of the-remote, followed by a space, and then a series of var=value pairs,-each separated by whitespace, and finally a timestamp.</p>--<p>Encrypted special remotes store their encryption key here,-in the "cipher" value. It is base64 encoded, and unless shared <a href="./encryption.html">encryption</a>-is used, is encrypted to one or more gpg keys. The first 256 bytes of-the cipher is used as the HMAC SHA1 encryption key, to encrypt filenames-stored on the special remote. The remainder of the cipher is used as a gpg-symmetric encryption key, to encrypt the content of files stored on the special-remote.</p>--<h2><code>trust.log</code></h2>--<p>Records the <a href="./trust.html">trust</a> information for repositories. Does not exist unless-<a href="./trust.html">trust</a> values are configured.</p>--<p>The file format is one line per repository, with the uuid followed by a-space, and then either <code>1</code> (trusted), <code>0</code> (untrusted), <code>?</code> (semi-trusted),-<code>X</code> (dead) and finally a timestamp.</p>--<p>Example:</p>--<pre><code>e605dca6-446a-11e0-8b2a-002170d25c55 1 timestamp=1317929189.157237s-26339d22-446b-11e0-9101-002170d25c55 ? timestamp=1317929330.769997s-</code></pre>--<p>Repositories not listed are semi-trusted.</p>--<h2><code>group.log</code></h2>--<p>Used to group repositories together.</p>--<p>The file format is one line per repository, with the uuid followed by a space,-and then a space-separated list of groups this repository is part of,-and finally a timestamp.</p>--<h2><code>preferred-content.log</code></h2>--<p>Used to indicate which repositories prefer to contain which file contents.</p>--<p>The file format is one line per repository, with the uuid followed by a space,-then a boolean expression, and finally a timestamp.</p>--<p>Files matching the expression are preferred to be retained in the-repository, while files not matching it are preferred to be stored-somewhere else.</p>--<h2><code>aaa/bbb/*.log</code></h2>--<p>These log files record <a href="./location_tracking.html">location tracking</a> information-for file contents. Again these are placed in two levels of subdirectories-for hashing. See <a href="./internals/hashing.html">hashing</a> for details.</p>--<p>The name of the key is the filename, and the content-consists of a timestamp, either 1 (present) or 0 (not present), and-the UUID of the repository that has or lacks the file content.</p>--<p>Example:</p>--<pre><code>1287290776.765152s 1 e605dca6-446a-11e0-8b2a-002170d25c55-1287290767.478634s 0 26339d22-446b-11e0-9101-002170d25c55-</code></pre>--<p>These files are designed to be auto-merged using git's <a href="./git-union-merge.html">union merge driver</a>.-The timestamps allow the most recent information to be identified.</p>--<h2><code>aaa/bbb/*.log.web</code></h2>--<p>These log files record urls used by the-<a href="./special_remotes/web.html">web special remote</a>. Their format is similar-to the location tracking files, but with urls rather than UUIDs.</p>--</div>----<div id="comments">-----<div class="addcomment">Comments on this page are closed.</div>--</div>----</div>--<div id="footer" class="pagefooter">--<div id="pageinfo">-------<div id="backlinks">-Links:--<a href="./design.html">design</a>--<a href="./design/encryption.html">design/encryption</a>--<a href="./how_it_works.html">how it works</a>--<a href="./links/the_details.html">links/the details</a>---</div>-------<div class="pagedate">-Last edited <span class="date">Sat May  4 11:06:45 2013</span>-<!-- Created <span class="date">Sat May  4 11:06:45 2013</span> -->-</div>--</div>---<!-- from git-annex -->-</div>--</div>--</body>-</html>
− debian/git-annex/usr/share/doc/git-annex/html/internals/hashing.html
@@ -1,159 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">-<html xmlns="http://www.w3.org/1999/xhtml">--<head>--<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />-<title>hashing</title>--<link rel="stylesheet" href="../style.css" type="text/css" />--<link rel="stylesheet" href="../local.css" type="text/css" />-------</head>-<body>--<div class="page">--<div class="pageheader">-<div class="header">-<span>-<span class="parentlinks">--<a href="../index.html">git-annex</a>/ --<a href="../internals.html">internals</a>/ --</span>-<span class="title">-hashing--</span>-</span>--</div>--------</div>---<div class="sidebar">-<p><img src="../logo_small.png" width="150" height="115" class="img" /></p>--<ul>-<li><a href="../install.html">install</a></li>-<li><a href="../assistant.html">assistant</a></li>-<li><a href="../walkthrough.html">walkthrough</a></li>-<li><a href="../tips.html">tips</a></li>-<li><span class="createlink">bugs</span></li>-<li><span class="createlink">todo</span></li>-<li><span class="createlink">forum</span></li>-<li><a href="../comments.html">comments</a></li>-<li><a href="../contact.html">contact</a></li>-<li><a href="http://flattr.com/thing/84843/git-annex"><img src="https://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" /></a></li>-</ul>---</div>---<div id="pagebody">--<div id="content">-<p>In both the .git/annex directory and the git-annex branch, two levels of-hash directories are used, to avoid issues with too many files in one-directory.</p>--<p>Two separate hash methods are used. One, the old hash format, is only used-for non-bare git repositories. The other, the new hash format, is used for-bare git repositories, the git-annex branch, and on special remotes as-well.</p>--<h2>new hash format</h2>--<p>This uses two directories, each with a three-letter name, such as "f87/4d5"</p>--<p>The directory names come from the md5sum of the <a href="./key_format.html">key</a>.</p>--<p>For example:</p>--<pre><code>echo -n "SHA256E-s0--e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" | md5sum-</code></pre>--<h2>old hash format</h2>--<p>This uses two directories, each with a two-letter name, such as "pX/1J"</p>--<p>It takes the md5sum of the key, but rather than a string, represents it as 4-32bit words. Only the first word is used. It is converted into a string by the-same mechanism that would be used to encode a normal md5sum value into a-string, but where that would normally encode the bits using the 16 characters-0-9a-f, this instead uses the 32 characters "0123456789zqjxkmvwgpfZQJXKMVWGPF".-The first 2 letters of the resulting string are the first directory, and the-second 2 are the second directory.</p>--</div>----<div id="comments">-----<div class="addcomment">Comments on this page are closed.</div>--</div>----</div>--<div id="footer" class="pagefooter">--<div id="pageinfo">-------<div id="backlinks">-Links:--<a href="../internals.html">internals</a>---</div>-------<div class="pagedate">-Last edited <span class="date">Sat May  4 11:06:45 2013</span>-<!-- Created <span class="date">Sat May  4 11:06:45 2013</span> -->-</div>--</div>---<!-- from git-annex -->-</div>--</div>--</body>-</html>
− debian/git-annex/usr/share/doc/git-annex/html/internals/key_format.html
@@ -1,155 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">-<html xmlns="http://www.w3.org/1999/xhtml">--<head>--<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />-<title>key format</title>--<link rel="stylesheet" href="../style.css" type="text/css" />--<link rel="stylesheet" href="../local.css" type="text/css" />-------</head>-<body>--<div class="page">--<div class="pageheader">-<div class="header">-<span>-<span class="parentlinks">--<a href="../index.html">git-annex</a>/ --<a href="../internals.html">internals</a>/ --</span>-<span class="title">-key format--</span>-</span>--</div>--------</div>---<div class="sidebar">-<p><img src="../logo_small.png" width="150" height="115" class="img" /></p>--<ul>-<li><a href="../install.html">install</a></li>-<li><a href="../assistant.html">assistant</a></li>-<li><a href="../walkthrough.html">walkthrough</a></li>-<li><a href="../tips.html">tips</a></li>-<li><span class="createlink">bugs</span></li>-<li><span class="createlink">todo</span></li>-<li><span class="createlink">forum</span></li>-<li><a href="../comments.html">comments</a></li>-<li><a href="../contact.html">contact</a></li>-<li><a href="http://flattr.com/thing/84843/git-annex"><img src="https://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" /></a></li>-</ul>---</div>---<div id="pagebody">--<div id="content">-<p>A git-annex key has this format:</p>--<pre><code>BACKEND-sNNNN-mNNNN--NAME-</code></pre>--<p>For example:</p>--<pre><code>SHA256E-s31390--f50d7ac4c6b9031379986bc362fcefb65f1e52621ce1708d537e740fefc59cc0.mp3-</code></pre>--<ul>-<li>The backend is one of the <a href="../backends.html">key-value backends</a>, which-are always upper-cased.</li>-<li>The name field at the end has a format dependent on the backend. It is-always the last field, and is prefixed with "--". Unlike other fields,-it may contain "-" in its content. It should not contain newline characters;-otherwise nearly anything goes.</li>-<li>The "-s" field is optional, and is the size of the content in bytes.</li>-<li>The "-m" field is optional, and is the mtime of the file when it was-added to git-annex, expressed as seconds from the epoch.-This is currently only used by the WORM backend.</li>-<li>Other fields could be added in the future, if needed.</li>-<li>Fields may appear, in any order (though always before the name field).</li>-</ul>---</div>----<div id="comments">-----<div class="addcomment">Comments on this page are closed.</div>--</div>----</div>--<div id="footer" class="pagefooter">--<div id="pageinfo">-------<div id="backlinks">-Links:--<a href="./hashing.html">hashing</a>--<a href="../internals.html">internals</a>---</div>-------<div class="pagedate">-Last edited <span class="date">Sat May  4 11:06:45 2013</span>-<!-- Created <span class="date">Sat May  4 11:06:45 2013</span> -->-</div>--</div>---<!-- from git-annex -->-</div>--</div>--</body>-</html>
− debian/git-annex/usr/share/doc/git-annex/html/license.html
@@ -1,140 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">-<html xmlns="http://www.w3.org/1999/xhtml">--<head>--<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />-<title>license</title>--<link rel="stylesheet" href="style.css" type="text/css" />--<link rel="stylesheet" href="local.css" type="text/css" />-------</head>-<body>--<div class="page">--<div class="pageheader">-<div class="header">-<span>-<span class="parentlinks">--<a href="./index.html">git-annex</a>/ --</span>-<span class="title">-license--</span>-</span>--</div>--------</div>---<div class="sidebar">-<p><img src="./logo_small.png" width="150" height="115" class="img" /></p>--<ul>-<li><a href="./install.html">install</a></li>-<li><a href="./assistant.html">assistant</a></li>-<li><a href="./walkthrough.html">walkthrough</a></li>-<li><a href="./tips.html">tips</a></li>-<li><span class="createlink">bugs</span></li>-<li><span class="createlink">todo</span></li>-<li><span class="createlink">forum</span></li>-<li><a href="./comments.html">comments</a></li>-<li><a href="./contact.html">contact</a></li>-<li><a href="http://flattr.com/thing/84843/git-annex"><img src="https://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" /></a></li>-</ul>---</div>---<div id="pagebody">--<div id="content">-<p>git-annex is Free Software.</p>--<p>The majority of git-annex is licensed under the <a href="./license/GPL">GPL</a>, version 3 or-higher.</p>--<p>The git-annex webapp is licensed under the <a href="./license/AGPL">AGPL</a>, version 3 or higher.-Note that builds of git-annex that include the webapp may be licensed-under the AGPL as a whole. git-annex built without the webapp does-not include this code, so remains GPLed.</p>--<p>git-annex contains a variety of other code, artwork, etc copyright by-others, under a variety of licences, including the <a href="./license/LGPL">LGPL</a>, BSD,-MIT, and Apache 2.0 licenses. For details, see-<a href="http://source.git-annex.branchable.com/?p=source.git;a=blob_plain;f=debian/copyright;hb=HEAD">this file</a>.</p>--</div>----<div id="comments">-----<div class="addcomment">Comments on this page are closed.</div>--</div>----</div>--<div id="footer" class="pagefooter">--<div id="pageinfo">-------<div id="backlinks">-Links:--<a href="./index.html">index</a>---</div>-------<div class="pagedate">-Last edited <span class="date">Sat May  4 11:06:45 2013</span>-<!-- Created <span class="date">Sat May  4 11:06:45 2013</span> -->-</div>--</div>---<!-- from git-annex -->-</div>--</div>--</body>-</html>
− debian/git-annex/usr/share/doc/git-annex/html/license/AGPL.gz

binary file changed (11769 → absent bytes)

− debian/git-annex/usr/share/doc/git-annex/html/license/GPL.gz

binary file changed (12130 → absent bytes)

− debian/git-annex/usr/share/doc/git-annex/html/license/LGPL.gz

binary file changed (9357 → absent bytes)

− debian/git-annex/usr/share/doc/git-annex/html/links/key_concepts.html
@@ -1,130 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">-<html xmlns="http://www.w3.org/1999/xhtml">--<head>--<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />-<title>key concepts</title>--<link rel="stylesheet" href="../style.css" type="text/css" />--<link rel="stylesheet" href="../local.css" type="text/css" />-------</head>-<body>--<div class="page">--<div class="pageheader">-<div class="header">-<span>-<span class="parentlinks">--<a href="../index.html">git-annex</a>/ --<a href="../index.html">links</a>/ --</span>-<span class="title">-key concepts--</span>-</span>--</div>--------</div>---<div class="sidebar">-<p><img src="../logo_small.png" width="150" height="115" class="img" /></p>--<ul>-<li><a href="../install.html">install</a></li>-<li><a href="../assistant.html">assistant</a></li>-<li><a href="../walkthrough.html">walkthrough</a></li>-<li><a href="../tips.html">tips</a></li>-<li><span class="createlink">bugs</span></li>-<li><span class="createlink">todo</span></li>-<li><span class="createlink">forum</span></li>-<li><a href="../comments.html">comments</a></li>-<li><a href="../contact.html">contact</a></li>-<li><a href="http://flattr.com/thing/84843/git-annex"><img src="https://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" /></a></li>-</ul>---</div>---<div id="pagebody">--<div id="content">-<h3>key concepts</h3>--<ul>-<li><a href="../git-annex.html">git-annex man page</a></li>-<li><a href="../how_it_works.html">how it works</a></li>-<li><a href="../special_remotes.html">special remotes</a></li>-<li><a href="../sync.html">sync</a></li>-<li><a href="../direct_mode.html">direct mode</a></li>-</ul>---</div>----<div id="comments">-----<div class="addcomment">Comments on this page are closed.</div>--</div>----</div>--<div id="footer" class="pagefooter">--<div id="pageinfo">------------<div class="pagedate">-Last edited <span class="date">Sat May  4 11:06:45 2013</span>-<!-- Created <span class="date">Sat May  4 11:06:45 2013</span> -->-</div>--</div>---<!-- from git-annex -->-</div>--</div>--</body>-</html>
− debian/git-annex/usr/share/doc/git-annex/html/links/other_stuff.html
@@ -1,129 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">-<html xmlns="http://www.w3.org/1999/xhtml">--<head>--<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />-<title>other stuff</title>--<link rel="stylesheet" href="../style.css" type="text/css" />--<link rel="stylesheet" href="../local.css" type="text/css" />-------</head>-<body>--<div class="page">--<div class="pageheader">-<div class="header">-<span>-<span class="parentlinks">--<a href="../index.html">git-annex</a>/ --<a href="../index.html">links</a>/ --</span>-<span class="title">-other stuff--</span>-</span>--</div>--------</div>---<div class="sidebar">-<p><img src="../logo_small.png" width="150" height="115" class="img" /></p>--<ul>-<li><a href="../install.html">install</a></li>-<li><a href="../assistant.html">assistant</a></li>-<li><a href="../walkthrough.html">walkthrough</a></li>-<li><a href="../tips.html">tips</a></li>-<li><span class="createlink">bugs</span></li>-<li><span class="createlink">todo</span></li>-<li><span class="createlink">forum</span></li>-<li><a href="../comments.html">comments</a></li>-<li><a href="../contact.html">contact</a></li>-<li><a href="http://flattr.com/thing/84843/git-annex"><img src="https://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" /></a></li>-</ul>---</div>---<div id="pagebody">--<div id="content">-<h3>other stuff</h3>--<ul>-<li><a href="../testimonials.html">testimonials</a></li>-<li><a href="../not.html">what git annex is not</a></li>-<li><a href="../related_software.html">related software</a></li>-<li><a href="../sitemap.html">sitemap</a></li>-</ul>---</div>----<div id="comments">-----<div class="addcomment">Comments on this page are closed.</div>--</div>----</div>--<div id="footer" class="pagefooter">--<div id="pageinfo">------------<div class="pagedate">-Last edited <span class="date">Sat May  4 11:06:45 2013</span>-<!-- Created <span class="date">Sat May  4 11:06:45 2013</span> -->-</div>--</div>---<!-- from git-annex -->-</div>--</div>--</body>-</html>
− debian/git-annex/usr/share/doc/git-annex/html/links/the_details.html
@@ -1,131 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">-<html xmlns="http://www.w3.org/1999/xhtml">--<head>--<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />-<title>the details</title>--<link rel="stylesheet" href="../style.css" type="text/css" />--<link rel="stylesheet" href="../local.css" type="text/css" />-------</head>-<body>--<div class="page">--<div class="pageheader">-<div class="header">-<span>-<span class="parentlinks">--<a href="../index.html">git-annex</a>/ --<a href="../index.html">links</a>/ --</span>-<span class="title">-the details--</span>-</span>--</div>--------</div>---<div class="sidebar">-<p><img src="../logo_small.png" width="150" height="115" class="img" /></p>--<ul>-<li><a href="../install.html">install</a></li>-<li><a href="../assistant.html">assistant</a></li>-<li><a href="../walkthrough.html">walkthrough</a></li>-<li><a href="../tips.html">tips</a></li>-<li><span class="createlink">bugs</span></li>-<li><span class="createlink">todo</span></li>-<li><span class="createlink">forum</span></li>-<li><a href="../comments.html">comments</a></li>-<li><a href="../contact.html">contact</a></li>-<li><a href="http://flattr.com/thing/84843/git-annex"><img src="https://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" /></a></li>-</ul>---</div>---<div id="pagebody">--<div id="content">-<h3>the details</h3>--<ul>-<li><a href="../encryption.html">encryption</a></li>-<li><a href="../backends.html">key-value backends</a></li>-<li><a href="../bare_repositories.html">bare repositories</a></li>-<li><a href="../internals.html">internals</a></li>-<li><a href="../scalability.html">scalability</a></li>-<li><a href="../design.html">design</a></li>-</ul>---</div>----<div id="comments">-----<div class="addcomment">Comments on this page are closed.</div>--</div>----</div>--<div id="footer" class="pagefooter">--<div id="pageinfo">------------<div class="pagedate">-Last edited <span class="date">Sat May  4 11:06:45 2013</span>-<!-- Created <span class="date">Sat May  4 11:06:45 2013</span> -->-</div>--</div>---<!-- from git-annex -->-</div>--</div>--</body>-</html>
− debian/git-annex/usr/share/doc/git-annex/html/location_tracking.html
@@ -1,174 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">-<html xmlns="http://www.w3.org/1999/xhtml">--<head>--<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />-<title>location tracking</title>--<link rel="stylesheet" href="style.css" type="text/css" />--<link rel="stylesheet" href="local.css" type="text/css" />-------</head>-<body>--<div class="page">--<div class="pageheader">-<div class="header">-<span>-<span class="parentlinks">--<a href="./index.html">git-annex</a>/ --</span>-<span class="title">-location tracking--</span>-</span>--</div>--------</div>---<div class="sidebar">-<p><img src="./logo_small.png" width="150" height="115" class="img" /></p>--<ul>-<li><a href="./install.html">install</a></li>-<li><a href="./assistant.html">assistant</a></li>-<li><a href="./walkthrough.html">walkthrough</a></li>-<li><a href="./tips.html">tips</a></li>-<li><span class="createlink">bugs</span></li>-<li><span class="createlink">todo</span></li>-<li><span class="createlink">forum</span></li>-<li><a href="./comments.html">comments</a></li>-<li><a href="./contact.html">contact</a></li>-<li><a href="http://flattr.com/thing/84843/git-annex"><img src="https://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" /></a></li>-</ul>---</div>---<div id="pagebody">--<div id="content">-<p>git-annex keeps track of in which repositories it last saw a file's content.-This location tracking information is stored in the git-annex branch.-Repositories record their UUID and the date when they get or drop-a file's content.</p>--<p>This location tracking information is useful if you have multiple-repositories, and not all are always accessible. For example, perhaps one-is on a home file server, and you are away from home. Then git-annex can-tell you what git remote it needs access to in order to get a file:</p>--<pre><code># git annex get myfile -get myfile (not available)-  I was unable to access these remotes: home-</code></pre>--<p>Another way the location tracking comes in handy is if you put repositories-on removable USB drives, that might be archived away offline in a safe-place. In this sort of case, you probably don't have a git remotes-configured for every USB drive. So git-annex may have to resort to talking-about repository UUIDs. If you have previously used "git annex init"-to attach descriptions to those repositories, it will include their-descriptions to help you with finding them:</p>--<pre><code># git annex get myfile-get myfile (not available)-  Try making some of these repositories available:-    c0a28e06-d7ef-11df-885c-775af44f8882  -- USB archive drive 1-    e1938fee-d95b-11df-96cc-002170d25c55-</code></pre>--<p>In certain cases you may want to configure git-annex to <a href="./trust.html">trust</a>-that location tracking information is always correct for a repository.</p>--</div>----<div id="comments">-----<div class="addcomment">Comments on this page are closed.</div>--</div>----</div>--<div id="footer" class="pagefooter">--<div id="pageinfo">-------<div id="backlinks">-Links:--<a href="./distributed_version_control.html">distributed version control</a>--<a href="./how_it_works.html">how it works</a>--<a href="./internals.html">internals</a>--<a href="./not.html">not</a>--<a href="./tips/powerful_file_matching.html">tips/powerful file matching</a>--<a href="./tips/what_to_do_when_you_lose_a_repository.html">tips/what to do when you lose a repository</a>--<a href="./trust.html">trust</a>--<a href="./use_case/Bob.html">use case/Bob</a>--<a href="./walkthrough/transferring_files:_When_things_go_wrong.html">walkthrough/transferring files: When things go wrong</a>---</div>-------<div class="pagedate">-Last edited <span class="date">Fri Sep 28 01:45:57 2012</span>-<!-- Created <span class="date">Fri Sep 28 01:45:57 2012</span> -->-</div>--</div>---<!-- from git-annex -->-</div>--</div>--</body>-</html>
− debian/git-annex/usr/share/doc/git-annex/html/logo-bw.svg
@@ -1,60 +0,0 @@-<?xml version="1.0" encoding="UTF-8" standalone="no"?>-<!-- Created with Inkscape (http://www.inkscape.org/) -->--<svg-   xmlns:dc="http://purl.org/dc/elements/1.1/"-   xmlns:cc="http://creativecommons.org/ns#"-   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"-   xmlns:svg="http://www.w3.org/2000/svg"-   xmlns="http://www.w3.org/2000/svg"-   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"-   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"-   width="640px"-   height="480px"-   id="svg3134"-   version="1.1"-   inkscape:version="0.48.3.1 r9886"-   sodipodi:docname="New document 11">-  <defs-     id="defs3136" />-  <sodipodi:namedview-     id="base"-     pagecolor="#ffffff"-     bordercolor="#666666"-     borderopacity="1.0"-     inkscape:pageopacity="0.0"-     inkscape:pageshadow="2"-     inkscape:zoom="0.77472527"-     inkscape:cx="317.41844"-     inkscape:cy="245.16312"-     inkscape:current-layer="layer1"-     inkscape:document-units="px"-     showgrid="false"-     inkscape:window-width="800"-     inkscape:window-height="564"-     inkscape:window-x="0"-     inkscape:window-y="12"-     inkscape:window-maximized="0" />-  <metadata-     id="metadata3139">-    <rdf:RDF>-      <cc:Work-         rdf:about="">-        <dc:format>image/svg+xml</dc:format>-        <dc:type-           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />-        <dc:title></dc:title>-      </cc:Work>-    </rdf:RDF>-  </metadata>-  <g-     id="layer1"-     inkscape:label="Layer 1"-     inkscape:groupmode="layer">-    <path-       style="fill:#000000"-       d="m 302.43431,440.4468 c -14.88228,-4.33874 -18.89443,-6.47398 -28.38217,-15.10481 -13.08558,-11.90371 -17.72561,-23.29726 -17.72561,-43.52501 0,-18.30772 4.14768,-29.96528 14.34194,-40.30981 7.27131,-7.37848 18.36439,-13.25052 25.03206,-13.25052 4.73347,0 4.8315,0.27458 4.8315,13.5325 l 0,13.5325 -6.57204,3.04787 c -9.16684,4.25125 -13.05127,12.36242 -12.09267,25.25093 1.53891,20.69072 13.75689,28.81207 43.34566,28.81207 14.25099,0 19.3577,-0.72886 23.91428,-3.41316 12.51899,-7.37499 18.80704,-23.65294 14.28477,-36.97908 -2.56222,-7.55028 -13.65238,-17.88336 -19.19364,-17.88336 -3.36269,0 -3.73837,1.31029 -3.73837,13.03841 l 0,13.0384 -11.88928,-0.55077 -11.88929,-0.55079 0,-25.90026 0,-25.90027 35.19228,0 35.19228,0 0.57499,9.7126 c 0.49269,8.32267 0.0845,9.71665 -2.85343,9.74093 -8.20311,0.0677 -8.706,2.84359 -2.15276,11.88256 6.12053,8.44215 6.33349,9.33743 6.33349,26.62529 0,15.38301 -0.65924,19.1446 -4.70538,26.84845 -9.93611,18.91837 -28.93477,29.1492 -56.00199,30.15722 -10.88743,0.40545 -20.4551,-0.28006 -25.84662,-1.85189 z m -45.65485,-139.01542 0,-13.87514 65.62885,0 65.62884,0 0,13.87514 0,13.87514 -65.62884,0 -65.62885,0 0,-13.87514 z m 49.45942,-38.8504 0,-15.72516 -24.72971,0 -24.72971,0 0,-12.95013 0,-12.95014 24.72971,0 24.72971,0 0,-16.65017 0,-16.65017 15.21829,0 15.21828,0 0,16.65017 0,16.65017 25.68085,0 25.68085,0 0,12.89643 0,12.89645 -25.20528,0.51619 -25.20528,0.51621 -0.5525,15.26265 -0.5525,15.26266 -15.14135,0 -15.14136,0 0,-15.72516 z m 90.58314,-28.97078 c -1.413,-6.87082 -1.79669,-6.34506 5.78198,-7.92291 5.58749,-1.16331 6.09939,-0.83956 7.33692,4.64003 1.45579,6.44604 -0.79787,9.0505 -7.87441,9.1001 -3.02463,0.0211 -4.34501,-1.44337 -5.24449,-5.81722 z m -160.69546,0.49827 c -1.79783,-1.10787 -2.17745,-3.37832 -1.25087,-7.48118 1.23754,-5.47959 1.74944,-5.80335 7.33693,-4.64004 7.57866,1.57785 7.19497,1.05209 5.78198,7.92291 -1.24077,6.03343 -6.10031,7.75249 -11.86804,4.19831 z m 190.42463,-6.76941 c -1.85277,-5.87101 -1.66966,-6.25919 3.83255,-8.12458 3.17805,-1.07743 5.9948,-1.95896 6.25947,-1.95896 0.91633,0 4.67209,11.70301 3.97372,12.38219 -0.38574,0.37517 -3.27056,1.39869 -6.41068,2.27453 -5.34046,1.48954 -5.83503,1.19409 -7.65506,-4.57318 z m -216.85329,0.64986 c -3.40034,-0.87401 -6.18243,-1.85733 -6.18243,-2.18515 0,-0.32782 0.94953,-3.24505 2.11007,-6.48271 1.73496,-4.84015 2.83405,-5.67166 6.18243,-4.67733 7.88037,2.34017 8.42794,3.15845 6.18018,9.23554 -1.96709,5.31825 -2.52062,5.59264 -8.29025,4.10965 z m 245.52541,-10.67191 c -2.12815,-5.48318 -2.11652,-5.49574 11.85359,-12.82409 22.7641,-11.94143 40.5838,-25.97488 57.05249,-44.93026 l 7.53031,-8.66734 5.41145,4.25151 5.41145,4.25151 -17.60152,17.90565 c -16.73035,17.01941 -37.6183,32.42395 -56.39658,41.59159 -10.27596,5.01677 -10.722,4.96367 -13.26119,-1.57857 z m -286.33038,-6.27889 c -21.55151,-11.9442 -31.63729,-19.70355 -49.98909,-38.45829 l -16.54083,-16.90401 5.39695,-4.24028 5.39696,-4.24026 7.53031,8.66734 c 16.46869,18.95538 34.28839,32.98883 57.05248,44.93026 13.97012,7.32835 13.98175,7.34091 11.8536,12.82409 -1.17162,3.01872 -3.03333,5.48856 -4.13709,5.48856 -1.10378,0 -8.55726,-3.63034 -16.56329,-8.06741 z m 375.66016,-70.84688 c -3.97648,-2.69927 -4.05764,-3.18834 -1.36824,-8.24615 2.7937,-5.254 2.98784,-5.31188 8.50732,-2.53606 6.47782,3.25777 6.35114,2.92151 3.44074,9.13364 -2.52039,5.37967 -4.60478,5.70447 -10.57982,1.64857 z M 89.683687,134.84263 c -2.910382,-6.21213 -3.037055,-5.87587 3.440759,-9.13364 5.520337,-2.77624 5.713305,-2.71854 8.512274,2.54533 2.72546,5.12566 2.63957,5.52893 -1.77689,8.3432 -6.255304,3.98601 -7.594703,3.75504 -10.176143,-1.75489 z M 558.86885,114.49806 c -4.66412,-2.46246 -4.94939,-3.21135 -3.14292,-8.25101 1.09275,-3.04849 2.20334,-5.54273 2.46799,-5.54273 1.15984,0 12.46263,4.10838 12.46263,4.52996 0,2.20567 -4.45138,12.10382 -5.41738,12.04614 -0.68234,-0.0407 -3.54898,-1.29279 -6.37032,-2.78236 z M 76.248436,107.82834 c -1.1486,-3.20438 -2.088367,-6.03672 -2.088367,-6.2941 0,-0.42158 11.30279,-4.529954 12.462632,-4.529954 0.264646,0 1.376722,2.498376 2.471297,5.551964 1.832586,5.11256 1.553673,5.77145 -3.524022,8.32508 -7.178882,3.61035 -6.90035,3.70158 -9.32154,-3.05299 z M 568.27869,86.478917 c -4.16144,-1.0576 -4.15124,-1.435966 0.47558,-17.673656 4.71707,-16.554414 4.76128,-15.866207 -0.95115,-14.804204 -3.51666,0.653779 -4.75571,0.08973 -4.75571,-2.164633 0,-1.67682 1.09334,-3.456779 2.42964,-3.95547 1.33629,-0.498709 4.53447,-4.218875 7.10707,-8.267031 3.85384,-6.064326 5.73436,-7.360301 10.68013,-7.360301 4.78765,0 6.24005,0.919681 7.17525,4.543462 0.64491,2.498894 2.13408,6.869564 3.30925,9.712599 4.714,11.40422 2.47433,18.328434 -4.06643,12.571786 -3.92535,-3.4548 -3.4906,-4.351652 -9.63904,19.885132 -2.24473,8.848659 -3.45803,9.62341 -11.76459,7.512316 z M 62.514449,66.506779 57.950276,48.599557 52.639,52.662624 c -2.921206,2.234675 -5.630041,3.75306 -6.019648,3.374157 -0.389608,-0.378884 0.859281,-4.428205 2.775301,-8.998492 1.916001,-4.570287 3.965028,-9.76649 4.553405,-11.547134 0.734891,-2.224093 3.046111,-3.237533 7.383397,-3.237533 5.021102,0 8.14882,1.812001 15.277977,8.851138 4.930401,4.868122 8.964349,10.279427 8.964349,12.025124 0,4.517598 -2.081195,3.939726 -6.8916,-1.913568 -2.299596,-2.798153 -4.818203,-4.473179 -5.596904,-3.722293 -0.778719,0.750904 0.522064,8.499468 2.890599,17.219014 2.368555,8.719565 3.936551,16.213492 3.484473,16.653149 -0.452097,0.439676 -3.422934,1.3053 -6.601862,1.923613 l -5.779866,1.12422 -4.564172,-17.90724 z"-       id="path3050"-       inkscape:connector-curvature="0" />-  </g>-</svg>
− debian/git-annex/usr/share/doc/git-annex/html/logo.png

binary file changed (9092 → absent bytes)

− debian/git-annex/usr/share/doc/git-annex/html/logo.svg
@@ -1,77 +0,0 @@-<?xml version="1.0" encoding="UTF-8" standalone="no"?>-<!-- Created with Inkscape (http://www.inkscape.org/) -->--<svg-   xmlns:dc="http://purl.org/dc/elements/1.1/"-   xmlns:cc="http://creativecommons.org/ns#"-   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"-   xmlns:svg="http://www.w3.org/2000/svg"-   xmlns="http://www.w3.org/2000/svg"-   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"-   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"-   width="640px"-   height="480px"-   id="svg3134"-   version="1.1"-   inkscape:version="0.48.3.1 r9886"-   sodipodi:docname="git-annex.svg">-  <defs-     id="defs3136" />-  <sodipodi:namedview-     id="base"-     pagecolor="#ffffff"-     bordercolor="#666666"-     borderopacity="1.0"-     inkscape:pageopacity="0.0"-     inkscape:pageshadow="2"-     inkscape:zoom="0.77472527"-     inkscape:cx="398.6665"-     inkscape:cy="232.05718"-     inkscape:current-layer="layer1"-     inkscape:document-units="px"-     showgrid="false"-     inkscape:window-width="1024"-     inkscape:window-height="566"-     inkscape:window-x="0"-     inkscape:window-y="12"-     inkscape:window-maximized="0" />-  <metadata-     id="metadata3139">-    <rdf:RDF>-      <cc:Work-         rdf:about="">-        <dc:format>image/svg+xml</dc:format>-        <dc:type-           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />-        <dc:title></dc:title>-      </cc:Work>-    </rdf:RDF>-  </metadata>-  <g-     id="layer1"-     inkscape:label="Layer 1"-     inkscape:groupmode="layer">-    <g-       id="g4187"-       transform="matrix(2.0184211,0,0,1.9796558,-320.30102,-235.1316)">-      <path-         sodipodi:nodetypes="cccccccccccccccccccccccccssscssssssssscssssssssssscccssssscccssssssssssssssssssscssssssssssscsssssssccscsssssssssscc"-         inkscape:connector-curvature="0"-         id="path3050"-         d="m 306.53525,253.83733 0,-8.5 -13,0 -13,0 0,-7 0,-7 13,0 13,0 0,-9 0,-9 8,0 8,0 0,9 0,9 13.5,0 13.5,0 0,6.97097 0,6.97098 -13.25,0.27902 -13.25,0.27903 -0.29044,8.25 -0.29044,8.25 -7.95956,0 -7.95956,0 z m 47.61806,-15.65972 c -0.74279,-3.71392 -0.94449,-3.42973 3.03949,-4.28261 2.93725,-0.62881 3.20635,-0.45381 3.8569,2.5081 0.76528,3.48431 -0.41943,4.89211 -4.13945,4.91892 -1.59,0.0114 -2.2841,-0.78019 -2.75694,-3.14441 z m -84.47495,0.26933 c -0.94509,-0.59884 -1.14465,-1.8261 -0.65756,-4.04384 0.65055,-2.96191 0.91965,-3.13691 3.8569,-2.5081 3.98398,0.85288 3.78228,0.56869 3.03949,4.28261 -0.65225,3.26128 -3.20683,4.19049 -6.23883,2.26933 z m 100.10308,-3.6591 c -0.97397,-3.17349 -0.87771,-3.38331 2.01471,-4.39162 1.67065,-0.58239 3.15137,-1.05889 3.2905,-1.05889 0.4817,0 2.45604,6.32589 2.08892,6.69301 -0.20278,0.20279 -1.71928,0.75604 -3.36999,1.22946 -2.80739,0.80515 -3.06738,0.64545 -4.02414,-2.47196 z m -113.99619,0.35127 c -1.7875,-0.47243 -3.25,-1.00395 -3.25,-1.18115 0,-0.1772 0.49915,-1.75406 1.10923,-3.50413 0.91204,-2.61627 1.48981,-3.06573 3.25,-2.52826 4.14258,1.26494 4.43043,1.70725 3.24882,4.99213 -1.03407,2.8747 -1.32505,3.02302 -4.35805,2.22141 z m 129.06865,-5.76854 c -1.11873,-2.96385 -1.11262,-2.97064 6.23124,-6.93187 11.96671,-6.45476 21.33423,-14.04033 29.99155,-24.28638 l 3.95856,-4.685 2.84471,2.29809 2.84471,2.29809 -9.25283,9.67863 c -8.79487,9.19959 -19.77532,17.52628 -29.64675,22.48171 -5.4019,2.71174 -5.63638,2.68304 -6.97119,-0.85327 z m -150.51915,-3.39396 c -11.32927,-6.45626 -16.6312,-10.65046 -26.27844,-20.78805 l -8.69524,-9.13721 2.83709,-2.29202 2.83709,-2.29201 3.95856,4.685 c 8.65732,10.24605 18.02484,17.83162 29.99155,24.28638 7.34386,3.96123 7.34997,3.96802 6.23124,6.93187 -0.6159,1.63172 -1.59457,2.96676 -2.1748,2.96676 -0.58024,0 -4.49841,-1.96233 -8.70705,-4.36072 z m 197.47834,-38.29522 c -2.09037,-1.45905 -2.13303,-1.72341 -0.71926,-4.45733 1.4686,-2.83997 1.57066,-2.87126 4.47216,-1.37083 3.40528,1.76094 3.33869,1.57918 1.80874,4.93705 -1.32493,2.9079 -2.42066,3.08347 -5.56164,0.89111 z m -239.11733,-2.89111 c -1.52994,-3.35787 -1.59653,-3.17611 1.80875,-4.93705 2.90195,-1.50066 3.00339,-1.46947 4.47476,1.37584 1.43273,2.7706 1.38758,2.98858 -0.93408,4.50979 -3.28831,2.15458 -3.99241,2.02973 -5.34943,-0.94858 z m 246.64289,-10.99695 c -2.45185,-1.33105 -2.60181,-1.73585 -1.65218,-4.45996 0.57444,-1.64782 1.15826,-2.99604 1.29738,-2.99604 0.60971,0 6.5514,2.22072 6.5514,2.4486 0,1.19224 -2.34002,6.54254 -2.84783,6.51136 -0.35869,-0.022 -1.86564,-0.6988 -3.34877,-1.50396 z m -253.70558,-3.60522 c -0.6038,-1.73208 -1.09782,-3.26306 -1.09782,-3.40218 0,-0.22788 5.94169,-2.4486 6.5514,-2.4486 0.13912,0 0.72372,1.35046 1.29912,3.00103 0.96336,2.76352 0.81674,3.11967 -1.85252,4.5 -3.77382,1.95152 -3.6274,2.00083 -4.90018,-1.65025 z M 444.28525,158.648 c -2.1876,-0.57167 -2.18224,-0.77619 0.25,-9.55323 2.47969,-8.94824 2.50293,-8.57624 -0.5,-8.00219 -1.84865,0.35339 -2.5,0.0485 -2.5,-1.17006 0,-0.90638 0.57475,-1.86851 1.27722,-2.13807 0.70247,-0.26957 2.3837,-2.28045 3.73607,-4.46862 2.0259,-3.27798 3.01446,-3.9785 5.61437,-3.9785 2.51679,0 3.28029,0.49712 3.77191,2.4559 0.33902,1.35074 1.12185,3.71324 1.73962,5.25 2.47807,6.16438 1.30071,9.90716 -2.13766,6.79549 -2.06349,-1.86744 -1.83495,-2.35222 -5.06708,10.74861 -1.18002,4.78301 -1.81783,5.20179 -6.18445,4.06067 z m -265.87191,-10.79564 -2.39931,-9.67948 -2.79205,2.19623 c -1.53563,1.20792 -2.95962,2.02866 -3.16443,1.82385 -0.20481,-0.2048 0.45171,-2.3936 1.45893,-4.864 1.00721,-2.4704 2.08435,-5.27913 2.39365,-6.24163 0.38632,-1.2022 1.60129,-1.75 3.88133,-1.75 2.63951,0 4.2837,0.97945 8.03138,4.78435 2.59183,2.63139 4.71241,5.55639 4.71241,6.5 0,2.44192 -1.09405,2.12956 -3.6228,-1.03435 -1.20886,-1.5125 -2.53285,-2.41791 -2.9422,-2.01203 -0.40936,0.40589 0.27444,4.59426 1.51954,9.30748 1.24511,4.71323 2.06938,8.76396 1.83173,9.00161 -0.23766,0.23766 -1.79938,0.70556 -3.47049,1.03978 l -3.03838,0.60768 z"-         style="fill:#40bf4c;fill-opacity:1" />-      <path-         sodipodi:nodetypes="ccccccccc"-         style="fill:#d8372c;fill-opacity:1"-         d="m 280.84173,275.15053 0,-7.5 34.5,0 34.5,0 0,7.5 0,7.5 -34.5,0 -34.5,0 z"-         id="path4113"-         inkscape:connector-curvature="0" />-      <path-         sodipodi:nodetypes="sssssscssssssscccccccsssssss"-         style="fill:#666666;fill-opacity:1;fill-rule:nonzero"-         d="m 305.37638,349.62884 c -7.82337,-2.34524 -9.93249,-3.49941 -14.92004,-8.16468 -6.87887,-6.43437 -9.31806,-12.59298 -9.31806,-23.52679 0,-9.89596 2.18037,-16.19728 7.53932,-21.78886 3.82241,-3.98833 9.65386,-7.16237 13.15894,-7.16237 2.48831,0 2.53984,0.14842 2.53984,7.31479 l 0,7.31479 -3.45481,1.64748 c -4.81886,2.29795 -6.86084,6.68232 -6.35692,13.64901 0.80898,11.18406 7.23177,15.57393 22.7861,15.57393 7.49151,0 10.17602,-0.39397 12.57134,-1.84493 6.58103,-3.98644 9.88655,-12.78524 7.50927,-19.98849 -1.34692,-4.08119 -7.17683,-9.66658 -10.08978,-9.66658 -1.76771,0 -1.9652,0.70826 -1.9652,7.04772 l 0,7.04771 -6.25,-0.29771 -6.25,-0.29772 0,-14 0,-14 18.5,0 18.5,0 0.30226,5.25 c 0.259,4.49869 0.0444,5.25219 -1.5,5.26531 -4.31224,0.0366 -4.5766,1.53706 -1.13167,6.42294 3.21746,4.56328 3.32941,5.04721 3.32941,14.3919 0,8.31506 -0.34655,10.34833 -2.47354,14.51253 -5.22325,10.22604 -15.21053,15.75616 -29.43932,16.30103 -5.72334,0.21916 -10.75291,-0.15138 -13.58714,-1.00101 z"-         id="path4115"-         inkscape:connector-curvature="0" />-    </g>-  </g>-</svg>
− debian/git-annex/usr/share/doc/git-annex/html/logo_small.png

binary file changed (4713 → absent bytes)

− debian/git-annex/usr/share/doc/git-annex/html/meta.html
@@ -1,151 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">-<html xmlns="http://www.w3.org/1999/xhtml">--<head>--<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />-<title>meta</title>--<link rel="stylesheet" href="style.css" type="text/css" />--<link rel="stylesheet" href="local.css" type="text/css" />-------</head>-<body>--<div class="page">--<div class="pageheader">-<div class="header">-<span>-<span class="parentlinks">--<a href="./index.html">git-annex</a>/ --</span>-<span class="title">-meta--</span>-</span>--</div>--------</div>---<div class="sidebar">-<p><img src="./logo_small.png" width="150" height="115" class="img" /></p>--<ul>-<li><a href="./install.html">install</a></li>-<li><a href="./assistant.html">assistant</a></li>-<li><a href="./walkthrough.html">walkthrough</a></li>-<li><a href="./tips.html">tips</a></li>-<li><span class="createlink">bugs</span></li>-<li><span class="createlink">todo</span></li>-<li><span class="createlink">forum</span></li>-<li><a href="./comments.html">comments</a></li>-<li><a href="./contact.html">contact</a></li>-<li><a href="http://flattr.com/thing/84843/git-annex"><img src="https://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" /></a></li>-</ul>---</div>---<div id="pagebody">--<div id="content">-<p>This wiki contains 519 pages.</p>--<p>Broken links:</p>--<ul>-<li><span class="createlink">Issue on OSX with some system limits</span> from <a href="./design/assistant/inotify.html">inotify</a>, <a href="./assistant/release_notes.html">release notes</a></li>-<li><span class="createlink">Joey</span> from <a href="./tips/finding_duplicate_files.html">finding duplicate files</a>, <a href="./tips/using_Google_Cloud_Storage.html">using Google Cloud Storage</a>, <a href="./testimonials.html">testimonials</a>, <a href="./assistant/thanks.html">thanks</a>, <a href="./tips/what_to_do_when_a_repository_is_corrupted.html">what to do when a repository is corrupted</a>, <a href="./tips/setup_a_public_repository_on_a_web_site.html">setup a public repository on a web site</a>, <a href="./design/assistant/polls/goals_for_April.html">goals for April</a>, <a href="./tips/assume-unstaged.html">assume-unstaged</a>, <a href="./install/OSX.html">OSX</a>, <a href="./design/assistant.html">assistant</a>, <a href="./special_remotes/hook.html">hook</a></li>-<li><span class="createlink">OSX alias permissions and versions problem</span> from <a href="./design/assistant/desymlink.html">desymlink</a></li>-<li><span class="createlink">OSX app issues</span> from <a href="./install/OSX.html">OSX</a></li>-<li><span class="createlink">OSX&#39;s default sshd behaviour has limited paths set</span> from <a href="./install/OSX.html">OSX</a></li>-<li><span class="createlink">OSX&#39;s haskell-platform statically links things</span> from <a href="./install/OSX.html">OSX</a></li>-<li><span class="createlink">Slow transfer for a lot of small files.</span> from <a href="./design/assistant/syncing.html">syncing</a></li>-<li><span class="createlink">Wishlist: options for syncing meta-data and data</span> from <a href="./design/assistant/syncing.html">syncing</a></li>-<li><span class="createlink">assistant threaded runtime</span> from <a href="./design/assistant/syncing.html">syncing</a></li>-<li><span class="createlink">blog</span> from <a href="./design/assistant.html">assistant</a></li>-<li><span class="createlink">blog</span> from <a href="./footer/column_a.html">column a</a>, <a href="./assistant.html">assistant</a></li>-<li><span class="createlink">bugs</span> from <a href="./sidebar.html">sidebar</a></li>-<li><span class="createlink">day 7  bugfixes</span> from <a href="./design/assistant/inotify.html">inotify</a></li>-<li><span class="createlink">forum</span> from <a href="./sidebar.html">sidebar</a>, <a href="./footer/column_b.html">column b</a>, <a href="./contact.html">contact</a></li>-<li><span class="createlink">gadu - git-annex disk usage</span> from <a href="./related_software.html">related software</a></li>-<li><span class="createlink">git-annex unused eats memory</span> from <a href="./scalability.html">scalability</a></li>-<li><span class="createlink">smudge</span> from <a href="./design/assistant/desymlink.html">desymlink</a></li>-<li><span class="createlink">special remote for IMAP</span> from <a href="./special_remotes.html">special remotes</a></li>-<li><span class="createlink">special remote for amazon glacier</span> from <a href="./design/assistant/more_cloud_providers.html">more cloud providers</a></li>-<li><span class="createlink">tips: special&#95;remotes&#47;hook with tahoe-lafs</span> from <a href="./special_remotes.html">special remotes</a></li>-<li><span class="createlink">todo</span> from <a href="./sidebar.html">sidebar</a>, <a href="./design/assistant.html">assistant</a></li>-<li><span class="createlink">watcher commits unlocked files</span> from <a href="./design/assistant/inotify.html">inotify</a>, <a href="./assistant/release_notes.html">release notes</a></li>-<li><span class="createlink">windows support</span> from <a href="./install.html">install</a>, <a href="./design/assistant/windows.html">windows</a></li>-<li><span class="createlink">wishlist: allow configuration of downloader for addurl</span> from <a href="./tips/Using_Git-annex_as_a_web_browsing_assistant.html">Using Git-annex as a web browsing assistant</a></li>-<li><span class="createlink">wishlist: an &#34;assistant&#34; for web-browsing -- tracking the sources of the downloads</span> from <a href="./design/assistant/webapp.html">webapp</a>, <a href="./tips/Using_Git-annex_as_a_web_browsing_assistant.html">Using Git-annex as a web browsing assistant</a></li></ul>-----</div>----<div id="comments">-----<div class="addcomment">Comments on this page are closed.</div>--</div>----</div>--<div id="footer" class="pagefooter">--<div id="pageinfo">------------<div class="pagedate">-Last edited <span class="date">Fri Sep 28 01:45:57 2012</span>-<!-- Created <span class="date">Fri Sep 28 01:45:57 2012</span> -->-</div>--</div>---<!-- from git-annex -->-</div>--</div>--</body>-</html>
− debian/git-annex/usr/share/doc/git-annex/html/news.html
@@ -1,127 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">-<html xmlns="http://www.w3.org/1999/xhtml">--<head>--<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />-<title>news</title>--<link rel="stylesheet" href="style.css" type="text/css" />--<link rel="stylesheet" href="local.css" type="text/css" />-------</head>-<body>--<div class="page">--<div class="pageheader">-<div class="header">-<span>-<span class="parentlinks">--<a href="./index.html">git-annex</a>/ --</span>-<span class="title">-news--</span>-</span>--</div>--------</div>---<div class="sidebar">-<p><img src="./logo_small.png" width="150" height="115" class="img" /></p>--<ul>-<li><a href="./install.html">install</a></li>-<li><a href="./assistant.html">assistant</a></li>-<li><a href="./walkthrough.html">walkthrough</a></li>-<li><a href="./tips.html">tips</a></li>-<li><span class="createlink">bugs</span></li>-<li><span class="createlink">todo</span></li>-<li><span class="createlink">forum</span></li>-<li><a href="./comments.html">comments</a></li>-<li><a href="./contact.html">contact</a></li>-<li><a href="http://flattr.com/thing/84843/git-annex"><img src="https://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" /></a></li>-</ul>---</div>---<div id="pagebody">--<div id="content">-<p>(Please see the changelog.)</p>--</div>----<div id="comments">-----<div class="addcomment">Comments on this page are closed.</div>--</div>----</div>--<div id="footer" class="pagefooter">--<div id="pageinfo">-------<div id="backlinks">-Links:--<a href="./footer/column_a.html">footer/column a</a>---</div>-------<div class="pagedate">-Last edited <span class="date">Fri Sep 28 01:45:57 2012</span>-<!-- Created <span class="date">Fri Sep 28 01:45:57 2012</span> -->-</div>--</div>---<!-- from git-annex -->-</div>--</div>--</body>-</html>
− debian/git-annex/usr/share/doc/git-annex/html/not.html
@@ -1,507 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">-<html xmlns="http://www.w3.org/1999/xhtml">--<head>--<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />-<title>what git-annex is not</title>--<link rel="stylesheet" href="style.css" type="text/css" />--<link rel="stylesheet" href="local.css" type="text/css" />-------</head>-<body>--<div class="page">--<div class="pageheader">-<div class="header">-<span>-<span class="parentlinks">--<a href="./index.html">git-annex</a>/ --</span>-<span class="title">-what git-annex is not--</span>-</span>--</div>--------</div>---<div class="sidebar">-<p><img src="./logo_small.png" width="150" height="115" class="img" /></p>--<ul>-<li><a href="./install.html">install</a></li>-<li><a href="./assistant.html">assistant</a></li>-<li><a href="./walkthrough.html">walkthrough</a></li>-<li><a href="./tips.html">tips</a></li>-<li><span class="createlink">bugs</span></li>-<li><span class="createlink">todo</span></li>-<li><span class="createlink">forum</span></li>-<li><a href="./comments.html">comments</a></li>-<li><a href="./contact.html">contact</a></li>-<li><a href="http://flattr.com/thing/84843/git-annex"><img src="https://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" /></a></li>-</ul>---</div>---<div id="pagebody">--<div id="content">-<ul>-<li><p>git-annex is not a backup system. It may be a useful component of an-<a href="./use_case/Bob.html">archival</a> system, or a way to deliver files to a backup-system. For a backup system that uses git and that git-annex supports-storing data in, see <a href="./special_remotes/bup.html">bup</a>.</p></li>-<li><p>git-annex is not a filesystem or DropBox clone. However, the git-annex-<a href="./assistant.html">assistant</a> is addressing some of the same needs in its own unique ways.-(There is also a FUSE filesystem built on top of git-annex, called-<a href="https://github.com/chmduquesne/sharebox-fs">ShareBox</a>.)</p></li>-<li><p>git-annex is not unison, but if you're finding unison's checksumming-too slow, or its strict mirroring of everything to both places too-limiting, then git-annex could be a useful alternative.</p></li>-<li><p>git-annex is more than just a workaround for git scalability-limitations that might eventually be fixed by efforts like-<a href="http://caca.zoy.org/wiki/git-bigfiles">git-bigfiles</a>. In particular,-git-annex's <a href="./location_tracking.html">location tracking</a> allows having many repositories-with a partial set of files, that are copied around as desired.</p></li>-<li><p>git-annex is not some flaky script that was quickly thrown together.-I wrote it in Haskell because I wanted it to be solid and to compile-down to a binary. And it has a fairly extensive test suite. (Don't be-fooled by "make test" only showing a few dozen test cases; each test-involves checking dozens to hundreds of assertions.)</p></li>-<li><p>git-annex is not <a href="https://github.com/schacon/git-media">git-media</a>,-although they both approach the same problem from a similar direction.-I only learned of git-media after writing git-annex, but I probably-would have still written git-annex instead of using it. Currently,-git-media has the advantage of using git smudge filters rather than-git-annex's pile of symlinks, and it may be a tighter fit for certain-situations. It lacks git-annex's support for widely distributed storage,-using only a single backend data store. It also does not support-partial checkouts of file contents, like git-annex does.</p></li>-<li><p>git-annex is similarly not <a href="https://github.com/jedbrown/git-fat">git-fat</a>,-which also uses git smudge filters, and also lacks git-annex' widely-distributed storage and partial checkouts.</p></li>-<li><p>git-annex is also not <a href="http://code.google.com/p/boar/">boar</a>,-although it shares many of its goals and characteristics. Boar implements-its own version control system, rather than simply embracing and-extending git. And while boar supports distributed clones of a repository,-it does not support keeping different files in different clones of the-same repository, which git-annex does, and is an important feature for-large-scale archiving.</p></li>-<li><p>git-annex is not the <a href="http://mercurial.selenic.com/wiki/LargefilesExtension">Mercurial largefiles extension</a>.-Although mercurial and git have some of the same problems around large-files, and both try to solve them in similar ways (standin files using-mostly hashes of the real content).</p></li>-</ul>---</div>----<div id="comments">-<div  class="feedlink">---</div>-<div class="comment" id="comment-21ca3dc4a279055e92a26ddc0740e63c">----<div class="comment-subject">--<a href="/not.html#comment-21ca3dc4a279055e92a26ddc0740e63c">git-media</a>--</div>--<div class="inlinecontent">-I haven't used git-media, but from the README it looks as though they now support several backends.  Might want to update the (very helpful!) comparison.--</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="http://bergey.dreamwidth.org/">bergey [dreamwidth.org]</a>-</span>---&mdash; <span class="date">Sat Jul 14 11:42:05 2012</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-4d4bfdd220bfc44bd5683f5da6638358">----<div class="comment-subject">--<a href="/not.html#comment-4d4bfdd220bfc44bd5683f5da6638358">Sparkleshare</a>--</div>--<div class="inlinecontent">-How does <a href="http://sparkleshare.org/">sparkleshare</a> and git-annex (and git-annex assistant) compare?--</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="https://www.google.com/accounts/o8/id?id=AItOawkurjhi0CRJvgm7QNaZDWS9hitBtavqIpc">Bret</a>-</span>---&mdash; <span class="date">Thu Sep  6 04:09:17 2012</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-10687d51e112a627d1272a69b92c2a9d">----<div class="comment-subject">--<a href="/not.html#comment-10687d51e112a627d1272a69b92c2a9d">comment 3</a>--</div>--<div class="inlinecontent">-My understanding of sparkleshare (I've not used it) is that it uses a regular git repository, so has git's problems with large files and will not support partial checkouts. However, you might want to try it out and see if it works for you.--</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="http://joeyh.name/">joeyh.name</a>-</span>---&mdash; <span class="date">Thu Sep  6 10:50:43 2012</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-c61d8243d45b78efc5ff90a3cc10318c">----<div class="comment-subject">--<a href="/not.html#comment-c61d8243d45b78efc5ff90a3cc10318c">Sparkleshare</a>--</div>--<div class="inlinecontent">-<p>Hi,</p>--<p>I used sparkleshare lately in a project involving 3 computers and 2 people. and for ascii texts and even a few smaller binary things it works ok.</p>--<p>But it does "to much" for media. at least at the moment, it just uses git for saving the data. That has a possitive and a negative aspect.</p>--<p>possitive:</p>--<ol>-<li>you have a full history, if you delete a file its not gone for ever, so if you change it, the older version is still recoverable.</li>-<li>if you would as example use it from a laptop in a train without internet and you use a git server in the internet for the central server, and would change some files, then you or somebody else would write on the same txt file as example (html or something... latex...) you would be able to merge this files.</li>-<li>its not totaly bad for backup, because you can restore old files even if you delete it localy, because it will hold all history</li>-</ol>---<p>negative:</p>--<ol>-<li>for bigger data its cracy. if you use it for movies as example, you would in git annex delete some stuff you want not to see anytime again, so you would delete it everywhere. and its really away, not beeing still there in the history</li>-<li>git as it is has issues with saving/transfairing very big files, and its slow on even mid-sized files lets say 100 5mb big files it would be slow. because at the moment sparkleshare uses git all this disatvantages are there.</li>-<li>as many clients you use lets say a projekt with 10 people, each of them have all files and all the history of this projekt/directory on their pc.</li>-<li>you need a central data-store git folder you can use a seperate pc for that or save it on a client, if you use a client for that you have to save the data double on this pc.</li>-</ol>---<p>(so you see for big files even if git would handle them faster you would waste massivly hard disk space) but again for pdfs a few pictures text files even some office files and stuff &lt;100mb its great and easy to do.</p>--<p>I try it in a few words, sparkleshare is like dropbox but with file history ( I think dropbox dont have that???) but because git is not designed (yet) for big files it works somewhat ok for &lt; 100mb stuff if you go very much higher &gt; 1GB it will not be optimal.</p>--<p>git annex dont saves the data itself in git but only the locations and the checksums. so its more like a adress book of your data. its a abstraction layer to your data, you can see on as many devises as you want even without no netzwerk internet connection active and only a very small hd see all your 5 Terrabyte of Data you might have, and move around directories sort around them... delete stuff you dont want if you can deside that by the name... and then  when you come back to the connection you sync your actions and it does it to the files.</p>--<p>And one big feature like joey said is that you cannot partialy load files from the repos to your device if it has as example only enough space for 1/10 of it.</p>--<p>There is another thing, but because it is "only" a abstraction layer, it is theoreticaly easy to implement extentions to save your data on anything not only git repositories...</p>--<p>Sparkleshare will switch to something else than git, maybe but then it will switch to this single protocol and stick to that. because it does not abstract stuff so hard.</p>--<p>btw there is a alternative out there it forces you not to use git as vcs but you have to use a vcs (like git) and you dont have to use the client written in mono but only a smaller python script:</p>--<p>http://www.mayrhofer.eu.org/dvcs-autosync</p>--<p>but the idea behind it is the same except this 2 points ;)</p>--<p>but many free software developers dont like mono, so the change that it gets more love from more people is not totaly unlikely.</p>--<p>So way to long post but hope that helps somebody ;)</p>---</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="https://www.google.com/accounts/o8/id?id=AItOawn4bbuawnh-nSo9pAh8irYAcV4MQCcfdHo">Stefan</a>-</span>---&mdash; <span class="date">Fri Sep 14 21:28:05 2012</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-e302ee7a556894832ce98b554e0942ab">----<div class="comment-subject">--<a href="/not.html#comment-e302ee7a556894832ce98b554e0942ab">comment 5</a>--</div>--<div class="inlinecontent">-<p>or to make it more simple ;)</p>--<p>sparkleshare is for proejects and maybe backup your documents folder</p>--<p>annex is for managing big binary files that not get modified most of the time and only added/synced or deleted.</p>--<p>hope thats on the point, try to start using it also now, but am a bit blowen away what it all can do and what not... and how to get a good use case, and mixing media-management with backup of home and thinking on solving that all with annex without having it used ever ;)</p>---</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="https://www.google.com/accounts/o8/id?id=AItOawn4bbuawnh-nSo9pAh8irYAcV4MQCcfdHo">Stefan</a>-</span>---&mdash; <span class="date">Fri Sep 14 21:35:06 2012</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-6f4c86ea2e3f3350df1f34a5c1caac49">----<div class="comment-subject">--<a href="/not.html#comment-6f4c86ea2e3f3350df1f34a5c1caac49">comment 6</a>--</div>--<div class="inlinecontent">-<p>Stefan: "annex is for managing big binary files that not get modified most of the time and only added/synced or deleted."</p>--<p>While this is true,  the kickstarter title for assistant was "Like dropbox", and dropbox makes it transparent to edit files and they work with the filesystem.-So with assistant, lock/unlock should be automated and transparent to the user. Otherwise it's confusing and not simple at all to use, and at least OSX keeps giving errors because of the way it handles aliases.-So something like sharebox is essential to be included in assistant in my opinion.</p>---</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="https://www.google.com/accounts/o8/id?id=AItOawlatTbI0K-qydpeYHl37iseqPNvERcdIMk">Tiago</a>-</span>---&mdash; <span class="date">Thu Sep 27 06:17:18 2012</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-041929cac200dbd17397506fe7b961de">----<div class="comment-subject">--<a href="/not.html#comment-041929cac200dbd17397506fe7b961de">comment 7</a>--</div>--<div class="inlinecontent">-<p>hi joey,</p>--<p>i'm excited by your project here but also confused by its direction. the kickstarter page has the header: "git-annex assistant: Like DropBox, but with your own cloud." this page says "git-annex is not a ... DropBox clone." these seem to be in direct opposition.</p>--<p>i'm looking for what is described by the header on your kickstarter page. i assume your backers are looking for the the same thing (a self hosted DropBox). for my use, dropbox is perfect, except for the fact that i have to pay a monthly fee to store my data on someone else's server when i would like to buy my own storage medium and run some open source dropbox clone on my own server.</p>--<p>can you explain more clearly what dropbox features your project lacks (/will lack)? and why where is a difference between your fundraising page and this one?</p>--<p>maybe i'm just confused by the difference between git-annex and git-annex assistant. does git-annex assistant truely aim to be a dropbox clone?</p>---</div>--<div class="comment-header">--Comment by--<span class="author" title="Signed in">--<a href="?page=l3iggs&amp;do=goto">l3iggs</a>--</span>---&mdash; <span class="date">Sat Feb  2 23:57:05 2013</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-113deea37a98fdc1f1ad59333c9f2dd4">----<div class="comment-subject">--<a href="/not.html#comment-113deea37a98fdc1f1ad59333c9f2dd4">comment 8</a>--</div>--<div class="inlinecontent">-<p>It's pretty much exactly what he said:</p>--<blockquote><p>git-annex is not a filesystem or DropBox clone. However, the git-annex assistant is addressing some of the same needs in its own unique ways.</p></blockquote>--<p>The git-annex assistant is not exactly like DropBox; it's not a drop-in replacement that works exactly the way dropbox works.  But as it stands, right now, it can (like Dropbox) run in the background and make sure that all of your files in a special directory are mirrored to another place (a USB drive, or a server to which you have SSH access, or another computer on your home network, or another computer somewhere else which has access to the same USB drive from time to time, or has accesss to the same SSH server or S3 repository or....</p>--<p>It works as is but is still under heavy development and features are being added rapidly.  For example, up until a month or two ago, the files in your annex were replaced with softlinks whose content resided in a hidden directory. This caused some problems esp. on OS X where native programs don't handle softlinked files very gracefully. So Joey added an entirely new way of operating called "direct mode" which uses ordinary files, much like Dropbox does.</p>--<p>So -- what you should expect from git-annex assistant is a program which solves many of the same problems Dropbox does (keeping a set of files magically in sync across computers) but does it in its own way, which won't be <em>exactly</em> like Dropbox; it will be more flexible but might require a little learning to figure out exactly how to use it the way you want.  It's possible to get a very Dropbox-like system out of the box, especially now that you don't need to use softlinks, if you've got a place on the network you can use as a central remote repository for your files, or if you only want to synchronize two or more computers on the same local network.</p>--<p>"git-annex" itself is the plumbing used by git-annex assistant, or to put it another way, the engine that the assistant has under the hood.  Git-annex itself is extremely simple and stable but should only be used by people already familiar with the command line, perhaps even people already familiar with git.</p>--<p>That's my point of view as an enthusiastic user.  Joey may have his own perspective to share. :)</p>---</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="http://edheil.wordpress.com/">edheil [wordpress.com]</a>-</span>---&mdash; <span class="date">Sun Feb  3 23:17:06 2013</span>-</div>----<div style="clear: both"></div>-</div>-----<div class="addcomment">Comments on this page are closed.</div>--</div>----</div>--<div id="footer" class="pagefooter">--<div id="pageinfo">-------<div id="backlinks">-Links:--<a href="./links/other_stuff.html">links/other stuff</a>---</div>-------<div class="pagedate">-Last edited <span class="date">Sat May  4 11:06:45 2013</span>-<!-- Created <span class="date">Sat May  4 11:06:45 2013</span> -->-</div>--</div>---<!-- from git-annex -->-</div>--</div>--</body>-</html>
− debian/git-annex/usr/share/doc/git-annex/html/preferred_content.html
@@ -1,631 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">-<html xmlns="http://www.w3.org/1999/xhtml">--<head>--<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />-<title>preferred content</title>--<link rel="stylesheet" href="style.css" type="text/css" />--<link rel="stylesheet" href="local.css" type="text/css" />-------</head>-<body>--<div class="page">--<div class="pageheader">-<div class="header">-<span>-<span class="parentlinks">--<a href="./index.html">git-annex</a>/ --</span>-<span class="title">-preferred content--</span>-</span>--</div>--------</div>---<div class="sidebar">-<p><img src="./logo_small.png" width="150" height="115" class="img" /></p>--<ul>-<li><a href="./install.html">install</a></li>-<li><a href="./assistant.html">assistant</a></li>-<li><a href="./walkthrough.html">walkthrough</a></li>-<li><a href="./tips.html">tips</a></li>-<li><span class="createlink">bugs</span></li>-<li><span class="createlink">todo</span></li>-<li><span class="createlink">forum</span></li>-<li><a href="./comments.html">comments</a></li>-<li><a href="./contact.html">contact</a></li>-<li><a href="http://flattr.com/thing/84843/git-annex"><img src="https://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" /></a></li>-</ul>---</div>---<div id="pagebody">--<div id="content">-<p>git-annex tries to ensure that the configured number of <a href="./copies.html">copies</a> of your-data always exist, and leaves it up to you to use commands like <code>git annex-get</code> and <code>git annex drop</code> to move the content to the repositories you want-to contain it. But sometimes, it can be good to have more fine-grained-control over which repositories prefer to have which content. Configuring-this allows <code>git annex get --auto</code>, <code>git annex drop --auto</code>, etc to do-smarter things.</p>--<p>Currently, preferred content settings can only be edited using <code>git-annex vicfg</code>. Each repository can have its own settings, and other-repositories may also try to honor those settings. So there's no local-<code>.git/config</code> setting it.</p>--<p>The idea is that you write an expression that files are matched against.-If a file matches, it's preferred to have its content stored in the-repository. If it doesn't, it's preferred to drop its content from-the repository (if there are enough copies elsewhere).</p>--<p>The expressions are very similar to the file matching options documented-on the <a href="./git-annex.html">git-annex</a> man page. At the command line, you can use those-options in commands like this:</p>--<pre><code>git annex get --include='*.mp3' --and -'(' --not --largerthan=100mb -')'-</code></pre>--<p>The equivilant preferred content expression looks like this:</p>--<pre><code>include=*.mp3 and (not largerthan=100mb)-</code></pre>--<p>So, just remove the dashes, basically. However, there are some differences-from the command line options to keep in mind:</p>--<h3>difference: file matching</h3>--<p>While --include and --exclude match files relative to the current-directory, preferred content expressions always match files relative to the-top of the git repository. Perhaps you put files into <code>archive</code> directories-when you're done with them. Then you could configure your laptop to prefer-to not retain those files, like this:</p>--<pre><code>exclude=*/archive/*-</code></pre>--<h3>difference: no "in="</h3>--<p>Preferred content expressions have no direct equivilant to <code>--in</code>.</p>--<p>Often, it's best to add repositories to groups, and match against-the groups in a preferred content expression. So rather than-<code>--in=usbdrive</code>, put all the USB drives into a "transfer" group,-and use "copies=transfer:1"</p>--<h3>difference: dropping</h3>--<p>To decide if content should be dropped, git-annex evaluates the preferred-content expression under the assumption that the content has <em>already</em> been-dropped. If the content would not be preferred then, the drop can be done.-So, for example, <code>copies=2</code> in a preferred content expression lets-content be dropped only when there are currently 3 copies of it, including-the repo it's being dropped from. This is different than running <code>git annex-drop --copies=2</code>, which will drop files that currently have 2 copies.</p>--<h3>difference: "present"</h3>--<p>There's a special "present" keyword you can use in a preferred content-expression. This means that content is preferred if it's present,-and not otherwise. This leaves it up to you to use git-annex manually-to move content around. You can use this to avoid preferred content-settings from affecting a subdirectory. For example:</p>--<pre><code>auto/* or (include=ad-hoc/* and present)-</code></pre>--<p>Note that <code>not present</code> is a very bad thing to put in a preferred content-expression. It'll make it prefer to get content that's not present, and-drop content that is present! Don't go there..</p>--<h3>difference: "inpreferreddir"</h3>--<p>There's a special "inpreferreddir" keyword you can use in a-preferred content expression of a special remote. This means that the-content is preferred if it's in a directory (located anywhere in the tree)-with a special name.</p>--<p>The name of the directory can be configured using-<code>git annex initremote $remote preferreddir=$dirname</code></p>--<p>(If no directory name is configured, it uses "public" by default.)</p>--<h2>standard expressions</h2>--<p>git-annex comes with some standard preferred content expressions, that can-be used with repositories that are in some pre-defined groups. To make a-repository use one of these, just set its preferred content expression-to "standard", and put it in one of these groups.</p>--<p>(Note that most of these standard expressions also make the repository-prefer any content that is only currently available on untrusted and-dead repositories. So if an untrusted repository gets connected,-any repository that can will back it up.)</p>--<h3>client</h3>--<p>All content is preferred, unless it's for a file in a "archive" directory,-which has reached an archive repository.</p>--<p><code>((exclude=*/archive/* and exclude=archive/*) or (not (copies=archive:1 or copies=smallarchive:1))) or (not copies=semitrusted+:1)</code></p>--<h3>transfer</h3>--<p>Use for repositories that are used to transfer data between other-repositories, but do not need to retain data themselves. For-example, a repository on a server, or in the cloud, or a small-USB drive used in a sneakernet.</p>--<p>The preferred content expression for these causes them to get and retain-data until all clients have a copy.</p>--<p><code>(not (inallgroup=client and copies=client:2) and ($client)</code></p>--<p>The "copies=client:2" part of the above handles the case where-there is only one client repository. It makes a transfer repository-speculatively  prefer content in this case, even though it as of yet-has nowhere to transfer it to. Presumably, another client repository-will be added later.</p>--<h3>backup</h3>--<p>All content is preferred.</p>--<p><code>include=*</code></p>--<h3>incremental backup</h3>--<p>Only prefers content that's not already backed up to another backup-or incremental backup repository.</p>--<p><code>(include=* and (not copies=backup:1) and (not copies=incrementalbackup:1)) or (not copies=semitrusted+:1)</code></p>--<h3>small archive</h3>--<p>Only prefers content that's located in an "archive" directory, and-only if it's not already been archived somewhere else.</p>--<p><code>((include=*/archive/* or include=archive/*) and not (copies=archive:1 or copies=smallarchive:1)) or (not copies=semitrusted+:1)</code></p>--<h3>full archive</h3>--<p>All content is preferred, unless it's already been archived somewhere else.</p>--<p><code>(not (copies=archive:1 or copies=smallarchive:1)) or (not copies=semitrusted+:1)</code></p>--<p>Note that if you want to archive multiple copies (not a bad idea!),-you should instead configure all your archive repositories with a-version of the above preferred content expression with a larger-number of copies.</p>--<h3>source</h3>--<p>Use for repositories where files are often added, but that do not need to-retain files for local use. For example, a repository on a camera, where-it's desirable to remove photos as soon as they're transferred elsewhere.</p>--<p>The preferred content expression for these causes them to only retain-data until a copy has been sent to some other repository.</p>--<p><code>not (copies=1)</code></p>--<h3>manual</h3>--<p>This gives you nearly full manual control over what content is stored in the-repository. This allows using the <a href="./assistant.html">assistant</a> without it trying to keep a-local copy of every file. Instead, you can manually run <code>git annex get</code>,-<code>git annex drop</code>, etc to manage content. Only content that is present-is preferred.</p>--<p>The exception to this manual control is that content that a client-repository would not want is not preferred. So, files in archive-directories are not preferred once their content has-reached an archive repository.</p>--<p><code>present and ($client)</code></p>--<h3>public</h3>--<p>This is used for publishing information to a repository that can be-publically accessed. Only files in a directory with a particular name-will be published. (The directory can be located anywhere in the-repository.)</p>--<p>The name of the directory can be configured using-<code>git annex initremote $remote preferreddir=$dirname</code></p>--<p><code>inpreferreddir</code></p>--<h3>unwanted</h3>--<p>Use for repositories that you don't want to exist. This will result-in any content on them being moved away to other repositories. (Works-best when the unwanted repository is also marked as untrusted or dead.)</p>--<p><code>exclude=*</code></p>--</div>----<div id="comments">-<div  class="feedlink">---</div>-<div class="comment" id="comment-7aa7f7b86e46f2d985d49cc199f4df8c">----<div class="comment-subject">--<a href="/preferred_content.html#comment-7aa7f7b86e46f2d985d49cc199f4df8c">Interplay with numcopies</a>--</div>--<div class="inlinecontent">-<p>How does the preferred content settings interfere with the numcopies setting?</p>--<p>I could not get behind it. E.g. a case I do not unterstand:</p>--<p>I have a preferred setting evaluating to true and still</p>--<pre><code>git annex get --auto-</code></pre>--<p>does nothing, if the number of copies produced would surpass the numcopies setting.</p>--<p>Thx</p>---</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="https://www.google.com/accounts/o8/id?id=AItOawlgyVag95OnpvSzQofjyX0WjW__MOMKsl0">Sehr</a>-</span>---&mdash; <span class="date">Wed Dec  5 16:41:26 2012</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-8a48857f456119600a50324c80c2f638">----<div class="comment-subject">--<a href="/preferred_content.html#comment-8a48857f456119600a50324c80c2f638">comment 2</a>--</div>--<div class="inlinecontent">-Yeah, that didn't make sense. I've fixed it, so it gets files if needed for either numcopies or preferred content.--</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="http://joeyh.name/">joeyh.name</a>-</span>---&mdash; <span class="date">Thu Dec  6 13:24:29 2012</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-e2601538e739674cc274918ebeb2e6c4">----<div class="comment-subject">--<a href="/preferred_content.html#comment-e2601538e739674cc274918ebeb2e6c4">comment 4</a>--</div>--<div class="inlinecontent">-<p>Built a new copy of git-annex yesterday.  I have a "client" on my macbook, and two "backup"s, one on an external HD, one on an ssh git remote.</p>--<p>git annex get --auto works beautifully!</p>--<p>It doesn't seem to work for copying content <em>to</em> a place where it's needed, though.</p>--<p>If I drop a file from my "backup" USB drive, and then go back to my macbook and do a "git annex sync" and "git annex copy --to=usbdrive --auto" it does not send the file out to the USB drive, even though by preferred content settings, the USB drive should "want" the file because it's a backup drive and it wants all content.</p>--<p>Similarly, if I add a new file on my macbook and then do a "git annex copy --to=usbdrive auto" it does not get copied to the USB drive.</p>--<p>Is this missing functionality, or should the preferred content setting for remotes only affect the assistant?</p>---</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="http://edheil.wordpress.com/">edheil [wordpress.com]</a>-</span>---&mdash; <span class="date">Fri Dec  7 16:24:18 2012</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-a669d042fd6f184e78e9798a738e9327">----<div class="comment-subject">--<a href="/preferred_content.html#comment-a669d042fd6f184e78e9798a738e9327">comment 4</a>--</div>--<div class="inlinecontent">-It was a bug in the backup group's preferred content pagespec, introduced by the changes I made to fix the previous problem. Now fixed.--</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="http://joeyh.name/">joeyh.name</a>-</span>---&mdash; <span class="date">Mon Dec 10 15:46:01 2012</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-5275886ac700e220459b5eccbfff274d">----<div class="comment-subject">--<a href="/preferred_content.html#comment-5275886ac700e220459b5eccbfff274d">comment 5</a>--</div>--<div class="inlinecontent">-thanks!--</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="http://edheil.wordpress.com/">edheil [wordpress.com]</a>-</span>---&mdash; <span class="date">Tue Dec 11 12:03:04 2012</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-b7ec0a480dc84c0cea60c9c005df30d4">----<div class="comment-subject">--<a href="/preferred_content.html#comment-b7ec0a480dc84c0cea60c9c005df30d4">comment 6</a>--</div>--<div class="inlinecontent">-<p>Is there a way to change these definitions for a given annex?</p>--<p>ie: in this repo make "client" mean</p>--<pre><code>present and exclude=*/archive/* and exclude=archive/*-</code></pre>---</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="https://www.google.com/accounts/o8/id?id=AItOawmRFKwny4rArBaz-36xTcsJYqKIgdDaw5Q">Andrew</a>-</span>---&mdash; <span class="date">Wed Jan  9 23:00:52 2013</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-c6afb7ede18e5b18a5135bf51962ce33">----<div class="comment-subject">--<a href="/preferred_content.html#comment-c6afb7ede18e5b18a5135bf51962ce33">comment 7</a>--</div>--<div class="inlinecontent">-Sorry, there's not. The expressions used for "standard" are built in.--</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="http://joeyh.name/">joeyh.name</a>-</span>---&mdash; <span class="date">Wed Jan  9 23:51:38 2013</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-2f220f751e429dea031764b51d5e6133">----<div class="comment-subject">--<a href="/preferred_content.html#comment-2f220f751e429dea031764b51d5e6133">comment 8</a>--</div>--<div class="inlinecontent">-<p>By way of a feature request: Maybe the way to do this is to have an additional keyword like "config" or "repo" that allows you to use vicfg and/or git config to set alternative rules and even additional group names.</p>--<p>In git config:</p>--<pre><code>annex.groups.&lt;groupname&gt; = present and exclude=*/archive/* and exclude=archive/*-</code></pre>--<p>in vicfg:</p>--<pre><code># (for passport)-#trust A0637025-ED47-4F95-A887-346121F1B4A0 = semitrusted--# (for passport)-group A0637025-ED47-4F95-A887-346121F1B4A0 = transfer--# (for passport)-preferred-content A0637025-ED47-4F95-A887-346121F1B4A0 = repo--# (for transfer)-group-content transfer = present and exclude=*/archive/* and exclude=archive/*-</code></pre>---</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="https://www.google.com/accounts/o8/id?id=AItOawmRFKwny4rArBaz-36xTcsJYqKIgdDaw5Q">Andrew</a>-</span>---&mdash; <span class="date">Thu Jan 10 06:24:28 2013</span>-</div>----<div style="clear: both"></div>-</div>-----<div class="addcomment">Comments on this page are closed.</div>--</div>----</div>--<div id="footer" class="pagefooter">--<div id="pageinfo">-------<div id="backlinks">-Links:--<a href="./walkthrough/automatically_managing_content.html">walkthrough/automatically managing content</a>---</div>-------<div class="pagedate">-Last edited <span class="date">Sat May  4 11:06:45 2013</span>-<!-- Created <span class="date">Sat May  4 11:06:45 2013</span> -->-</div>--</div>---<!-- from git-annex -->-</div>--</div>--</body>-</html>
− debian/git-annex/usr/share/doc/git-annex/html/related_software.html
@@ -1,140 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">-<html xmlns="http://www.w3.org/1999/xhtml">--<head>--<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />-<title>related software</title>--<link rel="stylesheet" href="style.css" type="text/css" />--<link rel="stylesheet" href="local.css" type="text/css" />-------</head>-<body>--<div class="page">--<div class="pageheader">-<div class="header">-<span>-<span class="parentlinks">--<a href="./index.html">git-annex</a>/ --</span>-<span class="title">-related software--</span>-</span>--</div>--------</div>---<div class="sidebar">-<p><img src="./logo_small.png" width="150" height="115" class="img" /></p>--<ul>-<li><a href="./install.html">install</a></li>-<li><a href="./assistant.html">assistant</a></li>-<li><a href="./walkthrough.html">walkthrough</a></li>-<li><a href="./tips.html">tips</a></li>-<li><span class="createlink">bugs</span></li>-<li><span class="createlink">todo</span></li>-<li><span class="createlink">forum</span></li>-<li><a href="./comments.html">comments</a></li>-<li><a href="./contact.html">contact</a></li>-<li><a href="http://flattr.com/thing/84843/git-annex"><img src="https://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" /></a></li>-</ul>---</div>---<div id="pagebody">--<div id="content">-<p>Some folks have built other software on top of git-annex, or that is-designed to interoperate with it.</p>--<ul>-<li>The <a href="./assistant.html">git-annex assistant</a> is included in git-annex,-and extends its use cases into new territory.</li>-<li><a href="https://github.com/rubiojr/git-annex-watcher">git-annex-watcher</a>-is a status icon for your desktop.</li>-<li><span class="createlink">gadu - git-annex disk usage</span> is a du like utility that-is git-annex aware.</li>-<li><a href="http://hackage.haskell.org/package/sizes">sizes</a> is another du-like-utility, with a <code>-A</code> switch that enables git-annex support.</li>-</ul>---</div>----<div id="comments">-----<div class="addcomment">Comments on this page are closed.</div>--</div>----</div>--<div id="footer" class="pagefooter">--<div id="pageinfo">-------<div id="backlinks">-Links:--<a href="./links/other_stuff.html">links/other stuff</a>---</div>-------<div class="pagedate">-Last edited <span class="date">Sat May  4 11:06:45 2013</span>-<!-- Created <span class="date">Sat May  4 11:06:45 2013</span> -->-</div>--</div>---<!-- from git-annex -->-</div>--</div>--</body>-</html>
− debian/git-annex/usr/share/doc/git-annex/html/repomap.png

binary file changed (67316 → absent bytes)

− debian/git-annex/usr/share/doc/git-annex/html/scalability.html
@@ -1,171 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">-<html xmlns="http://www.w3.org/1999/xhtml">--<head>--<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />-<title>scalability</title>--<link rel="stylesheet" href="style.css" type="text/css" />--<link rel="stylesheet" href="local.css" type="text/css" />-------</head>-<body>--<div class="page">--<div class="pageheader">-<div class="header">-<span>-<span class="parentlinks">--<a href="./index.html">git-annex</a>/ --</span>-<span class="title">-scalability--</span>-</span>--</div>--------</div>---<div class="sidebar">-<p><img src="./logo_small.png" width="150" height="115" class="img" /></p>--<ul>-<li><a href="./install.html">install</a></li>-<li><a href="./assistant.html">assistant</a></li>-<li><a href="./walkthrough.html">walkthrough</a></li>-<li><a href="./tips.html">tips</a></li>-<li><span class="createlink">bugs</span></li>-<li><span class="createlink">todo</span></li>-<li><span class="createlink">forum</span></li>-<li><a href="./comments.html">comments</a></li>-<li><a href="./contact.html">contact</a></li>-<li><a href="http://flattr.com/thing/84843/git-annex"><img src="https://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" /></a></li>-</ul>---</div>---<div id="pagebody">--<div id="content">-<p>git-annex is designed for scalability. The key points are:</p>--<ul>-<li><p>Arbitrarily large files can be managed. The only constraint-on file size are how large a file your filesystem can hold.</p>--<p>While git-annex does checksum files by default, there-is a <a href="./backends.html">WORM backend</a> available that avoids the checksumming-overhead, so you can add new, enormous files, very fast. This also-allows it to be used on systems with very slow disk IO.</p></li>-<li><p>Memory usage should be constant. This is a "should", because there-can sometimes be leaks (and this is one of haskell's weak spots),-but git-annex is designed so that it does not need to hold all-the details about your repository in memory.</p>--<p>The one exception is that <span class="createlink">git-annex unused eats memory</span>,-because it <em>does</em> need to hold the whole repo state in memory. But-that is still considered a bug, and hoped to be solved one day.-Luckily, that command is not often used.</p></li>-<li><p>Many files can be managed. The limiting factor is git's own-limitations in scaling to repositories with a lot of files, and as git-improves this will improve. Scaling to hundreds of thousands of files-is not a problem, scaling beyond that and git will start to get slow.</p>--<p>To some degree, git-annex works around inefficiencies in git; for-example it batches input sent to certain git commands that are slow-when run in an enormous repository.</p></li>-<li><p>It can use as much, or as little bandwidth as is available. In-particular, any interrupted file transfer can be resumed by git-annex.</p></li>-</ul>---<h2>scalability tips</h2>--<ul>-<li><p>If the files are so big that checksumming becomes a bottleneck, consider-using the <a href="./backends.html">WORM backend</a>. You can always <code>git annex migrate</code>-files to a checksumming backend later on.</p></li>-<li><p>If you're adding a huge number of files at once (hundreds of thousands),-you'll soon notice that git-annex periodically stops and say-"Recording state in git" while it runs a <code>git add</code> command that-becomes increasingly expensive. Consider adjusting the <code>annex.queuesize</code>-to a higher value, at the expense of it using more memory.</p></li>-</ul>---</div>----<div id="comments">-----<div class="addcomment">Comments on this page are closed.</div>--</div>----</div>--<div id="footer" class="pagefooter">--<div id="pageinfo">-------<div id="backlinks">-Links:--<a href="./links/the_details.html">links/the details</a>---</div>-------<div class="pagedate">-Last edited <span class="date">Sat May  4 11:06:45 2013</span>-<!-- Created <span class="date">Sat May  4 11:06:45 2013</span> -->-</div>--</div>---<!-- from git-annex -->-</div>--</div>--</body>-</html>
− debian/git-annex/usr/share/doc/git-annex/html/sidebar.html
@@ -1,133 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">-<html xmlns="http://www.w3.org/1999/xhtml">--<head>--<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />-<title>sidebar</title>--<link rel="stylesheet" href="style.css" type="text/css" />--<link rel="stylesheet" href="local.css" type="text/css" />-------</head>-<body>--<div class="page">--<div class="pageheader">-<div class="header">-<span>-<span class="parentlinks">--<a href="./index.html">git-annex</a>/ --</span>-<span class="title">-sidebar--</span>-</span>--</div>--------</div>---<div class="sidebar">-<p><img src="./logo_small.png" width="150" height="115" class="img" /></p>--<ul>-<li><a href="./install.html">install</a></li>-<li><a href="./assistant.html">assistant</a></li>-<li><a href="./walkthrough.html">walkthrough</a></li>-<li><a href="./tips.html">tips</a></li>-<li><span class="createlink">bugs</span></li>-<li><span class="createlink">todo</span></li>-<li><span class="createlink">forum</span></li>-<li><a href="./comments.html">comments</a></li>-<li><a href="./contact.html">contact</a></li>-<li><a href="http://flattr.com/thing/84843/git-annex"><img src="https://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" /></a></li>-</ul>---</div>---<div id="pagebody">--<div id="content">-<p><img src="./logo_small.png" width="150" height="115" class="img" /></p>--<ul>-<li><a href="./install.html">install</a></li>-<li><a href="./assistant.html">assistant</a></li>-<li><a href="./walkthrough.html">walkthrough</a></li>-<li><a href="./tips.html">tips</a></li>-<li><span class="createlink">bugs</span></li>-<li><span class="createlink">todo</span></li>-<li><span class="createlink">forum</span></li>-<li><a href="./comments.html">comments</a></li>-<li><a href="./contact.html">contact</a></li>-<li><a href="http://flattr.com/thing/84843/git-annex"><img src="https://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" /></a></li>-</ul>---</div>----<div id="comments">-----<div class="addcomment">Comments on this page are closed.</div>--</div>----</div>--<div id="footer" class="pagefooter">--<div id="pageinfo">------------<div class="pagedate">-Last edited <span class="date">Sat May  4 11:06:45 2013</span>-<!-- Created <span class="date">Sat May  4 11:06:45 2013</span> -->-</div>--</div>---<!-- from git-annex -->-</div>--</div>--</body>-</html>
− debian/git-annex/usr/share/doc/git-annex/html/sitemap.html
@@ -1,429 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">-<html xmlns="http://www.w3.org/1999/xhtml">--<head>--<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />-<title>sitemap</title>--<link rel="stylesheet" href="style.css" type="text/css" />--<link rel="stylesheet" href="local.css" type="text/css" />-------</head>-<body>--<div class="page">--<div class="pageheader">-<div class="header">-<span>-<span class="parentlinks">--<a href="./index.html">git-annex</a>/ --</span>-<span class="title">-sitemap--</span>-</span>--</div>--------</div>---<div class="sidebar">-<p><img src="./logo_small.png" width="150" height="115" class="img" /></p>--<ul>-<li><a href="./install.html">install</a></li>-<li><a href="./assistant.html">assistant</a></li>-<li><a href="./walkthrough.html">walkthrough</a></li>-<li><a href="./tips.html">tips</a></li>-<li><span class="createlink">bugs</span></li>-<li><span class="createlink">todo</span></li>-<li><span class="createlink">forum</span></li>-<li><a href="./comments.html">comments</a></li>-<li><a href="./contact.html">contact</a></li>-<li><a href="http://flattr.com/thing/84843/git-annex"><img src="https://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" /></a></li>-</ul>---</div>---<div id="pagebody">--<div id="content">-<div class="map">-<ul>-<li><a href="./assistant.html" class="mapitem">assistant</a>-<ul>-<li><a href="./assistant/archival_walkthrough.html" class="mapitem">archival walkthrough</a>-</li>-<li><a href="./assistant/local_pairing_walkthrough.html" class="mapitem">local pairing walkthrough</a>-</li>-<li><a href="./assistant/quickstart.html" class="mapitem">quickstart</a>-</li>-<li><a href="./assistant/release_notes.html" class="mapitem">release notes</a>-</li>-<li><a href="./assistant/remote_sharing_walkthrough.html" class="mapitem">remote sharing walkthrough</a>-</li>-<li><a href="./assistant/share_with_a_friend_walkthrough.html" class="mapitem">share with a friend walkthrough</a>-</li>-<li><a href="./assistant/thanks.html" class="mapitem">thanks</a>-</li>-</ul>-</li>-<li><a href="./backends.html" class="mapitem">backends</a>-</li>-<li><a href="./bare_repositories.html" class="mapitem">bare repositories</a>-</li>-<li><a href="./coding_style.html" class="mapitem">coding style</a>-</li>-<li><a href="./comments.html" class="mapitem">comments</a>-</li>-<li><a href="./contact.html" class="mapitem">contact</a>-</li>-<li><a href="./copies.html" class="mapitem">copies</a>-</li>-<li><a href="./design.html" class="mapitem">design</a>-<ul>-<li><a href="./design/assistant.html" class="mapitem">assistant</a>-<ul>-<li><a href="./design/assistant/OSX.html" class="mapitem">OSX</a>-</li>-<li><a href="./design/assistant/android.html" class="mapitem">android</a>-</li>-<li><a href="./design/assistant/cloud.html" class="mapitem">cloud</a>-</li>-<li><a href="./design/assistant/configurators.html" class="mapitem">configurators</a>-</li>-<li><a href="./design/assistant/deltas.html" class="mapitem">deltas</a>-</li>-<li><a href="./design/assistant/desymlink.html" class="mapitem">desymlink</a>-</li>-<li><a href="./design/assistant/encrypted_git_remotes.html" class="mapitem">encrypted git remotes</a>-</li>-<li><a href="./design/assistant/inotify.html" class="mapitem">inotify</a>-</li>-<li><a href="./design/assistant/leftovers.html" class="mapitem">leftovers</a>-</li>-<li><a href="./design/assistant/more_cloud_providers.html" class="mapitem">more cloud providers</a>-</li>-<li><a href="./design/assistant/pairing.html" class="mapitem">pairing</a>-</li>-<li><a href="./design/assistant/partial_content.html" class="mapitem">partial content</a>-</li>-<li><a href="./design/assistant/polls.html" class="mapitem">polls</a>-<ul>-<li><a href="./design/assistant/polls/Android.html" class="mapitem">Android</a>-</li>-<li><a href="./design/assistant/polls/Android_default_directory.html" class="mapitem">Android default directory</a>-</li>-<li><a href="./design/assistant/polls/goals_for_April.html" class="mapitem">goals for April</a>-</li>-<li><a href="./design/assistant/polls/prioritizing_special_remotes.html" class="mapitem">prioritizing special remotes</a>-</li>-<li><a href="./design/assistant/polls/what_is_preventing_me_from_using_git-annex_assistant.html" class="mapitem">what is preventing me from using git-annex assistant</a>-</li>-</ul>-</li>-<li><a href="./design/assistant/progressbars.html" class="mapitem">progressbars</a>-</li>-<li><a href="./design/assistant/rate_limiting.html" class="mapitem">rate limiting</a>-</li>-<li><a href="./design/assistant/syncing.html" class="mapitem">syncing</a>-</li>-<li><a href="./design/assistant/transfer_control.html" class="mapitem">transfer control</a>-</li>-<li><a href="./design/assistant/webapp.html" class="mapitem">webapp</a>-</li>-<li><a href="./design/assistant/windows.html" class="mapitem">windows</a>-</li>-<li><a href="./design/assistant/xmpp.html" class="mapitem">xmpp</a>-</li>-</ul>-</li>-<li><a href="./design/encryption.html" class="mapitem">encryption</a>-</li>-</ul>-</li>-<li><a href="./direct_mode.html" class="mapitem">direct mode</a>-</li>-<li><a href="./distributed_version_control.html" class="mapitem">distributed version control</a>-</li>-<li><a href="./download.html" class="mapitem">download</a>-</li>-<li><a href="./encryption.html" class="mapitem">encryption</a>-</li>-<li><a href="./feeds.html" class="mapitem">feeds</a>-<li><span class="createlink">footer</span>-<ul>-</li>-<li><a href="./footer/column_a.html" class="mapitem">column a</a>-</li>-<li><a href="./footer/column_b.html" class="mapitem">column b</a>-</li>-</ul>-</li>-<li><a href="./future_proofing.html" class="mapitem">future proofing</a>-</li>-<li><a href="./git-annex.html" class="mapitem">git-annex</a>-</li>-<li><a href="./git-annex-shell.html" class="mapitem">git-annex-shell</a>-</li>-<li><a href="./git-union-merge.html" class="mapitem">git-union-merge</a>-</li>-<li><a href="./how_it_works.html" class="mapitem">how it works</a>-</li>-<li><a href="./index.html" class="mapitem">index</a>-</li>-<li><a href="./install.html" class="mapitem">install</a>-<ul>-<li><a href="./install/Android.html" class="mapitem">Android</a>-</li>-<li><a href="./install/ArchLinux.html" class="mapitem">ArchLinux</a>-</li>-<li><a href="./install/Debian.html" class="mapitem">Debian</a>-</li>-<li><a href="./install/Fedora.html" class="mapitem">Fedora</a>-</li>-<li><a href="./install/FreeBSD.html" class="mapitem">FreeBSD</a>-</li>-<li><a href="./install/Gentoo.html" class="mapitem">Gentoo</a>-</li>-<li><a href="./install/Linux_standalone.html" class="mapitem">Linux standalone</a>-</li>-<li><a href="./install/NixOS.html" class="mapitem">NixOS</a>-</li>-<li><a href="./install/OSX.html" class="mapitem">OSX</a>-<ul>-<li><a href="./install/OSX/old_comments.html" class="mapitem">old comments</a>-</li>-</ul>-</li>-<li><a href="./install/ScientificLinux5.html" class="mapitem">ScientificLinux5</a>-</li>-<li><a href="./install/Ubuntu.html" class="mapitem">Ubuntu</a>-</li>-<li><a href="./install/cabal.html" class="mapitem">cabal</a>-</li>-<li><a href="./install/fromscratch.html" class="mapitem">fromscratch</a>-</li>-<li><a href="./install/openSUSE.html" class="mapitem">openSUSE</a>-</li>-</ul>-</li>-<li><a href="./internals.html" class="mapitem">internals</a>-<ul>-<li><a href="./internals/hashing.html" class="mapitem">hashing</a>-</li>-<li><a href="./internals/key_format.html" class="mapitem">key format</a>-</li>-</ul>-</li>-<li><a href="./license.html" class="mapitem">license</a>-<li><span class="createlink">links</span>-<ul>-</li>-<li><a href="./links/key_concepts.html" class="mapitem">key concepts</a>-</li>-<li><a href="./links/other_stuff.html" class="mapitem">other stuff</a>-</li>-<li><a href="./links/the_details.html" class="mapitem">the details</a>-</li>-</ul>-</li>-<li><a href="./location_tracking.html" class="mapitem">location tracking</a>-</li>-<li><a href="./meta.html" class="mapitem">meta</a>-</li>-<li><a href="./news.html" class="mapitem">news</a>-</li>-<li><a href="./not.html" class="mapitem">not</a>-</li>-<li><a href="./preferred_content.html" class="mapitem">preferred content</a>-</li>-<li><a href="./related_software.html" class="mapitem">related software</a>-</li>-<li><a href="./scalability.html" class="mapitem">scalability</a>-</li>-<li><a href="./sidebar.html" class="mapitem">sidebar</a>-</li>-<li><span class="selflink">sitemap</span>-</li>-<li><a href="./special_remotes.html" class="mapitem">special remotes</a>-<ul>-<li><a href="./special_remotes/S3.html" class="mapitem">S3</a>-</li>-<li><a href="./special_remotes/bup.html" class="mapitem">bup</a>-</li>-<li><a href="./special_remotes/directory.html" class="mapitem">directory</a>-</li>-<li><a href="./special_remotes/glacier.html" class="mapitem">glacier</a>-</li>-<li><a href="./special_remotes/hook.html" class="mapitem">hook</a>-</li>-<li><a href="./special_remotes/rsync.html" class="mapitem">rsync</a>-</li>-<li><a href="./special_remotes/web.html" class="mapitem">web</a>-</li>-<li><a href="./special_remotes/webdav.html" class="mapitem">webdav</a>-</li>-<li><a href="./special_remotes/xmpp.html" class="mapitem">xmpp</a>-</li>-</ul>-</li>-<li><a href="./summary.html" class="mapitem">summary</a>-</li>-<li><a href="./sync.html" class="mapitem">sync</a>-<li><span class="createlink">templates</span>-<ul>-</li>-<li><a href="./templates/bugtemplate.html" class="mapitem">bugtemplate</a>-</li>-</ul>-</li>-<li><a href="./testimonials.html" class="mapitem">testimonials</a>-</li>-<li><a href="./tips.html" class="mapitem">tips</a>-</li>-<li><a href="./transferring_data.html" class="mapitem">transferring data</a>-</li>-<li><a href="./trust.html" class="mapitem">trust</a>-</li>-<li><a href="./upgrades.html" class="mapitem">upgrades</a>-<ul>-<li><a href="./upgrades/SHA_size.html" class="mapitem">SHA size</a>-</li>-</ul>-<li><span class="createlink">use case</span>-<ul>-</li>-<li><a href="./use_case/Alice.html" class="mapitem">Alice</a>-</li>-<li><a href="./use_case/Bob.html" class="mapitem">Bob</a>-</li>-</ul>-</li>-<li><a href="./users.html" class="mapitem">users</a>-</li>-<li><a href="./videos.html" class="mapitem">videos</a>-</li>-<li><a href="./walkthrough.html" class="mapitem">walkthrough</a>-<ul>-<li><a href="./walkthrough/adding_a_remote.html" class="mapitem">adding a remote</a>-</li>-<li><a href="./walkthrough/adding_files.html" class="mapitem">adding files</a>-</li>-<li><a href="./walkthrough/automatically_managing_content.html" class="mapitem">automatically managing content</a>-</li>-<li><a href="./walkthrough/backups.html" class="mapitem">backups</a>-</li>-<li><a href="./walkthrough/creating_a_repository.html" class="mapitem">creating a repository</a>-</li>-<li><a href="./walkthrough/fsck:_verifying_your_data.html" class="mapitem">fsck: verifying your data</a>-</li>-<li><a href="./walkthrough/fsck:_when_things_go_wrong.html" class="mapitem">fsck: when things go wrong</a>-</li>-<li><a href="./walkthrough/getting_file_content.html" class="mapitem">getting file content</a>-</li>-<li><a href="./walkthrough/modifying_annexed_files.html" class="mapitem">modifying annexed files</a>-</li>-<li><a href="./walkthrough/more.html" class="mapitem">more</a>-</li>-<li><a href="./walkthrough/moving_file_content_between_repositories.html" class="mapitem">moving file content between repositories</a>-</li>-<li><a href="./walkthrough/removing_files.html" class="mapitem">removing files</a>-</li>-<li><a href="./walkthrough/removing_files:_When_things_go_wrong.html" class="mapitem">removing files: When things go wrong</a>-</li>-<li><a href="./walkthrough/renaming_files.html" class="mapitem">renaming files</a>-</li>-<li><a href="./walkthrough/syncing.html" class="mapitem">syncing</a>-</li>-<li><a href="./walkthrough/transferring_files:_When_things_go_wrong.html" class="mapitem">transferring files: When things go wrong</a>-</li>-<li><a href="./walkthrough/unused_data.html" class="mapitem">unused data</a>-</li>-<li><a href="./walkthrough/using_bup.html" class="mapitem">using bup</a>-</li>-<li><a href="./walkthrough/using_ssh_remotes.html" class="mapitem">using ssh remotes</a>-</li>-</ul>-</li>-</ul>-</div>-----</div>----<div id="comments">-----<div class="addcomment">Comments on this page are closed.</div>--</div>----</div>--<div id="footer" class="pagefooter">--<div id="pageinfo">-------<div id="backlinks">-Links:--<a href="./links/other_stuff.html">links/other stuff</a>---</div>-------<div class="pagedate">-Last edited <span class="date">Sat May  4 11:06:45 2013</span>-<!-- Created <span class="date">Sat May  4 11:06:45 2013</span> -->-</div>--</div>---<!-- from git-annex -->-</div>--</div>--</body>-</html>
− debian/git-annex/usr/share/doc/git-annex/html/special_remotes.html
@@ -1,573 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">-<html xmlns="http://www.w3.org/1999/xhtml">--<head>--<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />-<title>special remotes</title>--<link rel="stylesheet" href="style.css" type="text/css" />--<link rel="stylesheet" href="local.css" type="text/css" />-------</head>-<body>--<div class="page">--<div class="pageheader">-<div class="header">-<span>-<span class="parentlinks">--<a href="./index.html">git-annex</a>/ --</span>-<span class="title">-special remotes--</span>-</span>--</div>--------</div>---<div class="sidebar">-<p><img src="./logo_small.png" width="150" height="115" class="img" /></p>--<ul>-<li><a href="./install.html">install</a></li>-<li><a href="./assistant.html">assistant</a></li>-<li><a href="./walkthrough.html">walkthrough</a></li>-<li><a href="./tips.html">tips</a></li>-<li><span class="createlink">bugs</span></li>-<li><span class="createlink">todo</span></li>-<li><span class="createlink">forum</span></li>-<li><a href="./comments.html">comments</a></li>-<li><a href="./contact.html">contact</a></li>-<li><a href="http://flattr.com/thing/84843/git-annex"><img src="https://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" /></a></li>-</ul>---</div>---<div id="pagebody">--<div id="content">-<p>git-annex can transfer data to and from configured git remotes.-Normally those remotes are normal git repositories (bare and non-bare;-local and remote), that store the file contents in their own git-annex-directory.</p>--<p>But, git-annex also extends git's concept of remotes, with these special-types of remotes. These can be used just like any normal remote by git-annex.-They cannot be used by other git commands though.</p>--<ul>-<li><a href="./special_remotes/S3.html">S3</a> (Amazon S3, and other compatible services)</li>-<li><a href="./special_remotes/glacier.html">Amazon Glacier</a></li>-<li><a href="./special_remotes/bup.html">bup</a></li>-<li><a href="./special_remotes/directory.html">directory</a></li>-<li><a href="./special_remotes/rsync.html">rsync</a></li>-<li><a href="./special_remotes/webdav.html">webdav</a></li>-<li><a href="./special_remotes/web.html">web</a></li>-<li><a href="./special_remotes/xmpp.html">xmpp</a></li>-<li><a href="./special_remotes/hook.html">hook</a></li>-</ul>---<p>The above special remotes can be used to tie git-annex-into many cloud services. Here are specific instructions-for various cloud things:</p>--<ul>-<li><a href="./tips/using_Amazon_S3.html">using Amazon S3</a></li>-<li><a href="./tips/using_Amazon_Glacier.html">using Amazon Glacier</a></li>-<li><a href="./tips/Internet_Archive_via_S3.html">Internet Archive via S3</a></li>-<li><span class="createlink">tahoe-lafs</span></li>-<li><a href="./tips/using_box.com_as_a_special_remote.html">using box.com as a special remote</a></li>-<li><span class="createlink">special remote for IMAP</span></li>-</ul>---<h2>Unused content on special remotes</h2>--<p>Over time, special remotes can accumulate file content that is no longer-referred to by files in git. Normally, unused content in the current-repository is found by running <code>git annex unused</code>. To detect unused content-on special remotes, instead use <code>git annex unused --from</code>. Example:</p>--<pre><code>$ git annex unused --from mys3-unused mys3 (checking for unused data...) -  Some annexed data on mys3 is not used by any files in this repository.-    NUMBER  KEY-    1       WORM-s3-m1301674316--foo-  (To see where data was previously used, try: git log --stat -S'KEY')-  (To remove unwanted data: git-annex dropunused --from mys3 NUMBER)-$ git annex dropunused --from mys3 1-dropunused 12948 (from mys3...) ok-</code></pre>--</div>----<div id="comments">-<div  class="feedlink">---</div>-<div class="comment" id="comment-f1021e7fb1ba30235004bab75f81104a">----<div class="comment-subject">--<a href="/special_remotes.html#comment-f1021e7fb1ba30235004bab75f81104a">MediaFire</a>--</div>--<div class="inlinecontent">-MediaFire offers 50GB of free storage (max size 200MB). It would be great to support it as a new special remote.--</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="https://www.google.com/accounts/o8/id?id=AItOawk9nck8WX8-ADF3Fdh5vFo4Qrw1I_bJcR8">Jon Ander</a>-</span>---&mdash; <span class="date">Thu Jan 17 08:17:54 2013</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-f3effaa58c166dcc041a25405710e882">----<div class="comment-subject">--<a href="/special_remotes.html#comment-f3effaa58c166dcc041a25405710e882">comment 2</a>--</div>--<div class="inlinecontent">-Mediafire does not appear to offer any kind of API for its storage.--</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="http://joeyh.name/">joeyh.name</a>-</span>---&mdash; <span class="date">Thu Jan 17 12:44:25 2013</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-31e23b0e9a5c50eb6ef98c6617b29fa9">----<div class="comment-subject">--<a href="/special_remotes.html#comment-31e23b0e9a5c50eb6ef98c6617b29fa9">MediaFire REST API</a>--</div>--<div class="inlinecontent">-Wouldn't this be enough? http://developers.mediafire.com/index.php/REST_API--</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="https://www.google.com/accounts/o8/id?id=AItOawk9nck8WX8-ADF3Fdh5vFo4Qrw1I_bJcR8">Jon Ander</a>-</span>---&mdash; <span class="date">Thu Jan 17 12:53:41 2013</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-b8f280b34a06a44750b66072ac845b05">----<div class="comment-subject">--<a href="/special_remotes.html#comment-b8f280b34a06a44750b66072ac845b05">JABOF special remote</a>--</div>--<div class="inlinecontent">-<p>Similar to a JABOD, this would be Just A Bunch Of Files. I already have a NAS with a file structure conducive to serving media to my TV. However, it's not capable (currently) of running git-annex locally. It would be great to be able to tell annex the path to a file there as a remote much like a web remote from "git annex addurl". That way I can safely drop all the files I took with me on my trip, while annex still verifies and counts the file on the NAS as a location.</p>--<p>There are some interesting things to figure out for this to be efficient. For example, SHAs of the files. Maybe store that in a metadata file in the directory of the files? Or perhaps use the WORM backend by default?</p>---</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="https://www.google.com/accounts/o8/id?id=AItOawmRFKwny4rArBaz-36xTcsJYqKIgdDaw5Q">Andrew</a>-</span>---&mdash; <span class="date">Sat Jan 19 04:34:32 2013</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-0b407b8fe22081799d0a62b6ff310897">----<div class="comment-subject">--<a href="/special_remotes.html#comment-0b407b8fe22081799d0a62b6ff310897">comment 5</a>--</div>--<div class="inlinecontent">-The web special remote is recently able to use file:// URL's, so you can just point to files on some arbitrary storage if you want to.--</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="http://joeyh.name/">joeyh.name</a>-</span>---&mdash; <span class="date">Sat Jan 19 12:05:13 2013</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-b7ca8f0707188bb455c1deb542b404be">----<div class="comment-subject">--<a href="/special_remotes.html#comment-b7ca8f0707188bb455c1deb542b404be">Rackspace US/UK</a>--</div>--<div class="inlinecontent">-It'd be awesome to be able to use Rackspace as remote storage as an alternative to S3, I would submit a patch, but know 0 Haskell :D--</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="https://www.google.com/accounts/o8/id?id=AItOawlBia1J9-PoXgZYj2LASf7Bs__IqK3T8qQ">Greg</a>-</span>---&mdash; <span class="date">Wed Jan 30 07:33:12 2013</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-60556d1f805cf5682d0dfaeee07463d6">----<div class="comment-subject">--<a href="/special_remotes.html#comment-60556d1f805cf5682d0dfaeee07463d6">Rapidshare</a>--</div>--<div class="inlinecontent">-<p>Would it be possible to support Rapidshare as a new special remote?-They offer unlimited storage for 6-10€ per month. It would be great for larger backups.-Their API can be found here: http://images.rapidshare.com/apidoc.txt</p>---</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="https://www.google.com/accounts/o8/id?id=AItOawn-UoTjMBsVh6q4HNViGwJi-5FNaCVQB7E">Nico</a>-</span>---&mdash; <span class="date">Sat Feb  2 12:49:58 2013</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-5d059e69f65ebdf284be57fe4fcda77b">----<div class="comment-subject">--<a href="/special_remotes.html#comment-5d059e69f65ebdf284be57fe4fcda77b">&#x27;webhook&#x27; special remote?</a>--</div>--<div class="inlinecontent">-<p>Is there any chance a special remote that functions like a hybrid of 'web' and 'hook'? At least in theory, it should be relatively simple, since it would only support 'get' and the only meaningful parameters to pass would be the URL and the output file name.</p>--<p>Maybe make it something like git config annex.myprogram-webhook 'myprogram $ANNEX_URL $ANNEX_FILE', and fetching could work by adding a --handler or --type parameter to addurl.</p>--<p>The use case here is anywhere that simple 'fetch the file over HTTP/FTP/etc' isn't workable - maybe it's on rapidshare and you need to use plowshare to download it; maybe it's a youtube video and you want to use youtube-dl, maybe it's a chapter of a manga and you want to turn it into a CBZ file when you fetch it.</p>---</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="https://www.google.com/accounts/o8/id?id=AItOawlRThEwuPnr8_bcuuCTQ0rQd3w6AfeMiLY">Alex</a>-</span>---&mdash; <span class="date">Sun Feb 24 11:05:27 2013</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-59648c5eed99b8979c1c70ee90c09f0e">----<div class="comment-subject">--<a href="/special_remotes.html#comment-59648c5eed99b8979c1c70ee90c09f0e">comment 9</a>--</div>--<div class="inlinecontent">-A <em>ridiculously</em> cool possibility would be to allow them to match against URLs and then handle those (youtube-dl for youtube video URLs, for instance), but that would be additional work on your end and isn't really necessary.--</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="https://www.google.com/accounts/o8/id?id=AItOawlRThEwuPnr8_bcuuCTQ0rQd3w6AfeMiLY">Alex</a>-</span>---&mdash; <span class="date">Sun Feb 24 11:13:16 2013</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-6fb4c73a17f84bcf38cc9ebf164090a8">----<div class="comment-subject">--<a href="/special_remotes.html#comment-6fb4c73a17f84bcf38cc9ebf164090a8">Rackspace Cloud Files support</a>--</div>--<div class="inlinecontent">-It'd be really cool to have Rackspace cloud files support. Like the guy above me said, I would submit a patch but not if I have to learn Haskell first :)--</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="https://www.google.com/accounts/o8/id?id=AItOawkQqKSVY98PVGDIaYZdK9CodJdbh7cFfhY">Ashwin</a>-</span>---&mdash; <span class="date">Fri Mar 22 04:20:40 2013</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-18ee66a322dee292bddd66916c68ddb5">----<div class="comment-subject">--<a href="/special_remotes.html#comment-18ee66a322dee292bddd66916c68ddb5">Re: Webhook special remote</a>--</div>--<div class="inlinecontent">-@Alex: You might see if the newly-added <span class="createlink">wishlist: allow configuration of downloader for addurl</span> could be made to do what you need... I've not played around with it yet, but perhaps you could set the downloader to be something that can sort out the various URLs and send them to the correct downloading tool?--</div>--<div class="comment-header">--Comment by--<span class="author" title="Signed in">--<a href="?page=andy&amp;do=goto">andy</a>--</span>---&mdash; <span class="date">Fri Apr 12 04:54:47 2013</span>-</div>----<div style="clear: both"></div>-</div>-----<div class="addcomment">Comments on this page are closed.</div>--</div>----</div>--<div id="footer" class="pagefooter">--<div id="pageinfo">-------<div id="backlinks">-Links:--<a href="./backends/comment_2_1f2626eca9004b31a0b7fc1a0df8027b.html">backends/comment 2 1f2626eca9004b31a0b7fc1a0df8027b</a>--<a href="./copies.html">copies</a>--<a href="./design/assistant/more_cloud_providers.html">design/assistant/more cloud providers</a>--<a href="./design/assistant/polls/prioritizing_special_remotes.html">design/assistant/polls/prioritizing special remotes</a>--<a href="./encryption.html">encryption</a>--<a href="./how_it_works.html">how it works</a>--<a href="./internals.html">internals</a>--<a href="./links/key_concepts.html">links/key concepts</a>--<a href="./special_remotes/rsync/comment_2_25545dc0b53f09ae73b29899c8884b02.html">special remotes/rsync/comment 2 25545dc0b53f09ae73b29899c8884b02</a>--<a href="./tips/using_Amazon_S3.html">tips/using Amazon S3</a>---<span class="popup">...-<span class="balloon">--<a href="./tips/using_box.com_as_a_special_remote.html">tips/using box.com as a special remote</a>--<a href="./tips/using_the_web_as_a_special_remote.html">tips/using the web as a special remote</a>--<a href="./transferring_data.html">transferring data</a>--<a href="./use_case/Alice.html">use case/Alice</a>--<a href="./walkthrough/modifying_annexed_files/comment_1_624b4a0b521b553d68ab6049f7dbaf8c.html">walkthrough/modifying annexed files/comment 1 624b4a0b521b553d68ab6049f7dbaf8c</a>--<a href="./walkthrough/using_bup.html">walkthrough/using bup</a>--</span>-</span>--</div>-------<div class="pagedate">-Last edited <span class="date">Sat May  4 11:06:45 2013</span>-<!-- Created <span class="date">Sat May  4 11:06:45 2013</span> -->-</div>--</div>---<!-- from git-annex -->-</div>--</div>--</body>-</html>
− debian/git-annex/usr/share/doc/git-annex/html/special_remotes/S3.html
@@ -1,451 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">-<html xmlns="http://www.w3.org/1999/xhtml">--<head>--<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />-<title>S3</title>--<link rel="stylesheet" href="../style.css" type="text/css" />--<link rel="stylesheet" href="../local.css" type="text/css" />-------</head>-<body>--<div class="page">--<div class="pageheader">-<div class="header">-<span>-<span class="parentlinks">--<a href="../index.html">git-annex</a>/ --<a href="../special_remotes.html">special remotes</a>/ --</span>-<span class="title">-S3--</span>-</span>--</div>--------</div>---<div class="sidebar">-<p><img src="../logo_small.png" width="150" height="115" class="img" /></p>--<ul>-<li><a href="../install.html">install</a></li>-<li><a href="../assistant.html">assistant</a></li>-<li><a href="../walkthrough.html">walkthrough</a></li>-<li><a href="../tips.html">tips</a></li>-<li><span class="createlink">bugs</span></li>-<li><span class="createlink">todo</span></li>-<li><span class="createlink">forum</span></li>-<li><a href="../comments.html">comments</a></li>-<li><a href="../contact.html">contact</a></li>-<li><a href="http://flattr.com/thing/84843/git-annex"><img src="https://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" /></a></li>-</ul>---</div>---<div id="pagebody">--<div id="content">-<p>This special remote type stores file contents in a bucket in Amazon S3-or a similar service.</p>--<p>See <a href="../tips/using_Amazon_S3.html">using Amazon S3</a> and-<a href="../tips/Internet_Archive_via_S3.html">Internet Archive via S3</a> for usage examples.</p>--<h2>configuration</h2>--<p>The standard environment variables <code>AWS_ACCESS_KEY_ID</code> and-<code>AWS_SECRET_ACCESS_KEY</code> are used to supply login credentials-for Amazon. You need to set these only when running-<code>git annex initremote</code>, as they will be cached in a file only you-can read inside the local git repository.</p>--<p>A number of parameters can be passed to <code>git annex initremote</code> to configure-the S3 remote.</p>--<ul>-<li><p><code>encryption</code> - Required. Either "none" to disable encryption (not recommended),-or a value that can be looked up (using gpg -k) to find a gpg encryption-key that will be given access to the remote, or "shared" which allows-every clone of the repository to access the encrypted data (use with caution).</p>--<p>Note that additional gpg keys can be given access to a remote by-running enableremote with the new key id. See <a href="../encryption.html">encryption</a>.</p></li>-<li><p><code>embedcreds</code> - Optional. Set to "yes" embed the login credentials inside-the git repository, which allows other clones to also access them. This is-the default when gpg encryption is enabled; the credentials are stored-encrypted and only those with the repository's keys can access them.</p>--<p>It is not the default when using shared encryption, or no encryption.-Think carefully about who can access your repository before using-embedcreds without gpg encryption.</p></li>-<li><p><code>datacenter</code> - Defaults to "US". Other values include "EU",-"us-west-1", and "ap-southeast-1".</p></li>-<li><p><code>storageclass</code> - Default is "STANDARD". If you have configured git-annex-to preserve multiple <a href="../copies.html">copies</a>, consider setting this to "REDUCED_REDUNDANCY"-to save money.</p></li>-<li><p><code>host</code> and <code>port</code> - Specify in order to use a different, S3 compatable-service.</p></li>-<li><p><code>bucket</code> - S3 requires that buckets have a globally unique name,-so by default, a bucket name is chosen based on the remote name-and UUID. This can be specified to pick a bucket name.</p></li>-<li><p><code>fileprefix</code> - By default, git-annex places files in a tree rooted at the-top of the S3 bucket. When this is set, it's prefixed to the filenames-used. For example, you could set it to "foo/" in one special remote,-and to "bar/" in another special remote, and both special remotes could-then use the same bucket.</p></li>-<li><p><code>x-amz-*</code> are passed through as http headers when storing keys-in S3.</p></li>-</ul>---</div>----<div id="comments">-<div  class="feedlink">---</div>-<div class="comment" id="comment-e78d09fa4f81e60b0a5bbe36d8b16e5f">----<div class="comment-subject">--<a href="/special_remotes/S3.html#comment-e78d09fa4f81e60b0a5bbe36d8b16e5f">environment variables</a>--</div>--<div class="inlinecontent">-Just noting that the environment variables <code>ANNEX_S3_ACCESS_KEY_ID</code> and <code>ANNEX_S3_SECRET_ACCESS_KEY</code> seem to have been changed to <code>AWS_ACCESS_KEY_ID</code> and <code>AWS_SECRET_ACCESS_KEY</code>--</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="https://www.google.com/accounts/o8/id?id=AItOawnoUOqs_lbuWyZBqyU6unHgUduJwDDgiKY">Matt</a>-</span>---&mdash; <span class="date">Tue May 29 08:40:25 2012</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-bc9f8e8cc2d8fd72e5b6518798f0ebfc">----<div class="comment-subject">--<a href="/special_remotes/S3.html#comment-bc9f8e8cc2d8fd72e5b6518798f0ebfc">comment 2</a>--</div>--<div class="inlinecontent">-Thanks, I've fixed that. (You could have too.. this is a wiki ;)--</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="http://joeyh.name/">joeyh.name</a>-</span>---&mdash; <span class="date">Tue May 29 15:10:46 2012</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-286cccd33f418b14269c9cb2701dbaf2">----<div class="comment-subject">--<a href="/special_remotes/S3.html#comment-286cccd33f418b14269c9cb2701dbaf2">comment 3</a>--</div>--<div class="inlinecontent">-Thanks! Being new here, I didn't want to overstep my boundaries. I've gone ahead and made a small edit and will do so elsewhere as needed.--</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="https://www.google.com/accounts/o8/id?id=AItOawnoUOqs_lbuWyZBqyU6unHgUduJwDDgiKY">Matt</a>-</span>---&mdash; <span class="date">Tue May 29 20:26:33 2012</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-222c50147c35ecbc819e1834cb6f6860">----<div class="comment-subject">--<a href="/special_remotes/S3.html#comment-222c50147c35ecbc819e1834cb6f6860">bucket/folder s3 remotes</a>--</div>--<div class="inlinecontent">-<p>it'd be really nice being able to configure a S3 remote of the form <code>&lt;bucket&gt;/&lt;folder&gt;</code> (not really a folder, of course, just the usual prefix trick used to simulate folders at S3). The remote = bucket architecture is not scalable at all, in terms of number of repositories.</p>--<p>how hard would it be to support this?</p>--<p>thanks, this is the only thing that's holding us back from using git-annex, nice tool!</p>---</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="https://www.google.com/accounts/o8/id?id=AItOawmX5gPNK35Dub-HzR0Yb3KXllbqc0rYRYs">Eduardo</a>-</span>---&mdash; <span class="date">Thu Aug  9 06:52:07 2012</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-1109d3fda1d755925bfac275335a7cb8">----<div class="comment-subject">--<a href="/special_remotes/S3.html#comment-1109d3fda1d755925bfac275335a7cb8">comment 5</a>--</div>--<div class="inlinecontent">-I guess this could be useful if you have a <em>lot</em> of buckets already in use at S3, or if you want to be able to have a lot of distinct S3 special remotes. Implemented the <code>fileprefix</code> setting. Note that I have not tested it, beyond checking it builds, since I let my S3 account expire. Your testing would be appreciated.--</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="http://joeyh.name/">joeyh.name</a>-</span>---&mdash; <span class="date">Thu Aug  9 14:01:06 2012</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-75f6b47cb9420e144121e759946f410c">----<div class="comment-subject">--<a href="/special_remotes/S3.html#comment-75f6b47cb9420e144121e759946f410c">Rackspace Cloud Files support?</a>--</div>--<div class="inlinecontent">-<p>Any chance I could bribe you to setup Rackspace Cloud Files support?  We are using them and would hate to have a S3 bucket only for this.</p>--<p>https://github.com/rackspace/python-cloudfiles</p>---</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="https://www.google.com/accounts/o8/id?id=AItOawnY9ObrNrQuRp8Xs0XvdtJJssm5cp4NMZA">alan</a>-</span>---&mdash; <span class="date">Thu Aug 23 17:00:11 2012</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-d3268047d1eff90564547c661cdea8a5">----<div class="comment-subject">--<a href="/special_remotes/S3.html#comment-d3268047d1eff90564547c661cdea8a5">S3 Remote Future Proof?</a>--</div>--<div class="inlinecontent">-Joey, I'm curious to understand how future proof an S3 remote is.  Can I restore my files without git-annex?--</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="https://www.google.com/accounts/o8/id?id=AItOawmyFvkaewo432ELwtCoecUGou4v3jCP0Pc">Eric</a>-</span>---&mdash; <span class="date">Sun Jan 20 05:21:50 2013</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-e9d48ba37aa5b01c236ab894057660b7">----<div class="comment-subject">--<a href="/special_remotes/S3.html#comment-e9d48ba37aa5b01c236ab894057660b7">comment 8</a>--</div>--<div class="inlinecontent">-<p>If encryption is not used, the files are stored in S3 as-is, and can be accessed directly. They are stored in a hashed directory structure with the names of their key used, rather than the original filename. To get back to the original filename, a copy of the git repo would also be needed.</p>--<p>With encryption, you need the gpg key used in the encryption, or, for shared encryption, a symmetric key which is stored in the git repo.</p>--<p>See <a href="../future_proofing.html">future proofing</a> for non-S3 specific discussion of this topic.</p>---</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="http://joeyh.name/">joeyh.name</a>-</span>---&mdash; <span class="date">Sun Jan 20 16:37:09 2013</span>-</div>----<div style="clear: both"></div>-</div>-----<div class="addcomment">Comments on this page are closed.</div>--</div>----</div>--<div id="footer" class="pagefooter">--<div id="pageinfo">-------<div id="backlinks">-Links:--<a href="../special_remotes.html">special remotes</a>--<a href="../tips/Internet_Archive_via_S3.html">tips/Internet Archive via S3</a>--<a href="../tips/using_Amazon_S3.html">tips/using Amazon S3</a>--<a href="../tips/using_Google_Cloud_Storage.html">tips/using Google Cloud Storage</a>---</div>-------<div class="pagedate">-Last edited <span class="date">Sat May  4 11:06:45 2013</span>-<!-- Created <span class="date">Sat May  4 11:06:45 2013</span> -->-</div>--</div>---<!-- from git-annex -->-</div>--</div>--</body>-</html>
− debian/git-annex/usr/share/doc/git-annex/html/special_remotes/bup.html
@@ -1,461 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">-<html xmlns="http://www.w3.org/1999/xhtml">--<head>--<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />-<title>bup</title>--<link rel="stylesheet" href="../style.css" type="text/css" />--<link rel="stylesheet" href="../local.css" type="text/css" />-------</head>-<body>--<div class="page">--<div class="pageheader">-<div class="header">-<span>-<span class="parentlinks">--<a href="../index.html">git-annex</a>/ --<a href="../special_remotes.html">special remotes</a>/ --</span>-<span class="title">-bup--</span>-</span>--</div>--------</div>---<div class="sidebar">-<p><img src="../logo_small.png" width="150" height="115" class="img" /></p>--<ul>-<li><a href="../install.html">install</a></li>-<li><a href="../assistant.html">assistant</a></li>-<li><a href="../walkthrough.html">walkthrough</a></li>-<li><a href="../tips.html">tips</a></li>-<li><span class="createlink">bugs</span></li>-<li><span class="createlink">todo</span></li>-<li><span class="createlink">forum</span></li>-<li><a href="../comments.html">comments</a></li>-<li><a href="../contact.html">contact</a></li>-<li><a href="http://flattr.com/thing/84843/git-annex"><img src="https://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" /></a></li>-</ul>---</div>---<div id="pagebody">--<div id="content">-<p>This special remote type stores file contents in a-<a href="http://github.com/bup/bup">bup</a> repository. By using git-annex-in the front-end, and bup as a remote, you get an easy git-style-interface to large files, and easy backups of the file contents using git.</p>--<p>This is particularly well suited to collaboration on projects involving-large files, since both the git-annex and bup repositories can be-accessed like any other git repository.</p>--<p>See <a href="../walkthrough/using_bup.html">using bup</a> for usage examples.</p>--<p>Each individual key is stored in a bup remote using <code>bup split</code>, with-a git branch named the same as the key name. Content is retrieved from-bup using <code>bup join</code>. All other bup operations are up to you -- consider-running <code>bup fsck --generate</code> in a cron job to generate recovery blocks,-for example; or clone bup's git repository to further back it up.</p>--<h2>configuration</h2>--<p>These parameters can be passed to <code>git annex initremote</code> to configure bup:</p>--<ul>-<li><p><code>encryption</code> - Required. Either "none" to disable encryption of content-stored in bup (ssh will still be used to transport it securely),-or a value that can be looked up (using gpg -k) to find a gpg encryption-key that will be given access to the remote, or "shared" which allows-every clone of the repository to access the encrypted data (use with caution).</p>--<p>Note that additional gpg keys can be given access to a remote by-running enableremote with the new key id. See <a href="../encryption.html">encryption</a>.</p></li>-<li><p><code>buprepo</code> - Required. This is passed to <code>bup</code> as the <code>--remote</code>-to use to store data. To create the repository,<code>bup init</code> will be run.-Example: "buprepo=example.com:/big/mybup" or "buprepo=/big/mybup"-(To use the default <code>~/.bup</code> repository on the local host, specify "buprepo=")</p></li>-</ul>---<p>Options to pass to <code>bup split</code> when sending content to bup can also-be specified, by using <code>git config annex.bup-split-options</code>. This-can be used to, for example, limit its bandwidth.</p>--<h2>notes</h2>--<p><a href="../git-annex-shell.html">git-annex-shell</a> does not support bup, due to the wacky way that bup-starts its server. So, to use bup, you need full shell access to the server.</p>--</div>----<div id="comments">-<div  class="feedlink">---</div>-<div class="comment" id="comment-fcebb136f6078e006751a2bb398f72bd">----<div class="comment-subject">--<a href="/special_remotes/bup.html#comment-fcebb136f6078e006751a2bb398f72bd">Error with bup and gnupg</a>--</div>--<div class="inlinecontent">-<p>Hello,</p>--<p>I get this error when trying to use git-annex with bup and gnupg:</p>--<pre>-move importable_pilot_surveys.tar (gpg) (checking localaseebup...) (to localaseebup...) -Traceback (most recent call last):-  File "/usr/lib/bup/cmd/bup-split", line 133, in -    progress=prog)-  File "/usr/lib/bup/bup/hashsplit.py", line 167, in split_to_shalist-    for (sha,size,bits) in sl:-  File "/usr/lib/bup/bup/hashsplit.py", line 118, in _split_to_blobs-    for (blob, bits) in hashsplit_iter(files, keep_boundaries, progress):-  File "/usr/lib/bup/bup/hashsplit.py", line 86, in _hashsplit_iter-    bnew = next(fi)-  File "/usr/lib/bup/bup/helpers.py", line 86, in next-    return it.next()-  File "/usr/lib/bup/bup/hashsplit.py", line 49, in blobiter-    for filenum,f in enumerate(files):-  File "/usr/lib/bup/cmd/bup-split", line 128, in -    files = extra and (open(fn) for fn in extra) or [sys.stdin]-IOError: [Errno 2] No such file or directory: '-'-</pre>---<p>I was able to work-around this issue by altering /usr/lib/bup/cmd/bup-split (though I don't think its a bup bug) to just pull from stdin:</p>--<p>files = [sys.stdin]</p>--<p>on ~ line 128.</p>--<p>Any ideas? Also, do you think that bup's data-deduplication does anything when gnupg is enabled, i.e. is it just as well to use a directory remote with gnupg?</p>--<p>Thanks! Git annex rules!</p>--<p>Albert</p>---</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="https://www.google.com/accounts/o8/id?id=AItOawkgbXwQtPQSG8igdS7U8l031N8sqDmuyvk">Albert</a>-</span>---&mdash; <span class="date">Mon Oct 22 16:56:56 2012</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-65d022495714fd230318fc36328928ec">----<div class="comment-subject">--<a href="/special_remotes/bup.html#comment-65d022495714fd230318fc36328928ec">comment 2</a>--</div>--<div class="inlinecontent">-<p>@Albert, thanks for reporting this bug (but put them in <span class="createlink">bugs</span> in future please).</p>--<p>This is specific to using the bup special remote with encryption. Without encryption it works. And no, it won't manage to deduplicate anything that's encrypted, as far as I know.</p>--<p>I think bup-split must have used - for stdin in the past, but now, it just reads from stdin when no file is specified, so I've updated git-annex.</p>---</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="http://joeyh.name/">joeyh.name</a>-</span>---&mdash; <span class="date">Tue Oct 23 16:01:43 2012</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-e8e658180a98b2b4fa3ba75dab3f2d03">----<div class="comment-subject">--<a href="/special_remotes/bup.html#comment-e8e658180a98b2b4fa3ba75dab3f2d03">Bup remotes in git-annex assistant</a>--</div>--<div class="inlinecontent">-<p>Hi,</p>--<p>Is the bup remote available via the Assistant user interface?</p>--<p>Unrelated question;</p>--<p>If you are syncing files between two bup repos on local usb drives, does it use git to sync the changes or does it use "bup split" to re-add the file? (Basically, is the syncing as efficient as possible using git-annex or would I have to go to a lower level)</p>--<p>Many Thanks,-Sek</p>---</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="http://sekenre.wordpress.com/">sekenre</a>-</span>---&mdash; <span class="date">Wed Mar 13 08:54:56 2013</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-ab4ff45deb1dbd6bdc4f358edf17f859">----<div class="comment-subject">--<a href="/special_remotes/bup.html#comment-ab4ff45deb1dbd6bdc4f358edf17f859">comment 4</a>--</div>--<div class="inlinecontent">-<p>I don't plan to support creating bup spefial remotes in the assistant, currently. Of course the assistant can use bup special remotes you set up.</p>--<p>Your two bup repos would be synced using bup-split.</p>---</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="http://joeyh.name/">joey</a>-</span>---&mdash; <span class="date">Wed Mar 13 12:05:50 2013</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-e83698f8503aa61fbb9e87d2d4cad27d">----<div class="comment-subject">--<a href="/special_remotes/bup.html#comment-e83698f8503aa61fbb9e87d2d4cad27d">comment 5</a>--</div>--<div class="inlinecontent">-<p>I don't plan to support creating bup spefial remotes in the assistant, currently. Of course the assistant can use bup special remotes you set up.</p>--<p>Your two bup repos would be synced using bup-split.</p>---</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="http://joeyh.name/">joey</a>-</span>---&mdash; <span class="date">Wed Mar 13 12:05:57 2013</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-9eb04fc51f17b4ae6ea96bca6bb102eb">----<div class="comment-subject">--<a href="/special_remotes/bup.html#comment-9eb04fc51f17b4ae6ea96bca6bb102eb">bup fail?</a>--</div>--<div class="inlinecontent">-<p>I've run into problems storing a huge number of files in the bup repo. It seems that thousands of branches are a problem. I don't know if it's a problem of git-annex, bup, or the filesystem.</p>--<p>How about adding an option to store tree/commit ids in git-annex instead of using branches in bup?</p>---</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="https://www.google.com/accounts/o8/id?id=AItOawnZWCbRYPVnwscdkdEDwgQHZJLwW6H_AHo">Tobias</a>-</span>---&mdash; <span class="date">Sun Mar 31 17:05:32 2013</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-904c03f2de30340c297379a762529702">----<div class="comment-subject">--<a href="/special_remotes/bup.html#comment-904c03f2de30340c297379a762529702">comment 7</a>--</div>--<div class="inlinecontent">-<p><code>bup-split</code> uses a git branch to name the objects stored in the bup repository. So it will be limited by any scalability issues affecting large numbers of git branches. I don't know what those are.</p>--<p>Yes, it would be possible to make git-annex store this in the git-annex branch instead.</p>---</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="http://joeyh.name/">joey</a>-</span>---&mdash; <span class="date">Tue Apr  2 17:24:06 2013</span>-</div>----<div style="clear: both"></div>-</div>-----<div class="addcomment">Comments on this page are closed.</div>--</div>----</div>--<div id="footer" class="pagefooter">--<div id="pageinfo">-------<div id="backlinks">-Links:--<a href="../not.html">not</a>--<a href="../special_remotes.html">special remotes</a>--<a href="../walkthrough/using_bup.html">walkthrough/using bup</a>---</div>-------<div class="pagedate">-Last edited <span class="date">Sat May  4 11:06:45 2013</span>-<!-- Created <span class="date">Sat May  4 11:06:45 2013</span> -->-</div>--</div>---<!-- from git-annex -->-</div>--</div>--</body>-</html>
− debian/git-annex/usr/share/doc/git-annex/html/special_remotes/directory.html
@@ -1,332 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">-<html xmlns="http://www.w3.org/1999/xhtml">--<head>--<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />-<title>directory</title>--<link rel="stylesheet" href="../style.css" type="text/css" />--<link rel="stylesheet" href="../local.css" type="text/css" />-------</head>-<body>--<div class="page">--<div class="pageheader">-<div class="header">-<span>-<span class="parentlinks">--<a href="../index.html">git-annex</a>/ --<a href="../special_remotes.html">special remotes</a>/ --</span>-<span class="title">-directory--</span>-</span>--</div>--------</div>---<div class="sidebar">-<p><img src="../logo_small.png" width="150" height="115" class="img" /></p>--<ul>-<li><a href="../install.html">install</a></li>-<li><a href="../assistant.html">assistant</a></li>-<li><a href="../walkthrough.html">walkthrough</a></li>-<li><a href="../tips.html">tips</a></li>-<li><span class="createlink">bugs</span></li>-<li><span class="createlink">todo</span></li>-<li><span class="createlink">forum</span></li>-<li><a href="../comments.html">comments</a></li>-<li><a href="../contact.html">contact</a></li>-<li><a href="http://flattr.com/thing/84843/git-annex"><img src="https://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" /></a></li>-</ul>---</div>---<div id="pagebody">--<div id="content">-<p>This special remote type stores file contents in directory.</p>--<p>One use case for this would be if you have a removable drive that-you want to use it to sneakernet files between systems (possibly with-<a href="../encryption.html">encrypted</a> contents). Just set up both systems to use-the drive's mountpoint as a directory remote.</p>--<h2>configuration</h2>--<p>These parameters can be passed to <code>git annex initremote</code> to configure the-remote:</p>--<ul>-<li><p><code>encryption</code> - Required. Either "none" to disable encryption,-or a value that can be looked up (using gpg -k) to find a gpg encryption-key that will be given access to the remote, or "shared" which allows-every clone of the repository to decrypt the encrypted data.</p>--<p>Note that additional gpg keys can be given access to a remote by-running enableremote with the new key id. See <a href="../encryption.html">encryption</a>.</p></li>-<li><p><code>chunksize</code> - Avoid storing files larger than the specified size in the-directory. For use on directories on mount points that have file size-limitations. The default is to never chunk files.<br/>-The value can use specified using any commonly used units.-Example: <code>chunksize=100 megabytes</code><br/>-Note that enabling chunking on an existing remote with non-chunked-files is not recommended.</p></li>-</ul>---<p>Setup example:</p>--<pre><code># git annex initremote usbdrive type=directory directory=/media/usbdrive/ encryption=none-# git annex describe usbdrive "usb drive on /media/usbdrive/"-</code></pre>--</div>----<div id="comments">-<div  class="feedlink">---</div>-<div class="comment" id="comment-6f677d7ed8f3557a64276b7c493eaf50">----<div class="comment-subject">--<a href="/special_remotes/directory.html#comment-6f677d7ed8f3557a64276b7c493eaf50">how is this different than rsync?</a>--</div>--<div class="inlinecontent">-<p>Thanks for this great tool! I was wondering what the differences are between using <code>type=directory</code>, <code>type=rsync</code>, or a bare git repo for directories?</p>--<p>I guess I can't use just a regular repo because my USB drive is formatted as <code>vfat</code> -- which threw me for a loop the first time I heard about <code>git-annex</code> about a year ago, because I followed the walkthrough, and it didn't work as expected and gave up (now I know it was just a case of PEBKAC). It might be worth adding a note about <a href="http://git-annex.branchable.com/bugs/fat_support/">vfat</a> to the "Adding a remote" section of the <a href="http://git-annex.branchable.com/walkthrough/">walkthrough</a>, since the unstated assumption there is that the USB drive is formatted as a filesystem that supports symlinks.</p>--<p>Thanks again, my scientific data management just got a lot more sane!</p>---</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="https://www.google.com/accounts/o8/id?id=AItOawlc1og3PqIGudOMkFNrCCNg66vB7s-jLpc">Paul</a>-</span>---&mdash; <span class="date">Fri Jun 22 18:10:19 2012</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-b8aec6211a2a7e57dc54a8c23101d521">----<div class="comment-subject">--<a href="/special_remotes/directory.html#comment-b8aec6211a2a7e57dc54a8c23101d521">comment 2</a>--</div>--<div class="inlinecontent">-<p>The directory and rsync special remotes intentionally use the same layout. So the same directory could be set up as both types of special remotes.</p>--<p>The main reason to use this rather than a bare git repo is that it supports encryption.</p>---</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="http://joeyh.name/">joeyh.name</a>-</span>---&mdash; <span class="date">Mon Jun 25 11:29:29 2012</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-e3939893c9d2f8e45205222e140b71a1">----<div class="comment-subject">--<a href="/special_remotes/directory.html#comment-e3939893c9d2f8e45205222e140b71a1">dropping a directory remote?</a>--</div>--<div class="inlinecontent">-How do I drop a directory remote after initremote? Say I want to start over and enable chunking (not supposed to be enabled on an existing directory), can I simply git remote rm it?--</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="https://dzsino.myopenid.com/">dzsino</a>-</span>---&mdash; <span class="date">Tue Jan 15 18:29:15 2013</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-4ec1b31402dd3bd5df9c96f6f8ba9479">----<div class="comment-subject">--<a href="/special_remotes/directory.html#comment-4ec1b31402dd3bd5df9c96f6f8ba9479">comment 4</a>--</div>--<div class="inlinecontent">-The best way to remove a special remote is to first <code>git annex move --from $remote</code> to get all the content out of it, then <code>git annex dead $remote</code> and finally you can <code>git remote rm $remote</code>--</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="http://joeyh.name/">joeyh.name</a>-</span>---&mdash; <span class="date">Thu Jan 17 14:22:26 2013</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-ee9e18d4d37764ad9198ff01f17fbee0">----<div class="comment-subject">--<a href="/special_remotes/directory.html#comment-ee9e18d4d37764ad9198ff01f17fbee0">Directory remote with files accessible from non git-annex system?</a>--</div>--<div class="inlinecontent">---</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="https://www.google.com/accounts/o8/id?id=AItOawk3HGoDpnOPob5jOjvIootmkve1-nCpRiI">Kalle</a>-</span>---&mdash; <span class="date">Sun Jan 20 11:44:16 2013</span>-</div>----<div style="clear: both"></div>-</div>-----<div class="addcomment">Comments on this page are closed.</div>--</div>----</div>--<div id="footer" class="pagefooter">--<div id="pageinfo">-------<div id="backlinks">-Links:--<a href="./hook.html">hook</a>--<a href="../special_remotes.html">special remotes</a>---</div>-------<div class="pagedate">-Last edited <span class="date">Sat May  4 11:06:45 2013</span>-<!-- Created <span class="date">Sat May  4 11:06:45 2013</span> -->-</div>--</div>---<!-- from git-annex -->-</div>--</div>--</body>-</html>
− debian/git-annex/usr/share/doc/git-annex/html/special_remotes/glacier.html
@@ -1,179 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">-<html xmlns="http://www.w3.org/1999/xhtml">--<head>--<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />-<title>glacier</title>--<link rel="stylesheet" href="../style.css" type="text/css" />--<link rel="stylesheet" href="../local.css" type="text/css" />-------</head>-<body>--<div class="page">--<div class="pageheader">-<div class="header">-<span>-<span class="parentlinks">--<a href="../index.html">git-annex</a>/ --<a href="../special_remotes.html">special remotes</a>/ --</span>-<span class="title">-glacier--</span>-</span>--</div>--------</div>---<div class="sidebar">-<p><img src="../logo_small.png" width="150" height="115" class="img" /></p>--<ul>-<li><a href="../install.html">install</a></li>-<li><a href="../assistant.html">assistant</a></li>-<li><a href="../walkthrough.html">walkthrough</a></li>-<li><a href="../tips.html">tips</a></li>-<li><span class="createlink">bugs</span></li>-<li><span class="createlink">todo</span></li>-<li><span class="createlink">forum</span></li>-<li><a href="../comments.html">comments</a></li>-<li><a href="../contact.html">contact</a></li>-<li><a href="http://flattr.com/thing/84843/git-annex"><img src="https://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" /></a></li>-</ul>---</div>---<div id="pagebody">--<div id="content">-<p>This special remote type stores file contents in Amazon Glacier.</p>--<p>To use it, you need to have <a href="http://github.com/basak/glacier-cli">glacier-cli</a>-installed.</p>--<p>The unusual thing about Amazon Glacier is the multiple-hour delay it takes-to retrieve information out of Glacier. To deal with this, commands like-"git-annex get" request Glacier start the retrieval process, and will fail-due to the data not yet being available. You can then wait appriximately-four hours, re-run the same command, and this time, it will actually-download the data.</p>--<h2>configuration</h2>--<p>The standard environment variables <code>AWS_ACCESS_KEY_ID</code> and-<code>AWS_SECRET_ACCESS_KEY</code> are used to supply login credentials-for Amazon. You need to set these only when running-<code>git annex initremote</code>, as they will be cached in a file only you-can read inside the local git repository.</p>--<p>A number of parameters can be passed to <code>git annex initremote</code> to configure-the Glacier remote.</p>--<ul>-<li><p><code>encryption</code> - Required. Either "none" to disable encryption (not recommended),-or a value that can be looked up (using gpg -k) to find a gpg encryption-key that will be given access to the remote, or "shared" which allows-every clone of the repository to access the encrypted data (use with caution).</p>--<p>Note that additional gpg keys can be given access to a remote by-running enableremote with the new key id. See <a href="../encryption.html">encryption</a>.</p></li>-<li><p><code>embedcreds</code> - Optional. Set to "yes" embed the login credentials inside-the git repository, which allows other clones to also access them. This is-the default when gpg encryption is enabled; the credentials are stored-encrypted and only those with the repository's keys can access them.</p>--<p>It is not the default when using shared encryption, or no encryption.-Think carefully about who can access your repository before using-embedcreds without gpg encryption.</p></li>-<li><p><code>datacenter</code> - Defaults to "us-east-1".</p></li>-<li><p><code>vault</code> - By default, a vault name is chosen based on the remote name-and UUID. This can be specified to pick a vault name.</p></li>-<li><p><code>fileprefix</code> - By default, git-annex places files in a tree rooted at the-top of the Glacier vault. When this is set, it's prefixed to the filenames-used. For example, you could set it to "foo/" in one special remote,-and to "bar/" in another special remote, and both special remotes could-then use the same vault.</p></li>-</ul>---</div>----<div id="comments">-----<div class="addcomment">Comments on this page are closed.</div>--</div>----</div>--<div id="footer" class="pagefooter">--<div id="pageinfo">-------<div id="backlinks">-Links:--<a href="../special_remotes.html">special remotes</a>--<a href="../tips/using_Amazon_Glacier.html">tips/using Amazon Glacier</a>---</div>-------<div class="pagedate">-Last edited <span class="date">Sat May  4 11:06:45 2013</span>-<!-- Created <span class="date">Sat May  4 11:06:45 2013</span> -->-</div>--</div>---<!-- from git-annex -->-</div>--</div>--</body>-</html>
− debian/git-annex/usr/share/doc/git-annex/html/special_remotes/hook.html
@@ -1,266 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">-<html xmlns="http://www.w3.org/1999/xhtml">--<head>--<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />-<title>hook</title>--<link rel="stylesheet" href="../style.css" type="text/css" />--<link rel="stylesheet" href="../local.css" type="text/css" />-------</head>-<body>--<div class="page">--<div class="pageheader">-<div class="header">-<span>-<span class="parentlinks">--<a href="../index.html">git-annex</a>/ --<a href="../special_remotes.html">special remotes</a>/ --</span>-<span class="title">-hook--</span>-</span>--</div>--------</div>---<div class="sidebar">-<p><img src="../logo_small.png" width="150" height="115" class="img" /></p>--<ul>-<li><a href="../install.html">install</a></li>-<li><a href="../assistant.html">assistant</a></li>-<li><a href="../walkthrough.html">walkthrough</a></li>-<li><a href="../tips.html">tips</a></li>-<li><span class="createlink">bugs</span></li>-<li><span class="createlink">todo</span></li>-<li><span class="createlink">forum</span></li>-<li><a href="../comments.html">comments</a></li>-<li><a href="../contact.html">contact</a></li>-<li><a href="http://flattr.com/thing/84843/git-annex"><img src="https://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" /></a></li>-</ul>---</div>---<div id="pagebody">--<div id="content">-<p>This special remote type lets you store content in a remote of your own-devising.</p>--<p>It's not recommended to use this remote type when another like <a href="./rsync.html">rsync</a>-or <a href="./directory.html">directory</a> will do. If your hooks are not carefully written, data-could be lost.</p>--<h2>example</h2>--<p>Here's a simple example that stores content on clay tablets. If you-implement this example in the real world, I'd appreciate a tour-next Apert! :) --<span class="createlink">Joey</span></p>--<pre><code># git config annex.cuneiform-store-hook 'tocuneiform &lt; "$ANNEX_FILE" | tablet-writer --implement=stylus --title="$ANNEX_KEY" | tablet-proofreader | librarian --shelve --floor=$ANNEX_HASH_1 --shelf=$ANNEX_HASH_2'-# git config annex.cuneiform-retrieve-hook 'librarian --get --floor=$ANNEX_HASH_1 --shelf=$ANNEX_HASH_2 --title="$ANNEX_KEY" | tablet-reader --implement=coffee --implement=glasses --force-monastic-dedication | fromcuneiform &gt; "$ANNEX_FILE"'-# git config annex.cuneiform-remove-hook 'librarian --get --floor=$ANNEX_HASH_1 --shelf=$ANNEX_HASH_2 --title="$ANNEX_KEY" | goon --hit-with-hammer'-# git config annex.cuneiform-checkpresent-hook 'librarian --find --force-distrust-catalog --floor=$ANNEX_HASH_1 --shelf=$ANNEX_HASH_2 --title="$ANNEX_KEY" --shout-title'-# git annex initremote library type=hook hooktype=cuneiform encryption=none-# git annex describe library "the reborn Library of Alexandria (upgrade to bronze plates pending)"-</code></pre>--<p>Can you spot the potential data loss bugs in the above simple example?-(Hint: What happens when the <code>tablet-proofreader</code> exits nonzero?)</p>--<h2>configuration</h2>--<p>These parameters can be passed to <code>git annex initremote</code>:</p>--<ul>-<li><p><code>encryption</code> - Required. Either "none" to disable encryption,-or a value that can be looked up (using gpg -k) to find a gpg encryption-key that will be given access to the remote, or "shared" which allows-every clone of the repository to access the encrypted data.</p>--<p>Note that additional gpg keys can be given access to a remote by-running enableremote with the new key id. See <a href="../encryption.html">encryption</a>.</p></li>-<li><p><code>hooktype</code> - Required. This specifies a collection of hooks to use for-this remote.</p></li>-</ul>---<h2>hooks</h2>--<p>Each type of hook remote is specified by a collection of hook commands.-Each hook command is run as a shell command line, and should return nonzero-on failure, and zero on success.</p>--<p>These environment variables are used to communicate with the hook commands:</p>--<ul>-<li><code>ANNEX_KEY</code> - name of a key to store, retrieve, remove, or check.</li>-<li><code>ANNEX_FILE</code> - a file containing the key's content</li>-<li><code>ANNEX_HASH_1</code> - short stable value, based on the key, can be used for hashing-into 1024 buckets.</li>-<li><code>ANNEX_HASH_2</code> - another hash value, can be used for a second level of hashing</li>-</ul>---<p>The setting to use in git config for the hook commands are as follows:</p>--<ul>-<li><p><code>annex.$hooktype-store-hook</code> - Command run to store a key in the special remote.-<code>ANNEX_FILE</code> contains the content to be stored.</p></li>-<li><p><code>annex.$hooktype-retrieve-hook</code> - Command run to retrieve a key from the special remote.-<code>ANNEX_FILE</code> is a file that the retrieved content should be written to.-The file may already exist with a partial-copy of the content (or possibly just garbage), to allow for resuming-of partial transfers.</p></li>-<li><p><code>annex.$hooktype-remove-hook</code> - Command to remove a key from the special remote.</p></li>-<li><p><code>annex.$hooktype-checkpresent-hook</code> - Command to check if a key is present-in the special remote. Should output the key name to stdout, on its own line,-if and only if the key has been actively verified to be present in the-special remote (caching presence information is a very bad idea);-all other output to stdout will be ignored.</p></li>-</ul>---</div>----<div id="comments">-<div  class="feedlink">---</div>-<div class="comment" id="comment-70d5145af0290f63af3145c35487392f">----<div class="comment-subject">--<a href="/special_remotes/hook.html#comment-70d5145af0290f63af3145c35487392f">Asynchronous hooks?</a>--</div>--<div class="inlinecontent">-<p>Is there a way to use asynchronous remotes? Interaction with git annex would have to-split the part of initiating some action from completing it.</p>--<p>I imagine I could <code>git annex copy</code> a file to an asynchronous remote and the command-would almost immediately complete. Later I would learn that the transfer is-completed, so the hook must be able to record that information in the <code>git-annex</code>-branch. An additional plumbing command seems required here as well as a way to-indicate that even though the store-hook completed, the file is not transferred.</p>--<p>Similarly <code>git annex get</code> would immediately return without actually fetching the-file. This should already be possible by returning non-zero from the retrieve-hook.-Later the hook could use plumbing level commands to actually stick the received file-into the repository.</p>--<p>The remove-hook should need no changes, but the checkpresent-hook would be more like-a trigger without any actual result. The extension of the plumbing required for the-extension to the receive-hook could update the location log. A downside here is that-you never know when a fsck has completed.</p>--<p>My proposal does not include a way to track the completion of actions, but relies on-the hook to always complete them reliably. It is not clear that this is the best road-for asynchronous hooks.</p>--<p>One use case for this would be a remote that is only accessible via uucp. Are there-other use cases? Is the drafted interface useful?</p>---</div>--<div class="comment-header">--Comment by--<span class="author" title="Signed in">--<a href="?page=helmut&amp;do=goto">helmut</a>--</span>---&mdash; <span class="date">Sat Oct 13 05:46:14 2012</span>-</div>----<div style="clear: both"></div>-</div>-----<div class="addcomment">Comments on this page are closed.</div>--</div>----</div>--<div id="footer" class="pagefooter">--<div id="pageinfo">-------<div id="backlinks">-Links:--<a href="../special_remotes.html">special remotes</a>---</div>-------<div class="pagedate">-Last edited <span class="date">Sat May  4 11:06:45 2013</span>-<!-- Created <span class="date">Sat May  4 11:06:45 2013</span> -->-</div>--</div>---<!-- from git-annex -->-</div>--</div>--</body>-</html>
− debian/git-annex/usr/share/doc/git-annex/html/special_remotes/rsync.html
@@ -1,291 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">-<html xmlns="http://www.w3.org/1999/xhtml">--<head>--<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />-<title>rsync</title>--<link rel="stylesheet" href="../style.css" type="text/css" />--<link rel="stylesheet" href="../local.css" type="text/css" />-------</head>-<body>--<div class="page">--<div class="pageheader">-<div class="header">-<span>-<span class="parentlinks">--<a href="../index.html">git-annex</a>/ --<a href="../special_remotes.html">special remotes</a>/ --</span>-<span class="title">-rsync--</span>-</span>--</div>--------</div>---<div class="sidebar">-<p><img src="../logo_small.png" width="150" height="115" class="img" /></p>--<ul>-<li><a href="../install.html">install</a></li>-<li><a href="../assistant.html">assistant</a></li>-<li><a href="../walkthrough.html">walkthrough</a></li>-<li><a href="../tips.html">tips</a></li>-<li><span class="createlink">bugs</span></li>-<li><span class="createlink">todo</span></li>-<li><span class="createlink">forum</span></li>-<li><a href="../comments.html">comments</a></li>-<li><a href="../contact.html">contact</a></li>-<li><a href="http://flattr.com/thing/84843/git-annex"><img src="https://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" /></a></li>-</ul>---</div>---<div id="pagebody">--<div id="content">-<p>This special remote type rsyncs file contents to somewhere else.</p>--<p>Setup example:</p>--<pre><code># git annex initremote myrsync type=rsync rsyncurl=rsync://rsync.example.com/myrsync encryption=joey@kitenet.net-# git annex describe myrsync "rsync server"-</code></pre>--<p>Or for using rsync over SSH</p>--<pre><code># git annex initremote myrsync type=rsync rsyncurl=ssh.example.com:/myrsync encryption=joey@kitenet.net-# git annex describe myrsync "rsync server"-</code></pre>--<h2>configuration</h2>--<p>These parameters can be passed to <code>git annex initremote</code> to configure rsync:</p>--<ul>-<li><p><code>encryption</code> - Required. Either "none" to disable encryption of content-stored on the remote rsync server,-or a value that can be looked up (using gpg -k) to find a gpg encryption-key that will be given access to the remote, or "shared" which allows-every clone of the repository to decrypt the encrypted data.</p>--<p>Note that additional gpg keys can be given access to a remote by-running enableremote with the new key id. See <a href="../encryption.html">encryption</a>.</p></li>-<li><p><code>rsyncurl</code> - Required. This is the url or <code>hostname:/directory</code> to-pass to rsync to tell it where to store content.</p></li>-<li><p><code>shellescape</code> - Optional. Set to "no" to avoid shell escaping normally-done when using rsync over ssh. That escaping is needed with typical-setups, but not with some hosting providers that do not expose rsynced-filenames to the shell. You'll know you need this option if <code>git annex get</code>-from the special remote fails with an error message containing a single-quote (<code>'</code>) character. If that happens, you can run enableremote-setting shellescape=no.</p></li>-</ul>---<p>The <code>annex-rsync-options</code> git configuration setting can be used to pass-parameters to rsync.</p>--</div>----<div id="comments">-<div  class="feedlink">---</div>-<div class="comment" id="comment-365df6b0ce20645343d07bea2e6cd84f">----<div class="comment-subject">--<a href="/special_remotes/rsync.html#comment-365df6b0ce20645343d07bea2e6cd84f">rsync description and example</a>--</div>--<div class="inlinecontent">-<p>Hi, I would like to see a example of setting up / using e.g. rsync.net as a repo.</p>--<p>Please also provide a highlevel description of how the rsync repo fits in with git-annex.</p>--<p>Q1. can you adds files to the remote rsync repo, and will they be detected and synced back ?-Q2. is all the git history rsync'd to remote ?   how do i recover if i loose all data except the remote rsync repo ?</p>---</div>--<div class="comment-header">--Comment by--<span class="author" title="Signed in">--<a href="?page=diepes&amp;do=goto">diepes</a>--</span>---&mdash; <span class="date">Fri Mar 29 11:57:20 2013</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-525d3951ab1f09fdf471f450a798b50e">----<div class="comment-subject">--<a href="/special_remotes/rsync.html#comment-525d3951ab1f09fdf471f450a798b50e">comment 2</a>--</div>--<div class="inlinecontent">-No, special remotes do not contain a copy of the git repository, and no, git-annex does not notice when files are added to remote rsync repositories. Suggest you read <a href="../special_remotes.html">special remotes</a>.--</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="http://joeyh.name/">joey</a>-</span>---&mdash; <span class="date">Fri Mar 29 13:12:47 2013</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-c8fc6dad2ad0eef8accbe31bfd82542b">----<div class="comment-subject">--<a href="/special_remotes/rsync.html#comment-c8fc6dad2ad0eef8accbe31bfd82542b">sshfs ?  and no sync from special remote to 2nd git-annex ?</a>--</div>--<div class="inlinecontent">-<ul>-<li>It sound to me it would be 1st prize if the cloud provider supported the git-annex functionality over ssh.</li>-<li>Then it could be a full git-annex repo, and used for recovery if my laptop with the git info gets lost.</li>-<li>From special remotes "These can be used just like any normal remote by git-annex"</li>-<li><p>Your comment "No, special remotes do not contain a copy of the git repository"</p></li>-<li><p>so a special remote is</p></li>-<li><p>"A. just a remote filesystem, that contains the objects with sha1 names ? "</p></li>-<li>"B. there is no git info and thus no file name &amp; directory details or am i missing something ?"</li>-<li>"C. you can't use the remote as a cloud drive to sync changes e.g. file moves, renames between two other git-annex repositories ? (no meta data)"</li>-<li><p>"D. the data on the cloud/rsync storage can not be used directly it has to moved into a git-annex capable storage location. "</p></li>-<li><p>Would it not be better to mount the remote storage over ssh(sshfs) and then use full git-annex on mounted directory ?</p></li>-</ul>----</div>--<div class="comment-header">--Comment by--<span class="author" title="Signed in">--<a href="?page=diepes&amp;do=goto">diepes</a>--</span>---&mdash; <span class="date">Fri Mar 29 18:09:49 2013</span>-</div>----<div style="clear: both"></div>-</div>-----<div class="addcomment">Comments on this page are closed.</div>--</div>----</div>--<div id="footer" class="pagefooter">--<div id="pageinfo">-------<div id="backlinks">-Links:--<a href="./hook.html">hook</a>--<a href="../special_remotes.html">special remotes</a>---</div>-------<div class="pagedate">-Last edited <span class="date">Sat May  4 11:06:45 2013</span>-<!-- Created <span class="date">Sat May  4 11:06:45 2013</span> -->-</div>--</div>---<!-- from git-annex -->-</div>--</div>--</body>-</html>
− debian/git-annex/usr/share/doc/git-annex/html/special_remotes/web.html
@@ -1,141 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">-<html xmlns="http://www.w3.org/1999/xhtml">--<head>--<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />-<title>web</title>--<link rel="stylesheet" href="../style.css" type="text/css" />--<link rel="stylesheet" href="../local.css" type="text/css" />-------</head>-<body>--<div class="page">--<div class="pageheader">-<div class="header">-<span>-<span class="parentlinks">--<a href="../index.html">git-annex</a>/ --<a href="../special_remotes.html">special remotes</a>/ --</span>-<span class="title">-web--</span>-</span>--</div>--------</div>---<div class="sidebar">-<p><img src="../logo_small.png" width="150" height="115" class="img" /></p>--<ul>-<li><a href="../install.html">install</a></li>-<li><a href="../assistant.html">assistant</a></li>-<li><a href="../walkthrough.html">walkthrough</a></li>-<li><a href="../tips.html">tips</a></li>-<li><span class="createlink">bugs</span></li>-<li><span class="createlink">todo</span></li>-<li><span class="createlink">forum</span></li>-<li><a href="../comments.html">comments</a></li>-<li><a href="../contact.html">contact</a></li>-<li><a href="http://flattr.com/thing/84843/git-annex"><img src="https://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" /></a></li>-</ul>---</div>---<div id="pagebody">--<div id="content">-<p>git-annex can use the WWW as a special remote, downloading urls to files.-See <a href="../tips/using_the_web_as_a_special_remote.html">using the web as a special remote</a> for usage examples.</p>--<h2>notes</h2>--<p>Currently git-annex only supports downloading content from the web;-it cannot upload to it or remove content.</p>--<p>This special remote uses arbitrary urls on the web as the source for content.-git-annex can also download content from a normal git remote, accessible by-http.</p>--</div>----<div id="comments">-----<div class="addcomment">Comments on this page are closed.</div>--</div>----</div>--<div id="footer" class="pagefooter">--<div id="pageinfo">-------<div id="backlinks">-Links:--<a href="../internals.html">internals</a>--<a href="../special_remotes.html">special remotes</a>---</div>-------<div class="pagedate">-Last edited <span class="date">Fri Sep 28 01:45:57 2012</span>-<!-- Created <span class="date">Fri Sep 28 01:45:57 2012</span> -->-</div>--</div>---<!-- from git-annex -->-</div>--</div>--</body>-</html>
− debian/git-annex/usr/share/doc/git-annex/html/special_remotes/webdav.html
@@ -1,465 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">-<html xmlns="http://www.w3.org/1999/xhtml">--<head>--<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />-<title>webdav</title>--<link rel="stylesheet" href="../style.css" type="text/css" />--<link rel="stylesheet" href="../local.css" type="text/css" />-------</head>-<body>--<div class="page">--<div class="pageheader">-<div class="header">-<span>-<span class="parentlinks">--<a href="../index.html">git-annex</a>/ --<a href="../special_remotes.html">special remotes</a>/ --</span>-<span class="title">-webdav--</span>-</span>--</div>--------</div>---<div class="sidebar">-<p><img src="../logo_small.png" width="150" height="115" class="img" /></p>--<ul>-<li><a href="../install.html">install</a></li>-<li><a href="../assistant.html">assistant</a></li>-<li><a href="../walkthrough.html">walkthrough</a></li>-<li><a href="../tips.html">tips</a></li>-<li><span class="createlink">bugs</span></li>-<li><span class="createlink">todo</span></li>-<li><span class="createlink">forum</span></li>-<li><a href="../comments.html">comments</a></li>-<li><a href="../contact.html">contact</a></li>-<li><a href="http://flattr.com/thing/84843/git-annex"><img src="https://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" /></a></li>-</ul>---</div>---<div id="pagebody">--<div id="content">-<p>This special remote type stores file contents in a WebDAV server.</p>--<h2>configuration</h2>--<p>The environment variables <code>WEBDAV_USERNAME</code> and <code>WEBDAV_PASSWORD</code> are used-to supply login credentials. You need to set these only when running-<code>git annex initremote</code>, as they will be cached in a file only you-can read inside the local git repository.</p>--<p>A number of parameters can be passed to <code>git annex initremote</code> to configure-the webdav remote.</p>--<ul>-<li><p><code>encryption</code> - Required. Either "none" to disable encryption (not recommended),-or a value that can be looked up (using gpg -k) to find a gpg encryption-key that will be given access to the remote, or "shared" which allows-every clone of the repository to access the encrypted data (use with caution).</p>--<p>Note that additional gpg keys can be given access to a remote by-running enableremote with the new key id. See <a href="../encryption.html">encryption</a>.</p></li>-<li><p><code>embedcreds</code> - Optional. Set to "yes" embed the login credentials inside-the git repository, which allows other clones to also access them. This is-the default when gpg encryption is enabled; the credentials are stored-encrypted and only those with the repository's keys can access them.</p>--<p>It is not the default when using shared encryption, or no encryption.-Think carefully about who can access your repository before using-embedcreds without gpg encryption.</p></li>-<li><p><code>url</code> - Required. The URL to the WebDAV directory where files will be-stored. This can be a subdirectory of a larger WebDAV repository, and will-be created as needed. Use of a https URL is strongly-encouraged, since HTTP basic authentication is used.</p></li>-<li><p><code>chunksize</code> - Avoid storing files larger than the specified size in-WebDAV. For use when the WebDAV server has file size-limitations. The default is to never chunk files.<br/>-The value can use specified using any commonly used units.-Example: <code>chunksize=75 megabytes</code><br/>-Note that enabling chunking on an existing remote with non-chunked-files is not recommended.</p></li>-</ul>---<p>Setup example:</p>--<pre><code># WEBDAV_USERNAME=joey@kitenet.net WEBDAV_PASSWORD=xxxxxxx git annex initremote box.com type=webdav url=https://www.box.com/dav/git-annex chunksize=75mb encryption=joey@kitenet.net-</code></pre>--</div>----<div id="comments">-<div  class="feedlink">---</div>-<div class="comment" id="comment-5baa5a7124413672286561cd0cf2d81e">----<div class="comment-subject">--<a href="/special_remotes/webdav.html#comment-5baa5a7124413672286561cd0cf2d81e">git-annex initremote failing for webdav servers</a>--</div>--<div class="inlinecontent">-<p>Unfortunately, trying to set up the following webdav servers fail. Some of the terminal output of git-annex --debug initremote ... is below, but it may not really helpful. Can I help any further, can a webdav remote be set up in a different way? (The box.com webdav initremote worked fine.) Cheers</p>--<p>With livedrive.com:</p>--<pre><code>[2012-12-01 10:15:12 GMT] chat: gpg ["--batch","--no-tty","--use-agent","--quiet","--trust-model","always","--encrypt","--no-encrypt-to","--no-default-recipient","--recipient","xxxxxxxxxxxxxx"]-(encryption setup with gpg key xxxxxxxxxxxxxx) (testing WebDAV server...)-git-annex: "Bad Request": user error-failed-git-annex: initremote: 1 failed-</code></pre>--<p>With sd2dav.1und1.de:</p>--<pre><code>[2012-12-01 10:13:10 GMT] chat: gpg ["--batch","--no-tty","--use-agent","--quiet","--trust-model","always","--encrypt","--no-encrypt-to","--no-default-recipient","--recipient","xxxxxxxxxxxxxx"]-(encryption setup with gpg key xxxxxxxxxxxxxx) (testing WebDAV server...)-git-annex: "Locked": user error-failed-git-annex: initremote: 1 failed-</code></pre>---</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="http://rfhbuk.myopenid.com/">rfhbuk [myopenid.com]</a>-</span>---&mdash; <span class="date">Sat Dec  1 06:18:04 2012</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-a15cb41a5f551865af13d2b517d5f222">----<div class="comment-subject">--<a href="/special_remotes/webdav.html#comment-a15cb41a5f551865af13d2b517d5f222">comment 2</a>--</div>--<div class="inlinecontent">-<p>I tried signing up for livedrive, but I cannot log into it with WebDav at all. Do they require a Pro account to use WebDav?</p>--<p>When it's "testing webdav server", it tries to make a collection (a subdirectory), and uploads a file to it, and sets the file's properties, and deletes the file. One of these actions must be failing, perhaps because the webdav server implementation does not support it. Or perhaps because the webdav client library is doing something wrong. I've instrumented the test, so it'll say which one.</p>---</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="http://joeyh.name/">joeyh.name</a>-</span>---&mdash; <span class="date">Sat Dec  1 14:34:05 2012</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-a1fcb97f459ec0e242b5172fbfa5dd3a">----<div class="comment-subject">--<a href="/special_remotes/webdav.html#comment-a1fcb97f459ec0e242b5172fbfa5dd3a">comment 3</a>--</div>--<div class="inlinecontent">-<p>I've identified the problem keeping it working with livedrive. Once a patch I've written is applied to the Haskell DAV library, I'll be able to update git-annex to support it.</p>--<p>I don't know about sd2dav.1und1.de. The error looks like it doesn't support WebDAV file locking.</p>---</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="http://joeyh.name/">joeyh.name</a>-</span>---&mdash; <span class="date">Sat Dec  1 16:13:36 2012</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-51b7aea2538c30d0064f6993ffaf7f14">----<div class="comment-subject">--<a href="/special_remotes/webdav.html#comment-51b7aea2538c30d0064f6993ffaf7f14">comment 4</a>--</div>--<div class="inlinecontent">-Good news, livedrive is supported now, by git-annex's master branch.--</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="http://joeyh.name/">joeyh.name</a>-</span>---&mdash; <span class="date">Sat Dec  1 17:14:34 2012</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-471a2ec5c3bf715d7f6fb22d67a5fae8">----<div class="comment-subject">--<a href="/special_remotes/webdav.html#comment-471a2ec5c3bf715d7f6fb22d67a5fae8">WebDAV without locking</a>--</div>--<div class="inlinecontent">-<p>Hi Joey,</p>--<p>you are right, the 1-und-1.de implementation of WebDAV does not support locking.</p>--<p>Do you think there is a way to make that service work with git-annex anyhow -- say, by allowing the user to disable file-locking? I've worked around the problem with 1-und-1.de by using fuse+davfs2 to mount the storage in my file system and access it through the directory backend, but FUSE is dead slow, unfortunately, and this solution really sucks.</p>---</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="http://peter-simons.myopenid.com/">peter-simons [myopenid.com]</a>-</span>---&mdash; <span class="date">Wed Jan 16 08:44:16 2013</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-d7b26368885fe7ae941ff2662165b22a">----<div class="comment-subject">--<a href="/special_remotes/webdav.html#comment-d7b26368885fe7ae941ff2662165b22a">comment 6</a>--</div>--<div class="inlinecontent">-<p>It seems it must advertise it supports the LOCK and UNLOCK http actions, but fails when they're used.</p>--<p>The DAV library I am using always locks if it seems the server supports it. So this will need changes to that library. I've filed a bug requesting the changes. <a href="http://bugs.debian.org/698379">http://bugs.debian.org/698379</a></p>---</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="http://joeyh.name/">joeyh.name</a>-</span>---&mdash; <span class="date">Thu Jan 17 14:23:27 2013</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-43a9332e13739104c0bfe968d598b892">----<div class="comment-subject">--<a href="/special_remotes/webdav.html#comment-43a9332e13739104c0bfe968d598b892">SSL certificates</a>--</div>--<div class="inlinecontent">-<p>Trying to use webdav leads in:</p>--<pre><code>git-annex: HandshakeFailed (Error_Protocol ("certificate rejected: not coping with anything else Start (Container Context 0)",True,CertificateUnknown))-</code></pre>--<p>How can I disable the SSL certificate check?</p>---</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="https://www.google.com/accounts/o8/id?id=AItOawniayrgSdVLUc3c6bf93VbO-_HT4hzxmyo">Tobias</a>-</span>---&mdash; <span class="date">Mon Mar 25 12:09:54 2013</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-e85611766963b29b00490ff821328a5f">----<div class="comment-subject">--<a href="/special_remotes/webdav.html#comment-e85611766963b29b00490ff821328a5f">comment 8</a>--</div>--<div class="inlinecontent">-I don't think the checking of SSL certificates can currently be disabled.--</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="http://joeyh.name/">joey</a>-</span>---&mdash; <span class="date">Wed Mar 27 12:38:47 2013</span>-</div>----<div style="clear: both"></div>-</div>-----<div class="addcomment">Comments on this page are closed.</div>--</div>----</div>--<div id="footer" class="pagefooter">--<div id="pageinfo">-------<div id="backlinks">-Links:--<a href="../special_remotes.html">special remotes</a>---</div>-------<div class="pagedate">-Last edited <span class="date">Sat May  4 11:06:45 2013</span>-<!-- Created <span class="date">Sat May  4 11:06:45 2013</span> -->-</div>--</div>---<!-- from git-annex -->-</div>--</div>--</body>-</html>
− debian/git-annex/usr/share/doc/git-annex/html/special_remotes/xmpp.html
@@ -1,225 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">-<html xmlns="http://www.w3.org/1999/xhtml">--<head>--<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />-<title>xmpp</title>--<link rel="stylesheet" href="../style.css" type="text/css" />--<link rel="stylesheet" href="../local.css" type="text/css" />-------</head>-<body>--<div class="page">--<div class="pageheader">-<div class="header">-<span>-<span class="parentlinks">--<a href="../index.html">git-annex</a>/ --<a href="../special_remotes.html">special remotes</a>/ --</span>-<span class="title">-xmpp--</span>-</span>--</div>--------</div>---<div class="sidebar">-<p><img src="../logo_small.png" width="150" height="115" class="img" /></p>--<ul>-<li><a href="../install.html">install</a></li>-<li><a href="../assistant.html">assistant</a></li>-<li><a href="../walkthrough.html">walkthrough</a></li>-<li><a href="../tips.html">tips</a></li>-<li><span class="createlink">bugs</span></li>-<li><span class="createlink">todo</span></li>-<li><span class="createlink">forum</span></li>-<li><a href="../comments.html">comments</a></li>-<li><a href="../contact.html">contact</a></li>-<li><a href="http://flattr.com/thing/84843/git-annex"><img src="https://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" /></a></li>-</ul>---</div>---<div id="pagebody">--<div id="content">-<p>XMPP (Jabber) is used by the <a href="../assistant.html">assistant</a> as a git remote. This is,-technically not a git-annex special remote (large files are not transferred-over XMPP; only git commits are sent).</p>--<p>Typically XMPP will be set up using the web app, but here's how a manual-set up could be accomplished:</p>--<ol>-<li><p>xmpp login credentials need to be stored in <code>.git/annex/creds/xmpp</code>.-Obviously this file should be mode 600. An example file:</p>--<p> XMPPCreds {xmppUsername = "joeyhess", xmppPassword = "xxxx", xmppHostname = "xmpp.l.google.com.", xmppPort = 5222, xmppJID = "joeyhess@gmail.com"}</p></li>-<li><p>A git remote is created using a special url, of the form <code>xmpp::user@host</code>-For the above example, it would be <code>url = xmpp::joeyhess@gmail.com</code></p></li>-<li><p>The uuid of one of the other clients using XMPP should be configured-using the <code>annex.uuid</code> setting, the same as is set up for other remotes.</p></li>-</ol>---<p>With the above configuration, the <a href="../assistant.html">assistant</a> will use xmpp remotes much as-any other git remote. Since XMPP requires a client that is continually running-to see incoming pushes, the XMPP remote cannot be used with git at the-command line.</p>--<p>See also: <a href="../design/assistant/xmpp.html">xmpp protocol design notes</a></p>--</div>----<div id="comments">-<div  class="feedlink">---</div>-<div class="comment" id="comment-a7e65f545755de544dc069536c1fff4a">----<div class="comment-subject">--<a href="/special_remotes/xmpp.html#comment-a7e65f545755de544dc069536c1fff4a">User defined server</a>--</div>--<div class="inlinecontent">-<p>It would be nice if you could expand the XMPP setup in the assistant to support an "advanced" settings view where a custom server could be defined.</p>--<p>Example: I have a google Apps domain called mytest.com, with the users bla1@mytest.com and bla2@mytest.com. When trying to add either of those accounts to the assistant XMPP will try to use mytest.com as the jabber server, and not googles server.</p>---</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="https://www.google.com/accounts/o8/id?id=AItOawmWg4VvDTer9f49Y3z-R0AH16P4d1ygotA">Tobias</a>-</span>---&mdash; <span class="date">Wed Apr 17 05:45:59 2013</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-f62f17a333e25b8451183e8ac011d05f">----<div class="comment-subject">--<a href="/special_remotes/xmpp.html#comment-f62f17a333e25b8451183e8ac011d05f">comment 2</a>--</div>--<div class="inlinecontent">-<p>Yeah, I agree, this would be nice.</p>--<p>For your own domain, you can configure DNS like this: <a href="http://support.google.com/a/bin/answer.py?hl=en&amp;answer=34143">http://support.google.com/a/bin/answer.py?hl=en&amp;answer=34143</a> to make XMPP find the right server. But for some that's not an option and the "advanced" mode would be useful in that case.</p>---</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="https://www.google.com/accounts/o8/id?id=AItOawmRFKwny4rArBaz-36xTcsJYqKIgdDaw5Q">Andrew</a>-</span>---&mdash; <span class="date">Wed Apr 17 18:28:39 2013</span>-</div>----<div style="clear: both"></div>-</div>-----<div class="addcomment">Comments on this page are closed.</div>--</div>----</div>--<div id="footer" class="pagefooter">--<div id="pageinfo">-------<div id="backlinks">-Links:--<a href="../special_remotes.html">special remotes</a>---</div>-------<div class="pagedate">-Last edited <span class="date">Sat May  4 11:06:45 2013</span>-<!-- Created <span class="date">Sat May  4 11:06:45 2013</span> -->-</div>--</div>---<!-- from git-annex -->-</div>--</div>--</body>-</html>
− debian/git-annex/usr/share/doc/git-annex/html/summary.html
@@ -1,129 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">-<html xmlns="http://www.w3.org/1999/xhtml">--<head>--<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />-<title>summary</title>--<link rel="stylesheet" href="style.css" type="text/css" />--<link rel="stylesheet" href="local.css" type="text/css" />-------</head>-<body>--<div class="page">--<div class="pageheader">-<div class="header">-<span>-<span class="parentlinks">--<a href="./index.html">git-annex</a>/ --</span>-<span class="title">-summary--</span>-</span>--</div>--------</div>---<div class="sidebar">-<p><img src="./logo_small.png" width="150" height="115" class="img" /></p>--<ul>-<li><a href="./install.html">install</a></li>-<li><a href="./assistant.html">assistant</a></li>-<li><a href="./walkthrough.html">walkthrough</a></li>-<li><a href="./tips.html">tips</a></li>-<li><span class="createlink">bugs</span></li>-<li><span class="createlink">todo</span></li>-<li><span class="createlink">forum</span></li>-<li><a href="./comments.html">comments</a></li>-<li><a href="./contact.html">contact</a></li>-<li><a href="http://flattr.com/thing/84843/git-annex"><img src="https://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" /></a></li>-</ul>---</div>---<div id="pagebody">--<div id="content">-<p>git-annex allows managing files with git, without checking the file-contents into git. While that may seem paradoxical, it is useful when-dealing with files larger than git can currently easily handle, whether due-to limitations in memory, time, or disk space.</p>--<p><a href="./assistant.html"><img src="./assistant/thumbnail.png" width="216" height="28" class="img" align="right" /></a>-git-annex is designed for git users who love the command line.-For everyone else, the <a href="./assistant.html">git-annex assistant</a> turns-git-annex into an easy to use folder synchroniser.</p>--<p>To get a feel for git-annex, see the <a href="./walkthrough.html">walkthrough</a>.</p>--</div>----<div id="comments">-----<div class="addcomment">Comments on this page are closed.</div>--</div>----</div>--<div id="footer" class="pagefooter">--<div id="pageinfo">------------<div class="pagedate">-Last edited <span class="date">Sat May  4 11:06:46 2013</span>-<!-- Created <span class="date">Sat May  4 11:06:46 2013</span> -->-</div>--</div>---<!-- from git-annex -->-</div>--</div>--</body>-</html>
− debian/git-annex/usr/share/doc/git-annex/html/sync.html
@@ -1,302 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">-<html xmlns="http://www.w3.org/1999/xhtml">--<head>--<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />-<title>sync</title>--<link rel="stylesheet" href="style.css" type="text/css" />--<link rel="stylesheet" href="local.css" type="text/css" />-------</head>-<body>--<div class="page">--<div class="pageheader">-<div class="header">-<span>-<span class="parentlinks">--<a href="./index.html">git-annex</a>/ --</span>-<span class="title">-sync--</span>-</span>--</div>--------</div>---<div class="sidebar">-<p><img src="./logo_small.png" width="150" height="115" class="img" /></p>--<ul>-<li><a href="./install.html">install</a></li>-<li><a href="./assistant.html">assistant</a></li>-<li><a href="./walkthrough.html">walkthrough</a></li>-<li><a href="./tips.html">tips</a></li>-<li><span class="createlink">bugs</span></li>-<li><span class="createlink">todo</span></li>-<li><span class="createlink">forum</span></li>-<li><a href="./comments.html">comments</a></li>-<li><a href="./contact.html">contact</a></li>-<li><a href="http://flattr.com/thing/84843/git-annex"><img src="https://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" /></a></li>-</ul>---</div>---<div id="pagebody">--<div id="content">-<p>The <code>git annex sync</code> command provides an easy way to keep several-repositories in sync.</p>--<p>Often git is used in a centralized fashion with a central bare repository-which changes are pulled and pushed to using normal git commands.-That works fine, if you don't mind having a central repository.</p>--<p>But it can be harder to use git in a fully decentralized fashion, with no-central repository and still keep repositories in sync with one another.-You have to remember to pull from each remote, and merge the appopriate-branch after pulling. It's difficult to <em>push</em> to a remote, since git does-not allow pushes into the currently checked out branch.</p>--<p><code>git annex sync</code> makes it easier using a scheme devised by Joachim-Breitner. The idea is to have a branch <code>synced/master</code> (actually,-<code>synced/$currentbranch</code>), that is never directly checked out, and serves-as a drop-point for other repositories to use to push changes.</p>--<p>When you run <code>git annex sync</code>, it merges the <code>synced/master</code> branch-into <code>master</code>, receiving anything that's been pushed to it. Then it-fetches from each remote, and merges in any changes that have been made-to the remotes too. Finally, it updates <code>synced/master</code> to reflect the new-state of <code>master</code>, and pushes it out to each of the remotes.</p>--<p>This way, changes propagate around between repositories as <code>git annex sync</code>-is run on each of them. Every repository does not need to be able to talk-to every other repository; as long as the graph of repositories is-connected, and <code>git annex sync</code> is run from time to time on each, a given-change, made anywhere, will eventually reach every other repository.</p>--<p>The workflow for using <code>git annex sync</code> is simple:</p>--<ul>-<li>Make some changes to files in the repository, using <code>git-annex</code>,-or anything else.</li>-<li>Run <code>git annex sync</code> to save the changes.</li>-<li>Next time you're working on a different clone of that repository,-run <code>git annex sync</code> to update it.</li>-</ul>---</div>----<div id="comments">-<div  class="feedlink">---</div>-<div class="comment" id="comment-4214020597adf16b7ef35b641357c34a">----<div class="comment-subject">--<a href="/sync.html#comment-4214020597adf16b7ef35b641357c34a">very nice</a>--</div>--<div class="inlinecontent">-Here's a way to get from a starting point of two or more peer directory trees <em>not</em> tracked by git or git-annex, to the point where they can be synced in the manner described above: <span class="createlink">syncing non-git trees with git-annex</span>--</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="http://adamspiers.myopenid.com/">Adam</a>-</span>---&mdash; <span class="date">Sat Feb 25 11:02:18 2012</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-37997a5f56f061ccba8573346b830484">----<div class="comment-subject">--<a href="/sync.html#comment-37997a5f56f061ccba8573346b830484">Its just grand</a>--</div>--<div class="inlinecontent">-<p>I cam upon git-annex a few months ago. I saw immidiately how it could help with some frustrations I've been having. One in particlar is keeping my vimrc in sync accross multiple locations and platforms. I finally took the time to give it a try after I finally hit my boiling point this morning. I went through the <a href="http://git-annex.branchable.com/walkthrough/">walkthrough</a> and now I have an annax everywhere I need it. <code>git annex sync</code> and my vimrc is up-to-date, simply grand!</p>--<p>Thanks so much for making git-annex,-<a href="http://woz.io">Daniel Wozniak</a></p>---</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="https://www.google.com/accounts/o8/id?id=AItOawlDDW-g2WLLsLpcnCm4LykAquFY_nwbIrU">Daniel</a>-</span>---&mdash; <span class="date">Fri Jan  4 10:45:35 2013</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-a93800cc4523d79b0baba1b64210e6a8">----<div class="comment-subject">--<a href="/sync.html#comment-a93800cc4523d79b0baba1b64210e6a8">synchronising stored files with a bare repository</a>--</div>--<div class="inlinecontent">-Good for syncing indexes, but if I want to synchronise all data files too (specifically pushing to a remote bare repository), how do I do that?--</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="https://www.google.com/accounts/o8/id?id=AItOawnVX_teMpJeQkyheivad_1XSCFSjpiWgx8">Diggory</a>-</span>---&mdash; <span class="date">Fri Jan 11 12:52:38 2013</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-460e386e29f24721d89fc9a6e21b52a0">----<div class="comment-subject">--<a href="/sync.html#comment-460e386e29f24721d89fc9a6e21b52a0">comment 4</a>--</div>--<div class="inlinecontent">-Yes, sync only syncs the git branches, not git-annex data. To sync the date, you can run a command such as <code>git annex copy --to bareremote</code>. You could run that in cron. Or, the <a href="./assistant.html">assistant</a> can be run as a daemon, and automatically syncs git-annex data.--</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="http://joeyh.name/">joeyh.name</a>-</span>---&mdash; <span class="date">Fri Jan 11 14:18:07 2013</span>-</div>----<div style="clear: both"></div>-</div>-----<div class="addcomment">Comments on this page are closed.</div>--</div>----</div>--<div id="footer" class="pagefooter">--<div id="pageinfo">-------<div id="backlinks">-Links:--<a href="./how_it_works.html">how it works</a>--<a href="./links/key_concepts.html">links/key concepts</a>--<a href="./walkthrough/syncing.html">walkthrough/syncing</a>---</div>-------<div class="pagedate">-Last edited <span class="date">Sat May  4 11:06:46 2013</span>-<!-- Created <span class="date">Sat May  4 11:06:46 2013</span> -->-</div>--</div>---<!-- from git-annex -->-</div>--</div>--</body>-</html>
− debian/git-annex/usr/share/doc/git-annex/html/templates/bare.tmpl
@@ -1,1 +0,0 @@-<TMPL_VAR CONTENT>
− debian/git-annex/usr/share/doc/git-annex/html/templates/bugtemplate.html
@@ -1,137 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">-<html xmlns="http://www.w3.org/1999/xhtml">--<head>--<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />-<title>bugtemplate</title>--<link rel="stylesheet" href="../style.css" type="text/css" />--<link rel="stylesheet" href="../local.css" type="text/css" />-------</head>-<body>--<div class="page">--<div class="pageheader">-<div class="header">-<span>-<span class="parentlinks">--<a href="../index.html">git-annex</a>/ --<a href="../index.html">templates</a>/ --</span>-<span class="title">-bugtemplate--</span>-</span>--</div>--------</div>---<div class="sidebar">-<p><img src="../logo_small.png" width="150" height="115" class="img" /></p>--<ul>-<li><a href="../install.html">install</a></li>-<li><a href="../assistant.html">assistant</a></li>-<li><a href="../walkthrough.html">walkthrough</a></li>-<li><a href="../tips.html">tips</a></li>-<li><span class="createlink">bugs</span></li>-<li><span class="createlink">todo</span></li>-<li><span class="createlink">forum</span></li>-<li><a href="../comments.html">comments</a></li>-<li><a href="../contact.html">contact</a></li>-<li><a href="http://flattr.com/thing/84843/git-annex"><img src="https://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" /></a></li>-</ul>---</div>---<div id="pagebody">--<div id="content">-<h3>Please describe the problem.</h3>--<h3>What steps will reproduce the problem?</h3>--<h3>What version of git-annex are you using? On what operating system?</h3>--<h3>Please provide any additional information below.</h3>--<p>[[!format  sh """</p>--<h1>If you can, paste a complete transcript of the problem occurring here.</h1>--<h1>If the problem is with the git-annex assistant, paste in .git/annex/debug.log</h1>--<h1>End of transcript or log.</h1>--<p>"""]]</p>--</div>----<div id="comments">-----<div class="addcomment">Comments on this page are closed.</div>--</div>----</div>--<div id="footer" class="pagefooter">--<div id="pageinfo">------------<div class="pagedate">-Last edited <span class="date">Sat May  4 11:06:46 2013</span>-<!-- Created <span class="date">Sat May  4 11:06:46 2013</span> -->-</div>--</div>---<!-- from git-annex -->-</div>--</div>--</body>-</html>
− debian/git-annex/usr/share/doc/git-annex/html/templates/walkthrough.tmpl
@@ -1,2 +0,0 @@-<h2><a href="<TMPL_VAR PAGEURL>"><TMPL_VAR TITLE></a></h2>-<TMPL_VAR CONTENT>
− debian/git-annex/usr/share/doc/git-annex/html/testimonials.html
@@ -1,163 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">-<html xmlns="http://www.w3.org/1999/xhtml">--<head>--<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />-<title>testimonials</title>--<link rel="stylesheet" href="style.css" type="text/css" />--<link rel="stylesheet" href="local.css" type="text/css" />-------</head>-<body>--<div class="page">--<div class="pageheader">-<div class="header">-<span>-<span class="parentlinks">--<a href="./index.html">git-annex</a>/ --</span>-<span class="title">-testimonials--</span>-</span>--</div>--------</div>---<div class="sidebar">-<p><img src="./logo_small.png" width="150" height="115" class="img" /></p>--<ul>-<li><a href="./install.html">install</a></li>-<li><a href="./assistant.html">assistant</a></li>-<li><a href="./walkthrough.html">walkthrough</a></li>-<li><a href="./tips.html">tips</a></li>-<li><span class="createlink">bugs</span></li>-<li><span class="createlink">todo</span></li>-<li><span class="createlink">forum</span></li>-<li><a href="./comments.html">comments</a></li>-<li><a href="./contact.html">contact</a></li>-<li><a href="http://flattr.com/thing/84843/git-annex"><img src="https://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" /></a></li>-</ul>---</div>---<div id="pagebody">--<div id="content">-<div>-<blockquote class="twitter-tweet"><p>Git annex. Brilliant. Powerful. <a href="http://t.co/AM9B6peM" title="http://git-annex.branchable.com/">git-annex.branchable.com</a></p>&mdash; Gert van Dijk (@gertvdijk) <a href="https://twitter.com/gertvdijk/status/186456474246053888">April 1, 2012</a></blockquote>--<blockquote class="twitter-tweet"><p>git-annex is like dropbox without the chrome. <a href="http://t.co/qcENNt3g" title="http://git-annex.branchable.com/">git-annex.branchable.com</a></p>&mdash; Wil Chung (@iamwil) <a href="https://twitter.com/iamwil/status/185997581229367296">March 31, 2012</a></blockquote>--<blockquote class="twitter-tweet"><p>blender 2.62 + ffmpeg + dnxhd + git-annex = who needs final cut?</p>&mdash; cdotwright (@cdotwright) <a href="https://twitter.com/cdotwright/status/187645142864375808">April 4, 2012</a></blockquote>--<blockquote class="twitter-tweet"><p>I want <a href="https://twitter.com/search/%2523git">#git</a>-annex whereis for all the stuff (not) in my room.</p>&mdash; topr (@derwelle) <a href="https://twitter.com/derwelle/status/172356564072673280">February 22, 2012</a></blockquote>--</div>-----<blockquote>-What excites me about GIT ANNEX is how it fundamentally tracks the-backup and availability of any data you own, and allows you to share-data with a large or small audience, ensuring that the data survives.-</blockquote>---<p>-- Jason Scott <a href="http://ascii.textfiles.com/archives/3625">http://ascii.textfiles.com/archives/3625</a></p>--<p>Seen on IRC:</p>--<pre>-oh my god, git-annex is amazing-this is the revolution in fucking with gigantic piles of files that I've been waiting for-</pre>---<p>And then my own story: I have a ton of drives. I have a lot of servers. I-live in a cabin on <strong>dialup</strong> and often have 1 hour on broadband in a week-to get everything I need. Without git-annex, managing all this would not be-possible. It works perfectly for me, not a surprise since I wrote it, but-still, it's a different level of "perfect" than anything I could put-together before. --<span class="createlink">Joey</span></p>--</div>----<div id="comments">-----<div class="addcomment">Comments on this page are closed.</div>--</div>----</div>--<div id="footer" class="pagefooter">--<div id="pageinfo">-------<div id="backlinks">-Links:--<a href="./links/other_stuff.html">links/other stuff</a>---</div>-------<div class="pagedate">-Last edited <span class="date">Fri Sep 28 01:45:57 2012</span>-<!-- Created <span class="date">Fri Sep 28 01:45:57 2012</span> -->-</div>--</div>---<!-- from git-annex -->-</div>--</div>--</body>-</html>
− debian/git-annex/usr/share/doc/git-annex/html/tips.html
@@ -1,390 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">-<html xmlns="http://www.w3.org/1999/xhtml">--<head>--<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />-<title>tips</title>--<link rel="stylesheet" href="style.css" type="text/css" />--<link rel="stylesheet" href="local.css" type="text/css" />-------</head>-<body>--<div class="page">--<div class="pageheader">-<div class="header">-<span>-<span class="parentlinks">--<a href="./index.html">git-annex</a>/ --</span>-<span class="title">-tips--</span>-</span>--</div>--------</div>---<div class="sidebar">-<p><img src="./logo_small.png" width="150" height="115" class="img" /></p>--<ul>-<li><a href="./install.html">install</a></li>-<li><a href="./assistant.html">assistant</a></li>-<li><a href="./walkthrough.html">walkthrough</a></li>-<li><span class="selflink">tips</span></li>-<li><span class="createlink">bugs</span></li>-<li><span class="createlink">todo</span></li>-<li><span class="createlink">forum</span></li>-<li><a href="./comments.html">comments</a></li>-<li><a href="./contact.html">contact</a></li>-<li><a href="http://flattr.com/thing/84843/git-annex"><img src="https://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" /></a></li>-</ul>---</div>---<div id="pagebody">--<div id="content">-<p>This page is a place to document tips and techniques for using git-annex.</p>--<div  class="feedlink">---</div>-<p>--<a href="./tips/what_to_do_when_you_lose_a_repository.html">what to do when you lose a repository</a><br />--<i>-Posted <span class="date">Sat May  4 11:06:46 2013</span>--</i>-</p>-<p>--<a href="./tips/setup_a_public_repository_on_a_web_site.html">setup a public repository on a web site</a><br />--<i>-Posted <span class="date">Sat May  4 11:06:46 2013</span>--</i>-</p>-<p>--<a href="./tips/Decentralized_repository_behind_a_Firewall.html">Decentralized repository behind a Firewall</a><br />--<i>-Posted <span class="date">Sat May  4 11:06:46 2013</span>--</i>-</p>-<p>--<a href="./tips/Internet_Archive_via_S3.html">Internet Archive via S3</a><br />--<i>-Posted <span class="date">Sat May  4 11:06:46 2013</span>--</i>-</p>-<p>--<a href="./tips/replacing_Sparkleshare_or_dvcs-autosync_with_the_assistant.html">replacing Sparkleshare or dvcs-autosync with the assistant</a><br />--<i>-Posted <span class="date">Sat May  4 11:06:46 2013</span>--</i>-</p>-<p>--<a href="./tips/Using_Git-annex_as_a_web_browsing_assistant.html">Using Git-annex as a web browsing assistant</a><br />--<i>-Posted <span class="date">Sat May  4 11:06:46 2013</span>--</i>-</p>-<p>--<a href="./tips/using_gitolite_with_git-annex.html">using gitolite with git-annex</a><br />--<i>-Posted <span class="date">Sat May  4 11:06:46 2013</span>--</i>-</p>-<p>--<a href="./tips/using_Google_Cloud_Storage.html">using Google Cloud Storage</a><br />--<i>-Posted <span class="date">Sat May  4 11:06:46 2013</span>--</i>-</p>-<p>--<a href="./tips/Building_git-annex_on_Debian_OR___37____164____35____34____164____37____38____34____35___Haskell__33__.html">Building git-annex on Debian OR &#37;&#164;&#35;&#34;&#164;&#37;&#38;&#34;&#35; Haskell&#33;</a><br />--<i>-Posted <span class="date">Sat May  4 11:06:46 2013</span>--</i>-</p>-<p>--<a href="./tips/using_Amazon_S3.html">using Amazon S3</a><br />--<i>-Posted <span class="date">Sat May  4 11:06:46 2013</span>--</i>-</p>-<p>--<a href="./tips/assume-unstaged.html">using assume-unstages to speed up git with large trees of annexed files</a><br />--<i>-Posted <span class="date">Sat May  4 11:06:46 2013</span>--</i>-</p>-<p>--<a href="./tips/How_to_retroactively_annex_a_file_already_in_a_git_repo.html">How to retroactively annex a file already in a git repo</a><br />--<i>-Posted <span class="date">Sat May  4 11:06:46 2013</span>--</i>-</p>-<p>--<a href="./tips/using_Amazon_Glacier.html">using Amazon Glacier</a><br />--<i>-Posted <span class="date">Sat May  4 11:06:46 2013</span>--</i>-</p>-<p>--<a href="./tips/emacs_integration.html">emacs integration</a><br />--<i>-Posted <span class="date">Sat May  4 11:06:46 2013</span>--</i>-</p>-<p>--<a href="./tips/using_box.com_as_a_special_remote.html">using box.com as a special remote</a><br />--<i>-Posted <span class="date">Sat May  4 11:06:46 2013</span>--</i>-</p>-<p>--<a href="./tips/finding_duplicate_files.html">finding duplicate files</a><br />--<i>-Posted <span class="date">Fri Sep 28 01:45:57 2012</span>--</i>-</p>-<p>--<a href="./tips/using_git_annex_with_no_fixed_hostname_and_optimising_ssh.html">using git annex with no fixed hostname and optimising ssh</a><br />--<i>-Posted <span class="date">Fri Sep 28 01:45:57 2012</span>--</i>-</p>-<p>--<a href="./tips/using_the_web_as_a_special_remote.html">using the web as a special remote</a><br />--<i>-Posted <span class="date">Fri Sep 28 01:45:57 2012</span>--</i>-</p>-<p>--<a href="./tips/visualizing_repositories_with_gource.html">visualizing repositories with gource</a><br />--<i>-Posted <span class="date">Fri Sep 28 01:45:57 2012</span>--</i>-</p>-<p>--<a href="./tips/centralised_repository:_starting_from_nothing.html">centralised repository: starting from nothing</a><br />--<i>-Posted <span class="date">Fri Sep 28 01:45:57 2012</span>--</i>-</p>-<p>--<a href="./tips/migrating_data_to_a_new_backend.html">migrating data to a new backend</a><br />--<i>-Posted <span class="date">Fri Sep 28 01:45:57 2012</span>--</i>-</p>-<p>--<a href="./tips/centralized_git_repository_tutorial.html">centralized git repository tutorial</a><br />--<i>-Posted <span class="date">Fri Sep 28 01:45:57 2012</span>--</i>-</p>-<p>--<a href="./tips/powerful_file_matching.html">powerful file matching</a><br />--<i>-Posted <span class="date">Fri Sep 28 01:45:57 2012</span>--</i>-</p>-<p>--<a href="./tips/automatically_getting_files_on_checkout.html">automatically getting files on checkout</a><br />--<i>-Posted <span class="date">Fri Sep 28 01:45:57 2012</span>--</i>-</p>-<p>--<a href="./tips/what_to_do_when_a_repository_is_corrupted.html">what to do when a repository is corrupted</a><br />--<i>-Posted <span class="date">Fri Sep 28 01:45:57 2012</span>--</i>-</p>-<p>--<a href="./tips/recover_data_from_lost+found.html">recover data from lost+found</a><br />--<i>-Posted <span class="date">Fri Sep 28 01:45:57 2012</span>--</i>-</p>-<p>--<a href="./tips/untrusted_repositories.html">untrusted repositories</a><br />--<i>-Posted <span class="date">Fri Sep 28 01:45:57 2012</span>--</i>-</p>-<p>--<a href="./tips/using_the_SHA1_backend.html">using the SHA1 backend</a><br />--<i>-Posted <span class="date">Fri Sep 28 01:45:57 2012</span>--</i>-</p>------</div>----<div id="comments">-----<div class="addcomment">Comments on this page are closed.</div>--</div>----</div>--<div id="footer" class="pagefooter">--<div id="pageinfo">-------<div id="backlinks">-Links:--<a href="./sidebar.html">sidebar</a>--<a href="./walkthrough/more.html">walkthrough/more</a>---</div>-------<div class="pagedate">-Last edited <span class="date">Fri Sep 28 01:45:57 2012</span>-<!-- Created <span class="date">Fri Sep 28 01:45:57 2012</span> -->-</div>--</div>---<!-- from git-annex -->-</div>--</div>--</body>-</html>
− debian/git-annex/usr/share/doc/git-annex/html/tips/assume-unstaged.html
@@ -1,188 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">-<html xmlns="http://www.w3.org/1999/xhtml">--<head>--<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />-<title>using assume-unstages to speed up git with large trees of annexed files</title>--<link rel="stylesheet" href="../style.css" type="text/css" />--<link rel="stylesheet" href="../local.css" type="text/css" />-------</head>-<body>--<div class="page">--<div class="pageheader">-<div class="header">-<span>-<span class="parentlinks">--<a href="../index.html">git-annex</a>/ --<a href="../tips.html">tips</a>/ --</span>-<span class="title">-using assume-unstages to speed up git with large trees of annexed files--</span>-</span>--</div>--------</div>---<div class="sidebar">-<p><img src="../logo_small.png" width="150" height="115" class="img" /></p>--<ul>-<li><a href="../install.html">install</a></li>-<li><a href="../assistant.html">assistant</a></li>-<li><a href="../walkthrough.html">walkthrough</a></li>-<li><a href="../tips.html">tips</a></li>-<li><span class="createlink">bugs</span></li>-<li><span class="createlink">todo</span></li>-<li><span class="createlink">forum</span></li>-<li><a href="../comments.html">comments</a></li>-<li><a href="../contact.html">contact</a></li>-<li><a href="http://flattr.com/thing/84843/git-annex"><img src="https://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" /></a></li>-</ul>---</div>---<div id="pagebody">--<div id="content">-<p>Git update-index's assume-unstaged feature can be used to speed-up <code>git status</code> and stuff by not statting the whole tree looking for changed-files.</p>--<p>This feature works quite well with git-annex. Especially because git-annex's files are immutable, so aren't going to change out from under it,-this is a nice fit. If you have a very large tree and <code>git status</code> is-annoyingly slow, you can turn it on:</p>--<pre><code>git config core.ignoreStat true-</code></pre>--<p>When git mv and git rm are used, those changes <em>do</em> get noticed, even-on assume-unchanged files. When new files are added, eg by <code>git annex add</code>,-they are also noticed.</p>--<p>There are two gotchas. Both occur because <code>git add</code> does not stage-assume-unchanged files.</p>--<ol>-<li>When an annexed file is moved to a different directory, it updates-the symlink, and runs <code>git add</code> on it. So the file will move,-but the changed symlink will not be noticed by git and it will commit a-dangling symlink.</li>-<li>When using <code>git annex migrate</code>, it changes the symlink and <code>git adds</code>-it. Again this won't be committed.</li>-</ol>---<p>These can be worked around by running <code>git update-index --really-refresh</code>-after performing such operations. I hope that <code>git add</code> will be changed-to stage changes to assume-unchanged files, which would remove this-only complication. --<span class="createlink">Joey</span></p>--</div>----<div id="comments">-<div  class="feedlink">---</div>-<div class="comment" id="comment-f2b947110dbafdb39f0cc32de1d0dc1d">----<div class="comment-subject">--<a href="/tips/assume-unstaged.html#comment-f2b947110dbafdb39f0cc32de1d0dc1d">It doesn&#x27;t work 100%</a>--</div>--<div class="inlinecontent">-When you remove tracked files... it doesn't show the new status. it's like if the file was ignored.--</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="https://me.yahoo.com/a/2djv2EYwk43rfJIAQXjYt_vfuOU-#a11a6">Olivier R</a>-</span>---&mdash; <span class="date">Thu May  3 17:42:54 2012</span>-</div>----<div style="clear: both"></div>-</div>-----<div class="addcomment">Comments on this page are closed.</div>--</div>----</div>--<div id="footer" class="pagefooter">--<div id="pageinfo">------------<div class="pagedate">-Last edited <span class="date">Sat May  4 11:06:46 2013</span>-<!-- Created <span class="date">Sat May  4 11:06:46 2013</span> -->-</div>--</div>---<!-- from git-annex -->-</div>--</div>--</body>-</html>
− debian/git-annex/usr/share/doc/git-annex/html/tips/emacs_integration.html
@@ -1,140 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">-<html xmlns="http://www.w3.org/1999/xhtml">--<head>--<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />-<title>emacs integration</title>--<link rel="stylesheet" href="../style.css" type="text/css" />--<link rel="stylesheet" href="../local.css" type="text/css" />-------</head>-<body>--<div class="page">--<div class="pageheader">-<div class="header">-<span>-<span class="parentlinks">--<a href="../index.html">git-annex</a>/ --<a href="../tips.html">tips</a>/ --</span>-<span class="title">-emacs integration--</span>-</span>--</div>--------</div>---<div class="sidebar">-<p><img src="../logo_small.png" width="150" height="115" class="img" /></p>--<ul>-<li><a href="../install.html">install</a></li>-<li><a href="../assistant.html">assistant</a></li>-<li><a href="../walkthrough.html">walkthrough</a></li>-<li><a href="../tips.html">tips</a></li>-<li><span class="createlink">bugs</span></li>-<li><span class="createlink">todo</span></li>-<li><span class="createlink">forum</span></li>-<li><a href="../comments.html">comments</a></li>-<li><a href="../contact.html">contact</a></li>-<li><a href="http://flattr.com/thing/84843/git-annex"><img src="https://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" /></a></li>-</ul>---</div>---<div id="pagebody">--<div id="content">-<p>bergey has developed an emacs mode for browsing git-annex repositories,-dired style.</p>--<p><a href="https://gitorious.org/emacs-contrib/annex-mode">https://gitorious.org/emacs-contrib/annex-mode</a></p>--<p>Locally available files are colored differently, and pressing g runs-<code>git annex get</code> on the file at point.</p>--<hr />--<p>John Wiegley has developed a brand new git-annex interaction mode for-Emacs, which aims to integrate with the standard facilities-(C-x C-q, M-x dired, etc) rather than invent its own interface.</p>--<p><a href="https://github.com/jwiegley/git-annex-el">https://github.com/jwiegley/git-annex-el</a></p>--<p>He has also added support to org-attach; if-<code>org-attach-git-annex-cutoff' is non-nil and smaller than the size- of the file you're attaching then org-attach will</code>git annex add the-file`; otherwise it will "git add" it.</p>--</div>----<div id="comments">-----<div class="addcomment">Comments on this page are closed.</div>--</div>----</div>--<div id="footer" class="pagefooter">--<div id="pageinfo">------------<div class="pagedate">-Last edited <span class="date">Sat May  4 11:06:46 2013</span>-<!-- Created <span class="date">Sat May  4 11:06:46 2013</span> -->-</div>--</div>---<!-- from git-annex -->-</div>--</div>--</body>-</html>
− debian/git-annex/usr/share/doc/git-annex/html/tips/using_Amazon_Glacier.html
@@ -1,210 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">-<html xmlns="http://www.w3.org/1999/xhtml">--<head>--<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />-<title>using Amazon Glacier</title>--<link rel="stylesheet" href="../style.css" type="text/css" />--<link rel="stylesheet" href="../local.css" type="text/css" />-------</head>-<body>--<div class="page">--<div class="pageheader">-<div class="header">-<span>-<span class="parentlinks">--<a href="../index.html">git-annex</a>/ --<a href="../tips.html">tips</a>/ --</span>-<span class="title">-using Amazon Glacier--</span>-</span>--</div>--------</div>---<div class="sidebar">-<p><img src="../logo_small.png" width="150" height="115" class="img" /></p>--<ul>-<li><a href="../install.html">install</a></li>-<li><a href="../assistant.html">assistant</a></li>-<li><a href="../walkthrough.html">walkthrough</a></li>-<li><a href="../tips.html">tips</a></li>-<li><span class="createlink">bugs</span></li>-<li><span class="createlink">todo</span></li>-<li><span class="createlink">forum</span></li>-<li><a href="../comments.html">comments</a></li>-<li><a href="../contact.html">contact</a></li>-<li><a href="http://flattr.com/thing/84843/git-annex"><img src="https://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" /></a></li>-</ul>---</div>---<div id="pagebody">--<div id="content">-<p>Amazon Glacier provides low-cost storage, well suited for archiving and-backup. But it takes around 4 hours to get content out of Glacier.</p>--<p>Recent versions of git-annex support Glacier. To use it, you need to have-<a href="http://github.com/basak/glacier-cli">glacier-cli</a> installed.</p>--<p>First, export your Amazon AWS credentials:</p>--<pre><code>    # export AWS_ACCESS_KEY_ID="08TJMT99S3511WOZEP91"-    # export AWS_SECRET_ACCESS_KEY="s3kr1t"-</code></pre>--<p>Now, create a gpg key, if you don't already have one. This will be used-to encrypt everything stored in Glacier, for your privacy. Once you have-a gpg key, run <code>gpg --list-secret-keys</code> to look up its key id, something-like "2512E3C7"</p>--<p>Next, create the Glacier remote.</p>--<pre><code># git annex initremote glacier type=glacier encryption=2512E3C7-initremote glacier (encryption setup with gpg key C910D9222512E3C7) (gpg) ok-</code></pre>--<p>The configuration for the Glacier remote is stored in git. So to make another-repository use the same Glacier remote is easy:</p>--<pre><code>    # cd /media/usb/annex-    # git pull laptop-    # git annex initremote glacier-    initremote glacier (gpg) ok-</code></pre>--<p>Now the remote can be used like any other remote.</p>--<pre><code>    # git annex move my_cool_big_file --to glacier-    copy my_cool_big_file (gpg) (checking glacier...) (to glacier...) ok-</code></pre>--<p>But, when you try to get a file out of Glacier, it'll queue a retrieval-job:</p>--<pre><code># git annex get my_cool_big_file-get my_cool_big_file (from glacier...) (gpg)-glacier: queued retrieval job for archive 'GPGHMACSHA1--862afd4e67e3946587a9ef7fa5beb4e8f1aeb6b8'-  Recommend you wait up to 4 hours, and then run this command again.-failed-</code></pre>--<p>Like it says, you'll need to run the command again later. Let's remember to-do that:</p>--<pre><code># at now + 4 hours-at&gt; git annex get my_cool_big_file-</code></pre>--<p>Another oddity of Glacier is that git-annex is never entirely sure-if a file is still in Glacier. Glacier inventories take hours to retrieve,-and even when retrieved do not necessarily represent the current state.</p>--<p>So, git-annex plays it safe, and avoids trusting the inventory:</p>--<pre><code># git annex copy important_file --to glacier-copy important_file (gpg) (checking glacier...) (to glacier...) ok-# git annex drop important_file-drop important_file (gpg) (checking glacier...)-  Glacier's inventory says it has a copy.-  However, the inventory could be out of date, if it was recently removed.-  (Use --trust-glacier if you're sure it's still in Glacier.)--(unsafe) -  Could only verify the existence of 0 out of 1 necessary copies-</code></pre>--<p>Like it says, you can use <code>--trust-glacier</code> if you're sure-Glacier's inventory is correct and up-to-date.</p>--<p>A final potential gotcha with Glacier is that glacier-cli keeps a local-mapping of file names to Glacier archives. If this cache is lost, or-you want to retrieve files on a different box than the one that put them in-glacier, you'll need to use <code>glacier vault sync</code> to rebuild this cache.</p>--<p>See <a href="../special_remotes/glacier.html">Glacier</a> for details.</p>--</div>----<div id="comments">-----<div class="addcomment">Comments on this page are closed.</div>--</div>----</div>--<div id="footer" class="pagefooter">--<div id="pageinfo">-------<div id="backlinks">-Links:--<a href="../special_remotes.html">special remotes</a>---</div>-------<div class="pagedate">-Last edited <span class="date">Sat May  4 11:06:46 2013</span>-<!-- Created <span class="date">Sat May  4 11:06:46 2013</span> -->-</div>--</div>---<!-- from git-annex -->-</div>--</div>--</body>-</html>
− debian/git-annex/usr/share/doc/git-annex/html/tips/using_Amazon_S3.html
@@ -1,239 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">-<html xmlns="http://www.w3.org/1999/xhtml">--<head>--<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />-<title>using Amazon S3</title>--<link rel="stylesheet" href="../style.css" type="text/css" />--<link rel="stylesheet" href="../local.css" type="text/css" />-------</head>-<body>--<div class="page">--<div class="pageheader">-<div class="header">-<span>-<span class="parentlinks">--<a href="../index.html">git-annex</a>/ --<a href="../tips.html">tips</a>/ --</span>-<span class="title">-using Amazon S3--</span>-</span>--</div>--------</div>---<div class="sidebar">-<p><img src="../logo_small.png" width="150" height="115" class="img" /></p>--<ul>-<li><a href="../install.html">install</a></li>-<li><a href="../assistant.html">assistant</a></li>-<li><a href="../walkthrough.html">walkthrough</a></li>-<li><a href="../tips.html">tips</a></li>-<li><span class="createlink">bugs</span></li>-<li><span class="createlink">todo</span></li>-<li><span class="createlink">forum</span></li>-<li><a href="../comments.html">comments</a></li>-<li><a href="../contact.html">contact</a></li>-<li><a href="http://flattr.com/thing/84843/git-annex"><img src="https://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" /></a></li>-</ul>---</div>---<div id="pagebody">--<div id="content">-<p>git-annex extends git's usual remotes with some <a href="../special_remotes.html">special remotes</a>, that-are not git repositories. This way you can set up a remote using say,-Amazon S3, and use git-annex to transfer files into the cloud.</p>--<p>First, export your Amazon AWS credentials:</p>--<pre><code># export AWS_ACCESS_KEY_ID="08TJMT99S3511WOZEP91"-# export AWS_SECRET_ACCESS_KEY="s3kr1t"-</code></pre>--<p>Now, create a gpg key, if you don't already have one. This will be used-to encrypt everything stored in S3, for your privacy. Once you have-a gpg key, run <code>gpg --list-secret-keys</code> to look up its key id, something-like "2512E3C7"</p>--<p>Next, create the S3 remote, and describe it.</p>--<pre><code># git annex initremote cloud type=S3 encryption=2512E3C7-initremote cloud (encryption setup with gpg key C910D9222512E3C7) (checking bucket) (creating bucket in US) (gpg) ok-# git annex describe cloud "at Amazon's US datacenter"-describe cloud ok-</code></pre>--<p>The configuration for the S3 remote is stored in git. So to make another-repository use the same S3 remote is easy:</p>--<pre><code># cd /media/usb/annex-# git pull laptop-# git annex initremote cloud-initremote cloud (gpg) (checking bucket) ok-</code></pre>--<p>Now the remote can be used like any other remote.</p>--<pre><code># git annex copy my_cool_big_file --to cloud-copy my_cool_big_file (gpg) (checking cloud...) (to cloud...) ok-# git annex move video/hackity_hack_and_kaxxt.mov --to cloud-move video/hackity_hack_and_kaxxt.mov (checking cloud...) (to cloud...) ok-</code></pre>--<p>See <a href="../special_remotes/S3.html">S3</a> for details.</p>--</div>----<div id="comments">-<div  class="feedlink">---</div>-<div class="comment" id="comment-ffb374370bd464243362838201609e33">----<div class="comment-subject">--<a href="/tips/using_Amazon_S3.html#comment-ffb374370bd464243362838201609e33">ANNEX_S3 vs AWS for keys</a>--</div>--<div class="inlinecontent">-The instructions state ANNEX_S3_ACCESS_KEY_ID and ANNEX_SECRET_ACCESS_KEY but git-annex cannot connect with those constants. git-annex tells me to set both "AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY" instead, which works. This is with Xubuntu 12.04.--</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="https://www.google.com/accounts/o8/id?id=AItOawnoUOqs_lbuWyZBqyU6unHgUduJwDDgiKY">Matt</a>-</span>---&mdash; <span class="date">Tue May 29 08:24:25 2012</span>-</div>----<div style="clear: both"></div>-</div>-<div class="comment" id="comment-7f18ee038ed2bb0c5099f2bd015b6fdd">----<div class="comment-subject">--<a href="/tips/using_Amazon_S3.html#comment-7f18ee038ed2bb0c5099f2bd015b6fdd">comment 2</a>--</div>--<div class="inlinecontent">-Thanks, I've fixed that. (You could have too.. this is a wiki ;)--</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="http://joeyh.name/">joeyh.name</a>-</span>---&mdash; <span class="date">Tue May 29 15:10:42 2012</span>-</div>----<div style="clear: both"></div>-</div>-----<div class="addcomment">Comments on this page are closed.</div>--</div>----</div>--<div id="footer" class="pagefooter">--<div id="pageinfo">-------<div id="backlinks">-Links:--<a href="../design/encryption.html">design/encryption</a>--<a href="../special_remotes.html">special remotes</a>--<a href="../special_remotes/S3.html">special remotes/S3</a>---</div>-------<div class="pagedate">-Last edited <span class="date">Sat May  4 11:06:46 2013</span>-<!-- Created <span class="date">Sat May  4 11:06:46 2013</span> -->-</div>--</div>---<!-- from git-annex -->-</div>--</div>--</body>-</html>
− debian/git-annex/usr/share/doc/git-annex/html/transferring_data.html
@@ -1,148 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">-<html xmlns="http://www.w3.org/1999/xhtml">--<head>--<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />-<title>transferring data</title>--<link rel="stylesheet" href="style.css" type="text/css" />--<link rel="stylesheet" href="local.css" type="text/css" />-------</head>-<body>--<div class="page">--<div class="pageheader">-<div class="header">-<span>-<span class="parentlinks">--<a href="./index.html">git-annex</a>/ --</span>-<span class="title">-transferring data--</span>-</span>--</div>--------</div>---<div class="sidebar">-<p><img src="./logo_small.png" width="150" height="115" class="img" /></p>--<ul>-<li><a href="./install.html">install</a></li>-<li><a href="./assistant.html">assistant</a></li>-<li><a href="./walkthrough.html">walkthrough</a></li>-<li><a href="./tips.html">tips</a></li>-<li><span class="createlink">bugs</span></li>-<li><span class="createlink">todo</span></li>-<li><span class="createlink">forum</span></li>-<li><a href="./comments.html">comments</a></li>-<li><a href="./contact.html">contact</a></li>-<li><a href="http://flattr.com/thing/84843/git-annex"><img src="https://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" /></a></li>-</ul>---</div>---<div id="pagebody">--<div id="content">-<p>git-annex can transfer data to or from any of a repository's git remotes.-Depending on where the remote is, the data transfer is done using rsync-(over ssh or locally), or plain cp (with copy-on-write-optimisations on supported filesystems), or using curl (for repositories-on the web). Some <a href="./special_remotes.html">special remotes</a> are also supported that are not-traditional git remotes.</p>--<p>If a data transfer is interrupted, git-annex retains the partial transfer-to allow it to be automatically resumed later.</p>--<p>It's equally easy to transfer a single file to or from a repository,-or to launch a retrievel of a massive pile of files from whatever-repositories they are scattered amongst.</p>--<p>git-annex automatically uses whatever remotes are currently accessible,-preferring ones that are less expensive to talk to.</p>--<table class="img"><caption>A real-world repository interconnection map-(generated by git-annex map)</caption><tr><td><a href="./repomap.png"><img src="./repomap.png" width="640" height="533" class="img" /></a></td></tr></table>---</div>----<div id="comments">-----<div class="addcomment">Comments on this page are closed.</div>--</div>----</div>--<div id="footer" class="pagefooter">--<div id="pageinfo">-------<div id="backlinks">-Links:--<a href="./how_it_works.html">how it works</a>--<a href="./use_case/Alice.html">use case/Alice</a>---</div>-------<div class="pagedate">-Last edited <span class="date">Fri Sep 28 01:45:57 2012</span>-<!-- Created <span class="date">Fri Sep 28 01:45:57 2012</span> -->-</div>--</div>---<!-- from git-annex -->-</div>--</div>--</body>-</html>
− debian/git-annex/usr/share/doc/git-annex/html/trust.html
@@ -1,198 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">-<html xmlns="http://www.w3.org/1999/xhtml">--<head>--<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />-<title>trust</title>--<link rel="stylesheet" href="style.css" type="text/css" />--<link rel="stylesheet" href="local.css" type="text/css" />-------</head>-<body>--<div class="page">--<div class="pageheader">-<div class="header">-<span>-<span class="parentlinks">--<a href="./index.html">git-annex</a>/ --</span>-<span class="title">-trust--</span>-</span>--</div>--------</div>---<div class="sidebar">-<p><img src="./logo_small.png" width="150" height="115" class="img" /></p>--<ul>-<li><a href="./install.html">install</a></li>-<li><a href="./assistant.html">assistant</a></li>-<li><a href="./walkthrough.html">walkthrough</a></li>-<li><a href="./tips.html">tips</a></li>-<li><span class="createlink">bugs</span></li>-<li><span class="createlink">todo</span></li>-<li><span class="createlink">forum</span></li>-<li><a href="./comments.html">comments</a></li>-<li><a href="./contact.html">contact</a></li>-<li><a href="http://flattr.com/thing/84843/git-annex"><img src="https://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" /></a></li>-</ul>---</div>---<div id="pagebody">--<div id="content">-<p>Git-annex supports several levels of trust of a repository:</p>--<ul>-<li>semitrusted (default)</li>-<li>untrusted</li>-<li>trusted</li>-<li>dead</li>-</ul>---<h2>semitrusted</h2>--<p>Normally, git-annex does not fully trust its stored <a href="./location_tracking.html">location tracking</a>-information. When removing content, it will directly check-that other repositories have enough <a href="./copies.html">copies</a>.</p>--<p>Generally that explicit checking is a good idea. Consider that the current-<a href="./location_tracking.html">location tracking</a> information for a remote may not yet have propagated-out. Or, a remote may have suffered a catastrophic loss of data, or itself-been lost.</p>--<p>There is still some trust involved here. A semitrusted repository is-depended on to retain a copy of the file content; possibly the only-<a href="./copies.html">copy</a>.</p>--<p>(Being semitrusted is the default. The <code>git annex semitrust</code> command-restores a repository to this default, when it has been overridden.-The <code>--semitrust</code> option can temporarily restore a repository to this-default.)</p>--<h2>untrusted</h2>--<p>An untrusted repository is not trusted to retain data at all. Git-annex-will retain sufficient <a href="./copies.html">copies</a> of data elsewhere.</p>--<p>This is a good choice for eg, portable drives that could get lost. Or,-if a disk is known to be dying, you can set it to untrusted and let-<code>git annex fsck</code> warn about data that needs to be copied off it.</p>--<p>To configure a repository as untrusted, use the <code>git annex untrust</code>-command.</p>--<h2>trusted</h2>--<p>Sometimes, you may have reasons to fully trust the location tracking-information for a repository. For example, it may be an offline-archival drive, from which you rarely or never remove content. Deciding-when it makes sense to trust the tracking info is up to you.</p>--<p>One way to handle this is just to use <code>--force</code> when a command cannot-access a remote you trust. Or to use <code>--trust</code> to specify a repisitory to-trust temporarily.</p>--<p>To configure a repository as fully and permanently trusted,-use the <code>git annex trust</code> command.</p>--<h2>dead</h2>--<p>This is used to indicate that you have no trust that the repository-exists at all. It's appropriate to use when a drive has been lost,-or a directory irretrevably deleted. It will make git-annex avoid-even showing the repository as a place where data might still reside.</p>--</div>----<div id="comments">-----<div class="addcomment">Comments on this page are closed.</div>--</div>----</div>--<div id="footer" class="pagefooter">--<div id="pageinfo">-------<div id="backlinks">-Links:--<a href="./copies.html">copies</a>--<a href="./internals.html">internals</a>--<a href="./location_tracking.html">location tracking</a>--<a href="./tips/untrusted_repositories.html">tips/untrusted repositories</a>--<a href="./tips/using_the_web_as_a_special_remote.html">tips/using the web as a special remote</a>--<a href="./walkthrough/removing_files:_When_things_go_wrong.html">walkthrough/removing files: When things go wrong</a>---</div>-------<div class="pagedate">-Last edited <span class="date">Fri Sep 28 01:45:57 2012</span>-<!-- Created <span class="date">Fri Sep 28 01:45:57 2012</span> -->-</div>--</div>---<!-- from git-annex -->-</div>--</div>--</body>-</html>
− debian/git-annex/usr/share/doc/git-annex/html/upgrades.html
@@ -1,227 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">-<html xmlns="http://www.w3.org/1999/xhtml">--<head>--<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />-<title>upgrades</title>--<link rel="stylesheet" href="style.css" type="text/css" />--<link rel="stylesheet" href="local.css" type="text/css" />-------</head>-<body>--<div class="page">--<div class="pageheader">-<div class="header">-<span>-<span class="parentlinks">--<a href="./index.html">git-annex</a>/ --</span>-<span class="title">-upgrades--</span>-</span>--</div>--------</div>---<div class="sidebar">-<p><img src="./logo_small.png" width="150" height="115" class="img" /></p>--<ul>-<li><a href="./install.html">install</a></li>-<li><a href="./assistant.html">assistant</a></li>-<li><a href="./walkthrough.html">walkthrough</a></li>-<li><a href="./tips.html">tips</a></li>-<li><span class="createlink">bugs</span></li>-<li><span class="createlink">todo</span></li>-<li><span class="createlink">forum</span></li>-<li><a href="./comments.html">comments</a></li>-<li><a href="./contact.html">contact</a></li>-<li><a href="http://flattr.com/thing/84843/git-annex"><img src="https://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" /></a></li>-</ul>---</div>---<div id="pagebody">--<div id="content">-<p>Occasionally improvments are made to how git-annex stores its data,-that require an upgrade process to convert repositories made with an older-version to be used by a newer version. It's annoying, it should happen-rarely, but sometimes, it's worth it.</p>--<p>There's a committment that git-annex will always support upgrades from all-past versions. After all, you may have offline drives from an earlier-git-annex, and might want to use them with a newer git-annex.</p>--<p>git-annex will notice if it is run in a repository that-needs an upgrade, and refuse to do anything. To upgrade,-use the "git annex upgrade" command.</p>--<p>The upgrade process is guaranteed to be conflict-free. Unless you-already have git conflicts in your repository or between repositories.-Upgrading a repository with conflicts is not recommended; resolve the-conflicts first before upgrading git-annex.</p>--<h2>Upgrade events, so far</h2>--<h3>v3 -&gt; v4 (git-annex version 4.x)</h3>--<p>v4 is only used for <a href="./direct_mode.html">direct mode</a>, and no upgrade needs to be done from-existing v3 repositories, they will continue to work.</p>--<h3>v2 -&gt; v3 (git-annex version 3.x)</h3>--<p>Involved moving the .git-annex/ directory into a separate git-annex branch.</p>--<p>After this upgrade, you should make sure you include the git-annex branch-when git pushing and pulling.</p>--<h3>tips for this upgrade</h3>--<p>This upgrade is easier (and faster!) than the previous upgrades.-You don't need to upgrade every repository at once; it's sufficient-to upgrade each repository only when you next use it.</p>--<p>Example upgrade process:</p>--<pre><code>cd localrepo-git pull-git annex upgrade-git commit -m "upgrade v2 to v3"-git gc-</code></pre>--<h3>v1 -&gt; v2 (git-annex version 0.20110316)</h3>--<p>Involved adding hashing to .git/annex/ and changing the names of all keys.-Symlinks changed.</p>--<p>Also, hashing was added to location log files in .git-annex/.-And .gitattributes needed to have another line added to it.</p>--<p>Previously, files added to the SHA <a href="./backends.html">backends</a> did not have their file-size tracked, while files added to the WORM backend did. Files added to-the SHA backends after the conversion will have their file size tracked,-and that information will be used by git-annex for disk free space checking.-To ensure that information is available for all your annexed files, see-<a href="./upgrades/SHA_size.html">SHA size</a>.</p>--<h3>tips for this upgrade</h3>--<p>This upgrade can tend to take a while, if you have a lot of files.</p>--<p>Each clone of a repository should be individually upgraded.-Until a repository's remotes have been upgraded, git-annex-will refuse to communicate with them.</p>--<p>Start by upgrading one repository, and then you can commit-the changes git-annex staged during upgrade, and push them out to other-repositories. And then upgrade those other repositories. Doing it this-way avoids git-annex doing some duplicate work during the upgrade.</p>--<p>Example upgrade process:</p>--<pre><code>cd localrepo-git pull-git annex upgrade-git commit -m "upgrade v1 to v2"-git push--ssh remote-cd remoterepo-git pull-git annex upgrade-...-</code></pre>--<h3>v0 -&gt; v1 (git-annex version 0.04)</h3>--<p>Involved a reorganisation of the layout of .git/annex/. Symlinks changed.</p>--<p>Handled more or less transparently, although git-annex was just 2 weeks-old at the time, and had few users other than Joey.</p>--<p>Before doing this upgrade, set annex.version:</p>--<pre><code>git config annex.version 0-</code></pre>--</div>----<div id="comments">-----<div class="addcomment">Comments on this page are closed.</div>--</div>----</div>--<div id="footer" class="pagefooter">--<div id="pageinfo">-------<div id="backlinks">-Links:--<a href="./upgrades/SHA_size.html">upgrades/SHA size</a>---</div>-------<div class="pagedate">-Last edited <span class="date">Sat May  4 11:06:46 2013</span>-<!-- Created <span class="date">Sat May  4 11:06:46 2013</span> -->-</div>--</div>---<!-- from git-annex -->-</div>--</div>--</body>-</html>
− debian/git-annex/usr/share/doc/git-annex/html/upgrades/SHA_size.html
@@ -1,189 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">-<html xmlns="http://www.w3.org/1999/xhtml">--<head>--<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />-<title>SHA size</title>--<link rel="stylesheet" href="../style.css" type="text/css" />--<link rel="stylesheet" href="../local.css" type="text/css" />-------</head>-<body>--<div class="page">--<div class="pageheader">-<div class="header">-<span>-<span class="parentlinks">--<a href="../index.html">git-annex</a>/ --<a href="../upgrades.html">upgrades</a>/ --</span>-<span class="title">-SHA size--</span>-</span>--</div>--------</div>---<div class="sidebar">-<p><img src="../logo_small.png" width="150" height="115" class="img" /></p>--<ul>-<li><a href="../install.html">install</a></li>-<li><a href="../assistant.html">assistant</a></li>-<li><a href="../walkthrough.html">walkthrough</a></li>-<li><a href="../tips.html">tips</a></li>-<li><span class="createlink">bugs</span></li>-<li><span class="createlink">todo</span></li>-<li><span class="createlink">forum</span></li>-<li><a href="../comments.html">comments</a></li>-<li><a href="../contact.html">contact</a></li>-<li><a href="http://flattr.com/thing/84843/git-annex"><img src="https://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" /></a></li>-</ul>---</div>---<div id="pagebody">--<div id="content">-<p>Before version 2 of the git-annex repository, files added to the SHA-<a href="../backends.html">backends</a> did not have their file size tracked, while files added to the-WORM backend did. The file size information is used for disk free space-checking.</p>--<p>Files added to the SHA backends after the conversion will have their file-size tracked automatically. This disk free space checking is an optional-feature and since you're more likely to be using more recently added files,-you're unlikely to see any bad effect if you do nothing.</p>--<p>That said, if you have old files added to SHA backends that lack file size-tracking info, here's how you can add that info. After <a href="../upgrades.html">upgrading</a>-to repository version 2, in each repository run:</p>--<pre><code>git annex migrate-git commit -m 'migrated keys for v2'-</code></pre>--<p>The usual caveats about <a href="../tips/migrating_data_to_a_new_backend.html">migrating data to a new backend</a>-apply; you will end up with unused keys that you can later clean up with-<code>git annex unused</code>.</p>--</div>----<div id="comments">-<div  class="feedlink">---</div>-<div class="comment" id="comment-376cc462e818489fa3c78eccc99b6f7f">----<div class="comment-subject">--<a href="/upgrades/SHA_size.html#comment-376cc462e818489fa3c78eccc99b6f7f">The fact that the keys changed causes merge conflicts</a>--</div>--<div class="inlinecontent">-<p>FYI, I have run into a problem where if you 'git annex sync' between various 'git annex v3' repositories, if the different repositories are using different encodings of the SHA1 information (one including size, one not), then the 'git merge' will declare that they conflict.</p>--<p>There's no indication that 'git annex migrate' is the right tool to run, except from perusing the 'git annex' man page. In my opinion this is a major user interface problem.</p>--<p>-- Asheesh.</p>---</div>--<div class="comment-header">--Comment by--<span class="author" title="OpenID">-<a href="https://www.google.com/accounts/o8/id?id=AItOawkjvjLHW9Omza7x1VEzIFQ8Z5honhRB90I">Asheesh</a>-</span>---&mdash; <span class="date">Sun Jun 24 20:28:59 2012</span>-</div>----<div style="clear: both"></div>-</div>-----<div class="addcomment">Comments on this page are closed.</div>--</div>----</div>--<div id="footer" class="pagefooter">--<div id="pageinfo">-------<div id="backlinks">-Links:--<a href="../upgrades.html">upgrades</a>---</div>-------<div class="pagedate">-Last edited <span class="date">Fri Sep 28 01:45:57 2012</span>-<!-- Created <span class="date">Fri Sep 28 01:45:57 2012</span> -->-</div>--</div>---<!-- from git-annex -->-</div>--</div>--</body>-</html>
− debian/git-annex/usr/share/doc/git-annex/html/use_case/Alice.html
@@ -1,144 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">-<html xmlns="http://www.w3.org/1999/xhtml">--<head>--<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />-<title>Alice</title>--<link rel="stylesheet" href="../style.css" type="text/css" />--<link rel="stylesheet" href="../local.css" type="text/css" />-------</head>-<body>--<div class="page">--<div class="pageheader">-<div class="header">-<span>-<span class="parentlinks">--<a href="../index.html">git-annex</a>/ --<a href="../index.html">use case</a>/ --</span>-<span class="title">-Alice--</span>-</span>--</div>--------</div>---<div class="sidebar">-<p><img src="../logo_small.png" width="150" height="115" class="img" /></p>--<ul>-<li><a href="../install.html">install</a></li>-<li><a href="../assistant.html">assistant</a></li>-<li><a href="../walkthrough.html">walkthrough</a></li>-<li><a href="../tips.html">tips</a></li>-<li><span class="createlink">bugs</span></li>-<li><span class="createlink">todo</span></li>-<li><span class="createlink">forum</span></li>-<li><a href="../comments.html">comments</a></li>-<li><a href="../contact.html">contact</a></li>-<li><a href="http://flattr.com/thing/84843/git-annex"><img src="https://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" /></a></li>-</ul>---</div>---<div id="pagebody">--<div id="content">-<h3>use case: The Nomad</h3>--<p>Alice is always on the move, often with her trusty netbook and a small-handheld terabyte USB drive, or a smaller USB keydrive. She has a server-out there on the net. She stores data, encrypted in the Cloud.</p>--<p>All these things can have different files on them, but Alice no longer-has to deal with the tedious process of keeping them manually in sync,-or remembering where she put a file. git-annex manages all these data-sources as if they were git remotes.<br/>-<small><a href="../special_remotes.html">more about special remotes</a></small></p>--<p>When she has 1 bar on her cell, Alice queues up interesting files on her-server for later. At a coffee shop, she has git-annex download them to her-USB drive. High in the sky or in a remote cabin, she catches up on-podcasts, videos, and games, first letting git-annex copy them from-her USB drive to the netbook (this saves battery power).<br/>-<small><a href="../transferring_data.html">more about transferring data</a></small></p>--<p>When she's done, she tells git-annex which to keep and which to remove.-They're all removed from her netbook to save space, and Alice knows-that next time she syncs up to the net, her changes will be synced back-to her server.<br/>-<small><a href="../distributed_version_control.html">more about distributed version control</a></small></p>--</div>----<div id="comments">-----<div class="addcomment">Comments on this page are closed.</div>--</div>----</div>--<div id="footer" class="pagefooter">--<div id="pageinfo">------------<div class="pagedate">-Last edited <span class="date">Fri Sep 28 01:45:57 2012</span>-<!-- Created <span class="date">Fri Sep 28 01:45:57 2012</span> -->-</div>--</div>---<!-- from git-annex -->-</div>--</div>--</body>-</html>
− debian/git-annex/usr/share/doc/git-annex/html/use_case/Bob.html
@@ -1,153 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">-<html xmlns="http://www.w3.org/1999/xhtml">--<head>--<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />-<title>Bob</title>--<link rel="stylesheet" href="../style.css" type="text/css" />--<link rel="stylesheet" href="../local.css" type="text/css" />-------</head>-<body>--<div class="page">--<div class="pageheader">-<div class="header">-<span>-<span class="parentlinks">--<a href="../index.html">git-annex</a>/ --<a href="../index.html">use case</a>/ --</span>-<span class="title">-Bob--</span>-</span>--</div>--------</div>---<div class="sidebar">-<p><img src="../logo_small.png" width="150" height="115" class="img" /></p>--<ul>-<li><a href="../install.html">install</a></li>-<li><a href="../assistant.html">assistant</a></li>-<li><a href="../walkthrough.html">walkthrough</a></li>-<li><a href="../tips.html">tips</a></li>-<li><span class="createlink">bugs</span></li>-<li><span class="createlink">todo</span></li>-<li><span class="createlink">forum</span></li>-<li><a href="../comments.html">comments</a></li>-<li><a href="../contact.html">contact</a></li>-<li><a href="http://flattr.com/thing/84843/git-annex"><img src="https://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" /></a></li>-</ul>---</div>---<div id="pagebody">--<div id="content">-<h3>use case: The Archivist</h3>--<p>Bob has many drives to archive his data, most of them kept offline, in a-safe place.</p>--<p>With git-annex, Bob has a single directory tree that includes all-his files, even if their content is being stored offline. He can-reorganize his files using that tree, committing new versions to git,-without worry about accidentally deleting anything.</p>--<p>When Bob needs access to some files, git-annex can tell him which drive(s)-they're on, and easily make them available. Indeed, every drive knows what-is on every other drive.<br/>-<small><a href="../location_tracking.html">more about location tracking</a></small></p>--<p>Bob thinks long-term, and so he appreciates that git-annex uses a simple-repository format. He knows his files will be accessible in the future-even if the world has forgotten about git-annex and git.<br/>-<small><a href="../future_proofing.html">more about future-proofing</a></small></p>--<p>Run in a cron job, git-annex adds new files to archival drives at night. It-also helps Bob keep track of intentional, and unintentional copies of-files, and logs information he can use to decide when it's time to duplicate-the content of old drives.<br/>-<small><a href="../copies.html">more about backup copies</a></small></p>--</div>----<div id="comments">-----<div class="addcomment">Comments on this page are closed.</div>--</div>----</div>--<div id="footer" class="pagefooter">--<div id="pageinfo">-------<div id="backlinks">-Links:--<a href="../not.html">not</a>---</div>-------<div class="pagedate">-Last edited <span class="date">Fri Sep 28 01:45:57 2012</span>-<!-- Created <span class="date">Fri Sep 28 01:45:57 2012</span> -->-</div>--</div>---<!-- from git-annex -->-</div>--</div>--</body>-</html>
− debian/git-annex/usr/share/doc/git-annex/html/users.html
@@ -1,148 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">-<html xmlns="http://www.w3.org/1999/xhtml">--<head>--<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />-<title>users</title>--<link rel="stylesheet" href="style.css" type="text/css" />--<link rel="stylesheet" href="local.css" type="text/css" />-------</head>-<body>--<div class="page">--<div class="pageheader">-<div class="header">-<span>-<span class="parentlinks">--<a href="./index.html">git-annex</a>/ --</span>-<span class="title">-users--</span>-</span>--</div>--------</div>---<div class="sidebar">-<p><img src="./logo_small.png" width="150" height="115" class="img" /></p>--<ul>-<li><a href="./install.html">install</a></li>-<li><a href="./assistant.html">assistant</a></li>-<li><a href="./walkthrough.html">walkthrough</a></li>-<li><a href="./tips.html">tips</a></li>-<li><span class="createlink">bugs</span></li>-<li><span class="createlink">todo</span></li>-<li><span class="createlink">forum</span></li>-<li><a href="./comments.html">comments</a></li>-<li><a href="./contact.html">contact</a></li>-<li><a href="http://flattr.com/thing/84843/git-annex"><img src="https://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" /></a></li>-</ul>---</div>---<div id="pagebody">--<div id="content">-<p>Users of this wiki, feel free to create a subpage of this one and talk-about yourself on it, within reason. You can link to it to sign your-comments.</p>--<h1>List of users</h1>--<p>--<a href="./users/chrysn.html">chrysn</a>--</p>-<p>--<a href="./users/fmarier.html">fmarier</a>--</p>-<p>--<a href="./users/gebi.html">gebi</a>--</p>-<p>--<a href="./users/joey.html">joey</a>--</p>------</div>----<div id="comments">-----<div class="addcomment">Comments on this page are closed.</div>--</div>----</div>--<div id="footer" class="pagefooter">--<div id="pageinfo">------------<div class="pagedate">-Last edited <span class="date">Fri Sep 28 01:45:57 2012</span>-<!-- Created <span class="date">Fri Sep 28 01:45:57 2012</span> -->-</div>--</div>---<!-- from git-annex -->-</div>--</div>--</body>-</html>
− debian/git-annex/usr/share/doc/git-annex/html/users/chrysn.html
@@ -1,128 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">-<html xmlns="http://www.w3.org/1999/xhtml">--<head>--<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />-<title>chrysn</title>--<link rel="stylesheet" href="../style.css" type="text/css" />--<link rel="stylesheet" href="../local.css" type="text/css" />-------</head>-<body>--<div class="page">--<div class="pageheader">-<div class="header">-<span>-<span class="parentlinks">--<a href="../index.html">git-annex</a>/ --<a href="../users.html">users</a>/ --</span>-<span class="title">-chrysn--</span>-</span>--</div>--------</div>---<div class="sidebar">-<p><img src="../logo_small.png" width="150" height="115" class="img" /></p>--<ul>-<li><a href="../install.html">install</a></li>-<li><a href="../assistant.html">assistant</a></li>-<li><a href="../walkthrough.html">walkthrough</a></li>-<li><a href="../tips.html">tips</a></li>-<li><span class="createlink">bugs</span></li>-<li><span class="createlink">todo</span></li>-<li><span class="createlink">forum</span></li>-<li><a href="../comments.html">comments</a></li>-<li><a href="../contact.html">contact</a></li>-<li><a href="http://flattr.com/thing/84843/git-annex"><img src="https://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" /></a></li>-</ul>---</div>---<div id="pagebody">--<div id="content">-<ul>-<li><strong>name</strong>: chrysn</li>-<li><strong>website</strong>: <a href="http://christian.amsuess.com/">http://christian.amsuess.com/</a></li>-<li><strong>uses git-annex for</strong>: managing the family's photos (and possibly videos and music in the future)</li>-<li><strong>likes git-annex because</strong>: it adds a layer of commit semantics over a regular file system without keeping everything in duplicate locally</li>-<li><strong>would like git-annex to</strong>: not be required any more as git itself learns to use cow filesystems to avoid abundant disk usage and gets better with sparser checkouts (git-annex might then still be a simpler tool that watches over what can be safely dropped for a sparser checkout)</li>-</ul>---</div>----<div id="comments">-----<div class="addcomment">Comments on this page are closed.</div>--</div>----</div>--<div id="footer" class="pagefooter">--<div id="pageinfo">------------<div class="pagedate">-Last edited <span class="date">Fri Sep 28 01:45:57 2012</span>-<!-- Created <span class="date">Fri Sep 28 01:45:57 2012</span> -->-</div>--</div>---<!-- from git-annex -->-</div>--</div>--</body>-</html>
− debian/git-annex/usr/share/doc/git-annex/html/users/fmarier.html
@@ -1,129 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">-<html xmlns="http://www.w3.org/1999/xhtml">--<head>--<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />-<title>fmarier</title>--<link rel="stylesheet" href="../style.css" type="text/css" />--<link rel="stylesheet" href="../local.css" type="text/css" />-------</head>-<body>--<div class="page">--<div class="pageheader">-<div class="header">-<span>-<span class="parentlinks">--<a href="../index.html">git-annex</a>/ --<a href="../users.html">users</a>/ --</span>-<span class="title">-fmarier--</span>-</span>--</div>--------</div>---<div class="sidebar">-<p><img src="../logo_small.png" width="150" height="115" class="img" /></p>--<ul>-<li><a href="../install.html">install</a></li>-<li><a href="../assistant.html">assistant</a></li>-<li><a href="../walkthrough.html">walkthrough</a></li>-<li><a href="../tips.html">tips</a></li>-<li><span class="createlink">bugs</span></li>-<li><span class="createlink">todo</span></li>-<li><span class="createlink">forum</span></li>-<li><a href="../comments.html">comments</a></li>-<li><a href="../contact.html">contact</a></li>-<li><a href="http://flattr.com/thing/84843/git-annex"><img src="https://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" /></a></li>-</ul>---</div>---<div id="pagebody">--<div id="content">-<h1>François Marier</h1>--<p>Free Software and Debian Developer. Lead developer of <a href="https://www.libravatar.org">Libravatar</a></p>--<ul>-<li><a href="http://feeding.cloud.geek.nz">Blog</a> and <a href="http://fmarier.org">homepage</a></li>-<li><a href="http://identi.ca/fmarier">Identica</a> / <a href="https://twitter.com/fmarier">Twitter</a></li>-</ul>---</div>----<div id="comments">-----<div class="addcomment">Comments on this page are closed.</div>--</div>----</div>--<div id="footer" class="pagefooter">--<div id="pageinfo">------------<div class="pagedate">-Last edited <span class="date">Sat May  4 11:06:46 2013</span>-<!-- Created <span class="date">Sat May  4 11:06:46 2013</span> -->-</div>--</div>---<!-- from git-annex -->-</div>--</div>--</body>-</html>
− debian/git-annex/usr/share/doc/git-annex/html/users/gebi.html
@@ -1,121 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">-<html xmlns="http://www.w3.org/1999/xhtml">--<head>--<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />-<title>gebi</title>--<link rel="stylesheet" href="../style.css" type="text/css" />--<link rel="stylesheet" href="../local.css" type="text/css" />-------</head>-<body>--<div class="page">--<div class="pageheader">-<div class="header">-<span>-<span class="parentlinks">--<a href="../index.html">git-annex</a>/ --<a href="../users.html">users</a>/ --</span>-<span class="title">-gebi--</span>-</span>--</div>--------</div>---<div class="sidebar">-<p><img src="../logo_small.png" width="150" height="115" class="img" /></p>--<ul>-<li><a href="../install.html">install</a></li>-<li><a href="../assistant.html">assistant</a></li>-<li><a href="../walkthrough.html">walkthrough</a></li>-<li><a href="../tips.html">tips</a></li>-<li><span class="createlink">bugs</span></li>-<li><span class="createlink">todo</span></li>-<li><span class="createlink">forum</span></li>-<li><a href="../comments.html">comments</a></li>-<li><a href="../contact.html">contact</a></li>-<li><a href="http://flattr.com/thing/84843/git-annex"><img src="https://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" /></a></li>-</ul>---</div>---<div id="pagebody">--<div id="content">-<p>Michael Gebetsroither <a href="mailto:michael@mgeb.org">&#x6d;&#x69;&#99;&#104;&#x61;&#101;&#108;&#64;&#109;&#x67;&#101;&#98;&#x2e;&#x6f;&#x72;&#x67;</a></p>--</div>----<div id="comments">-----<div class="addcomment">Comments on this page are closed.</div>--</div>----</div>--<div id="footer" class="pagefooter">--<div id="pageinfo">------------<div class="pagedate">-Last edited <span class="date">Fri Sep 28 01:45:57 2012</span>-<!-- Created <span class="date">Fri Sep 28 01:45:57 2012</span> -->-</div>--</div>---<!-- from git-annex -->-</div>--</div>--</body>-</html>
− debian/git-annex/usr/share/doc/git-annex/html/users/joey.html
@@ -1,122 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">-<html xmlns="http://www.w3.org/1999/xhtml">--<head>--<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />-<title>joey</title>--<link rel="stylesheet" href="../style.css" type="text/css" />--<link rel="stylesheet" href="../local.css" type="text/css" />-------</head>-<body>--<div class="page">--<div class="pageheader">-<div class="header">-<span>-<span class="parentlinks">--<a href="../index.html">git-annex</a>/ --<a href="../users.html">users</a>/ --</span>-<span class="title">-joey--</span>-</span>--</div>--------</div>---<div class="sidebar">-<p><img src="../logo_small.png" width="150" height="115" class="img" /></p>--<ul>-<li><a href="../install.html">install</a></li>-<li><a href="../assistant.html">assistant</a></li>-<li><a href="../walkthrough.html">walkthrough</a></li>-<li><a href="../tips.html">tips</a></li>-<li><span class="createlink">bugs</span></li>-<li><span class="createlink">todo</span></li>-<li><span class="createlink">forum</span></li>-<li><a href="../comments.html">comments</a></li>-<li><a href="../contact.html">contact</a></li>-<li><a href="http://flattr.com/thing/84843/git-annex"><img src="https://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" /></a></li>-</ul>---</div>---<div id="pagebody">--<div id="content">-<p>Joey Hess <a href="mailto:joey@kitenet.net">&#x6a;&#x6f;&#101;&#x79;&#64;&#107;&#105;&#116;&#x65;&#x6e;&#101;&#x74;&#46;&#x6e;&#101;&#116;</a><br/>-<a href="http://kitenet.net/~joey/">http://kitenet.net/~joey/</a></p>--</div>----<div id="comments">-----<div class="addcomment">Comments on this page are closed.</div>--</div>----</div>--<div id="footer" class="pagefooter">--<div id="pageinfo">------------<div class="pagedate">-Last edited <span class="date">Fri Sep 28 01:45:57 2012</span>-<!-- Created <span class="date">Fri Sep 28 01:45:57 2012</span> -->-</div>--</div>---<!-- from git-annex -->-</div>--</div>--</body>-</html>
− debian/git-annex/usr/share/doc/git-annex/html/videos.html
@@ -1,275 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">-<html xmlns="http://www.w3.org/1999/xhtml">--<head>--<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />-<title>videos</title>--<link rel="stylesheet" href="style.css" type="text/css" />--<link rel="stylesheet" href="local.css" type="text/css" />-------</head>-<body>--<div class="page">--<div class="pageheader">-<div class="header">-<span>-<span class="parentlinks">--<a href="./index.html">git-annex</a>/ --</span>-<span class="title">-videos--</span>-</span>--</div>--------</div>---<div class="sidebar">-<p><img src="./logo_small.png" width="150" height="115" class="img" /></p>--<ul>-<li><a href="./install.html">install</a></li>-<li><a href="./assistant.html">assistant</a></li>-<li><a href="./walkthrough.html">walkthrough</a></li>-<li><a href="./tips.html">tips</a></li>-<li><span class="createlink">bugs</span></li>-<li><span class="createlink">todo</span></li>-<li><span class="createlink">forum</span></li>-<li><a href="./comments.html">comments</a></li>-<li><a href="./contact.html">contact</a></li>-<li><a href="http://flattr.com/thing/84843/git-annex"><img src="https://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" /></a></li>-</ul>---</div>---<div id="pagebody">--<div id="content">-<p>Talks and screencasts about git-annex.</p>--<p>These videos are also available in a public git-annex repository-<code>git clone http://downloads.kitenet.net/.git/</code></p>--<div  class="feedlink">---</div>-<div class="inlinepage">--<div class="inlineheader">--<span class="header">--<a href="./videos/git-annex_assistant_archiving.html">git-annex assistant archiving</a>--</span>-</div>--<div class="inlinecontent">-<p><video controls width="400">-<source src="http://downloads.kitenet.net/videos/git-annex/git-annex-assistant-archiving.ogv">-</video><br>-A <a href="http://downloads.kitenet.net/videos/git-annex/git-annex-assistant-archiving.ogv">9 minute screencast</a>-covering archiving your files with the <a href="./assistant.html">git-annex assistant</a></a>.</p>--</div>--<div class="inlinefooter">--<span class="pagedate">-Posted <span class="date">Sat May  4 11:06:46 2013</span>-</span>----------</div>--</div>-<div class="inlinepage">--<div class="inlineheader">--<span class="header">--<a href="./videos/git-annex_assistant_remote_sharing.html">git-annex assistant remote sharing</a>--</span>-</div>--<div class="inlinecontent">-<p><video controls width="400">-<source src="http://downloads.kitenet.net/videos/git-annex/git-annex-xmpp-pairing.ogv">-</video><br>-A <a href="http://downloads.kitenet.net/videos/git-annex/git-annex-xmpp-pairing.ogv">6 minute screencast</a>-showing how to share files between your computers in different locations,-such as home and work.</p>--</div>--<div class="inlinefooter">--<span class="pagedate">-Posted <span class="date">Sat May  4 11:06:46 2013</span>-</span>----------</div>--</div>------<p>--<a href="./videos/git-annex_assistant_introduction.html">git-annex assistant introduction</a><br />--<i>-Posted <span class="date">Sat May  4 11:06:46 2013</span>--</i>-</p>-<p>--<a href="./videos/LCA2013.html">git-annex presentation by Joey Hess at Linux.Conf.Au 2013</a><br />--<i>-Posted <span class="date">Fri Feb  1 00:00:00 2013</span>--</i>-</p>-<p>--<a href="./videos/git-annex_weppapp_demo.html">git-annex weppapp demo</a><br />--<i>-Posted <span class="date">Sun Jul 29 14:41:41 2012</span>--</i>-</p>-<p>--<a href="./videos/git-annex_assistant_sync_demo.html">git-annex assistant sync demo</a><br />--<i>-Posted <span class="date">Thu Jul  5 18:36:06 2012</span>--</i>-</p>-<p>--<a href="./videos/git-annex_watch_demo.html">git-annex watch demo</a><br />--<i>-Posted <span class="date">Mon Jun 11 16:02:14 2012</span>--</i>-</p>-<p>--<a href="./videos/FOSDEM2012.html">git-annex presentation by Richard Hartmann at FOSDEM 2012</a><br />--<i>-Posted <span class="date">Sun Jan  1 00:00:00 2012</span>--</i>-</p>------</div>----<div id="comments">-----<div class="addcomment">Comments on this page are closed.</div>--</div>----</div>--<div id="footer" class="pagefooter">--<div id="pageinfo">-------<div id="backlinks">-Links:--<a href="./design/assistant.html">design/assistant</a>--<a href="./footer/column_b.html">footer/column b</a>---</div>-------<div class="pagedate">-Last edited <span class="date">Sat May  4 11:06:46 2013</span>-<!-- Created <span class="date">Sat May  4 11:06:46 2013</span> -->-</div>--</div>---<!-- from git-annex -->-</div>--</div>--</body>-</html>
− debian/git-annex/usr/share/doc/git-annex/html/videos/FOSDEM2012.html
@@ -1,123 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">-<html xmlns="http://www.w3.org/1999/xhtml">--<head>--<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />-<title>git-annex presentation by Richard Hartmann at FOSDEM 2012</title>--<link rel="stylesheet" href="../style.css" type="text/css" />--<link rel="stylesheet" href="../local.css" type="text/css" />-------</head>-<body>--<div class="page">--<div class="pageheader">-<div class="header">-<span>-<span class="parentlinks">--<a href="../index.html">git-annex</a>/ --<a href="../videos.html">videos</a>/ --</span>-<span class="title">-git-annex presentation by Richard Hartmann at FOSDEM 2012--</span>-</span>--</div>--------</div>---<div class="sidebar">-<p><img src="../logo_small.png" width="150" height="115" class="img" /></p>--<ul>-<li><a href="../install.html">install</a></li>-<li><a href="../assistant.html">assistant</a></li>-<li><a href="../walkthrough.html">walkthrough</a></li>-<li><a href="../tips.html">tips</a></li>-<li><span class="createlink">bugs</span></li>-<li><span class="createlink">todo</span></li>-<li><span class="createlink">forum</span></li>-<li><a href="../comments.html">comments</a></li>-<li><a href="../contact.html">contact</a></li>-<li><a href="http://flattr.com/thing/84843/git-annex"><img src="https://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" /></a></li>-</ul>---</div>---<div id="pagebody">--<div id="content">-<p><video controls src="http://video.fosdem.org/2012/lightningtalks/git_annex___manage_files_with_git,_without_checking_their_contents_into_git.webm"></video><br>-A <a href="http://video.fosdem.org/2012/lightningtalks/git_annex___manage_files_with_git,_without_checking_their_contents_into_git.webm">15 minute introduction to git-annex</a>,-presented by Richard Hartmann at FOSDEM 2012.</p>--</div>----<div id="comments">-----<div class="addcomment">Comments on this page are closed.</div>--</div>----</div>--<div id="footer" class="pagefooter">--<div id="pageinfo">------------<div class="pagedate">-Last edited <span class="date">Sat May  4 11:06:46 2013</span>-<!-- Created <span class="date">Sun Jan  1 00:00:00 2012</span> -->-</div>--</div>---<!-- from git-annex -->-</div>--</div>--</body>-</html>
− debian/git-annex/usr/share/doc/git-annex/html/videos/LCA2013.html
@@ -1,125 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">-<html xmlns="http://www.w3.org/1999/xhtml">--<head>--<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />-<title>git-annex presentation by Joey Hess at Linux.Conf.Au 2013</title>--<link rel="stylesheet" href="../style.css" type="text/css" />--<link rel="stylesheet" href="../local.css" type="text/css" />-------</head>-<body>--<div class="page">--<div class="pageheader">-<div class="header">-<span>-<span class="parentlinks">--<a href="../index.html">git-annex</a>/ --<a href="../videos.html">videos</a>/ --</span>-<span class="title">-git-annex presentation by Joey Hess at Linux.Conf.Au 2013--</span>-</span>--</div>--------</div>---<div class="sidebar">-<p><img src="../logo_small.png" width="150" height="115" class="img" /></p>--<ul>-<li><a href="../install.html">install</a></li>-<li><a href="../assistant.html">assistant</a></li>-<li><a href="../walkthrough.html">walkthrough</a></li>-<li><a href="../tips.html">tips</a></li>-<li><span class="createlink">bugs</span></li>-<li><span class="createlink">todo</span></li>-<li><span class="createlink">forum</span></li>-<li><a href="../comments.html">comments</a></li>-<li><a href="../contact.html">contact</a></li>-<li><a href="http://flattr.com/thing/84843/git-annex"><img src="https://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" /></a></li>-</ul>---</div>---<div id="pagebody">--<div id="content">-<p><video controls>-<source type="video/mp4" src="http://mirror.linux.org.au/linux.conf.au/2013/mp4/gitannex.mp4">-<source type="video/ogg" src="http://mirror.linux.org.au/linux.conf.au/2013/ogv/gitannex.ogv">-</video><br>-A <a href="http://mirror.linux.org.au/linux.conf.au/2013/mp4/gitannex.mp4">45 minute talk and demo of git-annex and the assistant</a>), presented by Joey Hess at LCA 2013.</p>--</div>----<div id="comments">-----<div class="addcomment">Comments on this page are closed.</div>--</div>----</div>--<div id="footer" class="pagefooter">--<div id="pageinfo">------------<div class="pagedate">-Last edited <span class="date">Sat May  4 11:06:46 2013</span>-<!-- Created <span class="date">Fri Feb  1 00:00:00 2013</span> -->-</div>--</div>---<!-- from git-annex -->-</div>--</div>--</body>-</html>
− debian/git-annex/usr/share/doc/git-annex/html/walkthrough.html
@@ -1,607 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">-<html xmlns="http://www.w3.org/1999/xhtml">--<head>--<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />-<title>walkthrough</title>--<link rel="stylesheet" href="style.css" type="text/css" />--<link rel="stylesheet" href="local.css" type="text/css" />-------</head>-<body>--<div class="page">--<div class="pageheader">-<div class="header">-<span>-<span class="parentlinks">--<a href="./index.html">git-annex</a>/ --</span>-<span class="title">-walkthrough--</span>-</span>--</div>--------</div>---<div class="sidebar">-<p><img src="./logo_small.png" width="150" height="115" class="img" /></p>--<ul>-<li><a href="./install.html">install</a></li>-<li><a href="./assistant.html">assistant</a></li>-<li><span class="selflink">walkthrough</span></li>-<li><a href="./tips.html">tips</a></li>-<li><span class="createlink">bugs</span></li>-<li><span class="createlink">todo</span></li>-<li><span class="createlink">forum</span></li>-<li><a href="./comments.html">comments</a></li>-<li><a href="./contact.html">contact</a></li>-<li><a href="http://flattr.com/thing/84843/git-annex"><img src="https://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" /></a></li>-</ul>---</div>---<div id="pagebody">--<div id="content">-<p>A walkthrough of the basic features of git-annex.</p>--<div class="toc">-	<ol>-		<li class="L2"><a href="#index1h2">creating a repository</a>-		</li>-		<li class="L2"><a href="#index2h2">adding a remote</a>-		</li>-		<li class="L2"><a href="#index3h2">adding files</a>-		</li>-		<li class="L2"><a href="#index4h2">renaming files</a>-		</li>-		<li class="L2"><a href="#index5h2">getting file content</a>-		</li>-		<li class="L2"><a href="#index6h2">syncing</a>-		</li>-		<li class="L2"><a href="#index7h2">transferring files: When things go wrong</a>-		</li>-		<li class="L2"><a href="#index8h2">removing files</a>-		</li>-		<li class="L2"><a href="#index9h2">removing files: When things go wrong</a>-		</li>-		<li class="L2"><a href="#index10h2">modifying annexed files</a>-		</li>-		<li class="L2"><a href="#index11h2">using ssh remotes</a>-		</li>-		<li class="L2"><a href="#index12h2">moving file content between repositories</a>-		</li>-		<li class="L2"><a href="#index13h2">unused data</a>-		</li>-		<li class="L2"><a href="#index14h2">fsck: verifying your data</a>-		</li>-		<li class="L2"><a href="#index15h2">fsck: when things go wrong</a>-		</li>-		<li class="L2"><a href="#index16h2">backups</a>-		</li>-		<li class="L2"><a href="#index17h2">automatically managing content</a>-		</li>-		<li class="L2"><a href="#index18h2">more</a>-		</li>-	</ol>-</div>-----<h2><a name="index1h2"></a><a href="./walkthrough/creating_a_repository.html">creating a repository</a></h2>-<p>This is very straightforward. Just tell it a description of the repository.</p>--<pre><code># mkdir ~/annex-# cd ~/annex-# git init-# git annex init "my laptop"-</code></pre>--<h2><a name="index2h2"></a><a href="./walkthrough/adding_a_remote.html">adding a remote</a></h2>-<p>Like any other git repository, git-annex repositories have remotes.-Let's start by adding a USB drive as a remote.</p>--<pre><code># sudo mount /media/usb-# cd /media/usb-# git clone ~/annex-# cd annex-# git annex init "portable USB drive"-# git remote add laptop ~/annex-# cd ~/annex-# git remote add usbdrive /media/usb/annex-</code></pre>--<p>This is all standard ad-hoc distributed git repository setup.-The only git-annex specific part is telling it the name-of the new repository created on the USB drive.</p>--<p>Notice that both repos are set up as remotes of one another. This lets-either get annexed files from the other. You'll want to do that even-if you are using git in a more centralized fashion.</p>--<h2><a name="index3h2"></a><a href="./walkthrough/adding_files.html">adding files</a></h2>-<pre><code># cd ~/annex-# cp /tmp/big_file .-# cp /tmp/debian.iso .-# git annex add .-add big_file (checksum...) ok-add debian.iso (checksum...) ok-# git commit -a -m added-</code></pre>--<p>When you add a file to the annex and commit it, only a symlink to-the annexed content is committed. The content itself is stored in-git-annex's backend.</p>--<h2><a name="index4h2"></a><a href="./walkthrough/renaming_files.html">renaming files</a></h2>-<pre><code># cd ~/annex-# git mv big_file my_cool_big_file-# mkdir iso-# git mv debian.iso iso/-# git commit -m moved-</code></pre>--<p>You can use any normal git operations to move files around, or even-make copies or delete them.</p>--<p>Notice that, since annexed files are represented by symlinks,-the symlink will break when the file is moved into a subdirectory.-But, git-annex will fix this up for you when you commit ---it has a pre-commit hook that watches for and corrects broken symlinks.</p>--<h2><a name="index5h2"></a><a href="./walkthrough/getting_file_content.html">getting file content</a></h2>-<p>A repository does not always have all annexed file contents available.-When you need the content of a file, you can use "git annex get" to-make it available.</p>--<p>We can use this to copy everything in the laptop's annex to the-USB drive.</p>--<pre><code># cd /media/usb/annex-# git fetch laptop; git merge laptop/master-# git annex get .-get my_cool_big_file (from laptop...) ok-get iso/debian.iso (from laptop...) ok-</code></pre>--<h2><a name="index6h2"></a><a href="./walkthrough/syncing.html">syncing</a></h2>-<p>Notice that in the <a href="./walkthrough/getting_file_content.html">previous example</a>, you had to-git fetch and merge from laptop first. This lets git-annex know what has-changed in laptop, and so it knows about the files present there and can-get them.</p>--<p>If you have a lot of repositories to keep in sync, manually fetching and-merging from them can become tedious. To automate it there is a handy-sync command, which also even commits your changes for you.</p>--<pre><code># cd /media/usb/annex-# git annex sync-commit-nothing to commit (working directory clean)-ok-pull laptop-ok-push laptop-ok-</code></pre>--<p>After you run sync, the repository will be updated with all changes made to-its remotes, and any changes in the repository will be pushed out to its-remotes, where a sync will get them. This is especially useful when using-git in a distributed fashion, without a-<a href="./tips/centralized_git_repository_tutorial.html">central bare repository</a>. See-<a href="./sync.html">sync</a> for details.</p>--<h2><a name="index7h2"></a><a href="./walkthrough/transferring_files:_When_things_go_wrong.html">transferring files: When things go wrong</a></h2>-<p>After a while, you'll have several annexes, with different file contents.-You don't have to try to keep all that straight; git-annex does-<a href="./location_tracking.html">location tracking</a> for you. If you ask it to get a file and the drive-or file server is not accessible, it will let you know what it needs to get-it:</p>--<pre><code># git annex get video/hackity_hack_and_kaxxt.mov-get video/_why_hackity_hack_and_kaxxt.mov (not available)-  Unable to access these remotes: usbdrive, server-  Try making some of these repositories available:-    5863d8c0-d9a9-11df-adb2-af51e6559a49  -- my home file server-    58d84e8a-d9ae-11df-a1aa-ab9aa8c00826  -- portable USB drive-    ca20064c-dbb5-11df-b2fe-002170d25c55  -- backup SATA drive-failed-# sudo mount /media/usb-# git annex get video/hackity_hack_and_kaxxt.mov-get video/hackity_hack_and_kaxxt.mov (from usbdrive...) ok-</code></pre>--<h2><a name="index8h2"></a><a href="./walkthrough/removing_files.html">removing files</a></h2>-<p>You can always drop files safely. Git-annex checks that some other annex-has the file before removing it.</p>--<pre><code># git annex drop iso/debian.iso-drop iso/Debian_5.0.iso ok-</code></pre>--<h2><a name="index9h2"></a><a href="./walkthrough/removing_files:_When_things_go_wrong.html">removing files: When things go wrong</a></h2>-<p>Before dropping a file, git-annex wants to be able to look at other-remotes, and verify that they still have a file. After all, it could-have been dropped from them too. If the remotes are not mounted/available,-you'll see something like this.</p>--<pre><code># git annex drop important_file other.iso-drop important_file (unsafe)-  Could only verify the existence of 0 out of 1 necessary copies-  Unable to access these remotes: usbdrive-  Try making some of these repositories available:-    58d84e8a-d9ae-11df-a1aa-ab9aa8c00826  -- portable USB drive-    ca20064c-dbb5-11df-b2fe-002170d25c55  -- backup SATA drive-  (Use --force to override this check, or adjust annex.numcopies.)-failed-drop other.iso (unsafe)-  Could only verify the existence of 0 out of 1 necessary copies-      No other repository is known to contain the file.-  (Use --force to override this check, or adjust annex.numcopies.)-failed-</code></pre>--<p>Here you might --force it to drop <code>important_file</code> if you <a href="./trust.html">trust</a> your backup.-But <code>other.iso</code> looks to have never been copied to anywhere else, so if-it's something you want to hold onto, you'd need to transfer it to-some other repository before dropping it.</p>--<h2><a name="index10h2"></a><a href="./walkthrough/modifying_annexed_files.html">modifying annexed files</a></h2>-<p>Normally, the content of files in the annex is prevented from being modified.-(Unless your repository is using <a href="./direct_mode.html">direct mode</a>.)</p>--<p>That's a good thing, because it might be the only copy, you wouldn't-want to lose it in a fumblefingered mistake.</p>--<pre><code># echo oops &gt; my_cool_big_file-bash: my_cool_big_file: Permission denied-</code></pre>--<p>In order to modify a file, it should first be unlocked.</p>--<pre><code># git annex unlock my_cool_big_file-unlock my_cool_big_file (copying...) ok-</code></pre>--<p>That replaces the symlink that normally points at its content with a copy-of the content. You can then modify the file like any regular file. Because-it is a regular file.</p>--<p>(If you decide you don't need to modify the file after all, or want to discard-modifications, just use <code>git annex lock</code>.)</p>--<p>When you <code>git commit</code>, git-annex's pre-commit hook will automatically-notice that you are committing an unlocked file, and add its new content-to the annex. The file will be replaced with a symlink to the new content,-and this symlink is what gets committed to git in the end.</p>--<pre><code># echo "now smaller, but even cooler" &gt; my_cool_big_file-# git commit my_cool_big_file -m "changed an annexed file"-add my_cool_big_file ok-[master 64cda67] changed an annexed file- 1 files changed, 1 insertions(+), 1 deletions(-)-</code></pre>--<p>There is one problem with using <code>git commit</code> like this: Git wants to first-stage the entire contents of the file in its index. That can be slow for-big files (sorta why git-annex exists in the first place). So, the-automatic handling on commit is a nice safety feature, since it prevents-the file content being accidentally committed into git. But when working with-big files, it's faster to explicitly add them to the annex yourself-before committing.</p>--<pre><code># echo "now smaller, but even cooler yet" &gt; my_cool_big_file-# git annex add my_cool_big_file-add my_cool_big_file ok-# git commit my_cool_big_file -m "changed an annexed file"-</code></pre>--<h2><a name="index11h2"></a><a href="./walkthrough/using_ssh_remotes.html">using ssh remotes</a></h2>-<p>So far in this walkthrough, git-annex has been used with a remote-repository on a USB drive. But it can also be used with a git remote-that is truely remote, a host accessed by ssh.</p>--<p>Say you have a desktop on the same network as your laptop and want-to clone the laptop's annex to it:</p>--<pre><code># git clone ssh://mylaptop/home/me/annex ~/annex-# cd ~/annex-# git annex init "my desktop"-</code></pre>--<p>Now you can get files and they will be transferred (using <code>rsync</code> via <code>ssh</code>):</p>--<pre><code># git annex get my_cool_big_file-get my_cool_big_file (getting UUID for origin...) (from origin...)-SHA256-s86050597--6ae2688bc533437766a48aa19f2c06be14d1bab9c70b468af445d4f07b65f41e  100% 2159     2.1KB/s   00:00-ok-</code></pre>--<p>When you drop files, git-annex will ssh over to the remote and make-sure the file's content is still there before removing it locally:</p>--<pre><code># git annex drop my_cool_big_file-drop my_cool_big_file (checking origin..) ok-</code></pre>--<p>Note that normally git-annex prefers to use non-ssh remotes, like-a USB drive, before ssh remotes. They are assumed to be faster/cheaper to-access, if available. There is a annex-cost setting you can configure in-<code>.git/config</code> to adjust which repositories it prefers. See-<a href="./git-annex.html">the man page</a> for details.</p>--<p>Also, note that you need full shell access for this to work ---git-annex needs to be able to ssh in and run commands. Or at least,-your shell needs to be able to run the <a href="./git-annex-shell.html">git-annex-shell</a> command.</p>--<h2><a name="index12h2"></a><a href="./walkthrough/moving_file_content_between_repositories.html">moving file content between repositories</a></h2>-<p>Often you will want to move some file contents from a repository to some-other one. For example, your laptop's disk is getting full; time to move-some files to an external disk before moving another file from a file-server to your laptop. Doing that by hand (by using <code>git annex get</code> and-<code>git annex drop</code>) is possible, but a bit of a pain. <code>git annex move</code>-makes it very easy.</p>--<pre><code># git annex move my_cool_big_file --to usbdrive-move my_cool_big_file (to usbdrive...) ok-# git annex move video/hackity_hack_and_kaxxt.mov --from fileserver-move video/hackity_hack_and_kaxxt.mov (from fileserver...)-SHA256-s86050597--6ae2688bc533437766a48aa19f2c06be14d1bab9c70b468af445d4f07b65f41e   100%   82MB 199.1KB/s   07:02-ok-</code></pre>--<h2><a name="index13h2"></a><a href="./walkthrough/unused_data.html">unused data</a></h2>-<p>It's possible for data to accumulate in the annex that no files in any-branch point to anymore. One way it can happen is if you <code>git rm</code> a file-without first calling <code>git annex drop</code>. And, when you modify an annexed-file, the old content of the file remains in the annex. Another way is when-migrating between key-value <a href="./backends.html">backends</a>.</p>--<p>This might be historical data you want to preserve, so git-annex defaults to-preserving it. So from time to time, you may want to check for such data and-eliminate it to save space.</p>--<pre><code># git annex unused-unused . (checking for unused data...) -  Some annexed data is no longer used by any files in the repository.-    NUMBER  KEY-    1       SHA256-s86050597--6ae2688bc533437766a48aa19f2c06be14d1bab9c70b468af445d4f07b65f41e-    2       SHA1-s14--f1358ec1873d57350e3dc62054dc232bc93c2bd1-  (To see where data was previously used, try: git log --stat -S'KEY')-  (To remove unwanted data: git-annex dropunused NUMBER)-ok-</code></pre>--<p>After running <code>git annex unused</code>, you can follow the instructions to examine-the history of files that used the data, and if you decide you don't need that-data anymore, you can easily remove it:</p>--<pre><code># git annex dropunused 1-dropunused 1 ok-</code></pre>--<p>Hint: To drop a lot of unused data, use a command like this:</p>--<pre><code># git annex dropunused 1-1000-</code></pre>--<h2><a name="index14h2"></a><a href="./walkthrough/fsck:_verifying_your_data.html">fsck: verifying your data</a></h2>-<p>You can use the fsck subcommand to check for problems in your data. What-can be checked depends on the key-value <a href="./backends.html">backend</a> you've used-for the data. For example, when you use the SHA1 backend, fsck will verify-that the checksums of your files are good. Fsck also checks that the-annex.numcopies setting is satisfied for all files.</p>--<pre><code># git annex fsck-fsck some_file (checksum...) ok-fsck my_cool_big_file (checksum...) ok-...-</code></pre>--<p>You can also specify the files to check.  This is particularly useful if-you're using sha1 and don't want to spend a long time checksumming everything.</p>--<pre><code># git annex fsck my_cool_big_file-fsck my_cool_big_file (checksum...) ok-</code></pre>--<h2><a name="index15h2"></a><a href="./walkthrough/fsck:_when_things_go_wrong.html">fsck: when things go wrong</a></h2>-<p>Fsck never deletes possibly bad data; instead it will be moved to-<code>.git/annex/bad/</code> for you to recover. Here is a sample of what fsck-might say about a badly messed up annex:</p>--<pre><code># git annex fsck-fsck my_cool_big_file (checksum...)-git-annex: Bad file content; moved to .git/annex/bad/SHA1:7da006579dd64330eb2456001fd01948430572f2-git-annex: ** No known copies exist of my_cool_big_file-failed-fsck important_file-git-annex: Only 1 of 2 copies exist. Run git annex get somewhere else to back it up.-failed-git-annex: 2 failed-</code></pre>--<h2><a name="index16h2"></a><a href="./walkthrough/backups.html">backups</a></h2>-<p>git-annex can be configured to require more than one copy of a file exists,-as a simple backup for your data. This is controlled by the "annex.numcopies"-setting, which defaults to 1 copy. Let's change that to require 2 copies,-and send a copy of every file to a USB drive.</p>--<pre><code># echo "* annex.numcopies=2" &gt;&gt; .gitattributes-# git annex copy . --to usbdrive-</code></pre>--<p>Now when we try to <code>git annex drop</code> a file, it will verify that it-knows of 2 other repositories that have a copy before removing its-content from the current repository.</p>--<p>You can also vary the number of copies needed, depending on the file name.-So, if you want 3 copies of all your flac files, but only 1 copy of oggs:</p>--<pre><code># echo "*.ogg annex.numcopies=1" &gt;&gt; .gitattributes-# echo "*.flac annex.numcopies=3" &gt;&gt; .gitattributes-</code></pre>--<p>Or, you might want to make a directory for important stuff, and configure-it so anything put in there is backed up more thoroughly:</p>--<pre><code># mkdir important_stuff-# echo "* annex.numcopies=3" &gt; important_stuff/.gitattributes-</code></pre>--<p>For more details about the numcopies setting, see <a href="./copies.html">copies</a>.</p>--<h2><a name="index17h2"></a><a href="./walkthrough/automatically_managing_content.html">automatically managing content</a></h2>-<p>Once you have multiple repositories, and have perhaps configured numcopies,-any given file can have many more copies than is needed, or perhaps fewer-than you would like. How to manage this?</p>--<p>The whereis subcommand can be used to see how many copies of a file are known,-but then you have to decide what to get or drop. In this example, there-are perhaps not enough copies of the first file, and too many of the second-file.</p>--<pre><code># cd /media/usbdrive-# git annex whereis-whereis my_cool_big_file (1 copy)-    0c443de8-e644-11df-acbf-f7cd7ca6210d  -- laptop-whereis other_file (3 copies)-    0c443de8-e644-11df-acbf-f7cd7ca6210d  -- laptop-    62b39bbe-4149-11e0-af01-bb89245a1e61  -- here (usb drive)-    7570b02e-15e9-11e0-adf0-9f3f94cb2eaa  -- backup drive-</code></pre>--<p>What would be handy is some automated versions of get and drop, that only-gets a file if there are not yet enough copies of it, or only drops a file-if there are too many copies. Well, these exist, just use the --auto option.</p>--<pre><code># git annex get --auto --numcopies=2-get my_cool_big_file (from laptop...) ok-# git annex drop --auto --numcopies=2-drop other_file ok-</code></pre>--<p>With two quick commands, git-annex was able to decide for you how to-work toward having two copies of your files.</p>--<pre><code># git annex whereis-whereis my_cool_big_file (2 copies)-    0c443de8-e644-11df-acbf-f7cd7ca6210d  -- laptop-    62b39bbe-4149-11e0-af01-bb89245a1e61  -- here (usb drive)-whereis other_file (2 copies)-    0c443de8-e644-11df-acbf-f7cd7ca6210d  -- laptop-    7570b02e-15e9-11e0-adf0-9f3f94cb2eaa  -- backup drive-</code></pre>--<p>The --auto option can also be used with the copy command,-again this lets git-annex decide whether to actually copy content.</p>--<p>The above shows how to use --auto to manage content based on the number-of copies. It's also possible to configure, on a per-repository basis,-which content is desired. Then --auto also takes that into account-see <a href="./preferred_content.html">preferred content</a> for details.</p>--<h2><a name="index18h2"></a><a href="./walkthrough/more.html">more</a></h2>-<p>So ends the walkthrough. By now you should be able to use git-annex.</p>--<p>Want more? See <a href="./tips.html">tips</a> for lots more features and advice.</p>-------</div>----<div id="comments">-----<div class="addcomment">Comments on this page are closed.</div>--</div>----</div>--<div id="footer" class="pagefooter">--<div id="pageinfo">-------<div id="backlinks">-Links:--<a href="./distributed_version_control.html">distributed version control</a>--<a href="./how_it_works.html">how it works</a>--<a href="./install/Android.html">install/Android</a>--<a href="./sidebar.html">sidebar</a>--<a href="./summary.html">summary</a>--<a href="./tips/centralized_git_repository_tutorial.html">tips/centralized git repository tutorial</a>--<a href="./tips/using_git_annex_with_no_fixed_hostname_and_optimising_ssh.html">tips/using git annex with no fixed hostname and optimising ssh</a>---</div>-------<div class="pagedate">-Last edited <span class="date">Fri Sep 28 01:45:57 2012</span>-<!-- Created <span class="date">Fri Sep 28 01:45:57 2012</span> -->-</div>--</div>---<!-- from git-annex -->-</div>--</div>--</body>-</html>
− debian/git-annex/usr/share/doc/git-annex/html/walkthrough/adding_files.html
@@ -1,132 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">-<html xmlns="http://www.w3.org/1999/xhtml">--<head>--<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />-<title>adding files</title>--<link rel="stylesheet" href="../style.css" type="text/css" />--<link rel="stylesheet" href="../local.css" type="text/css" />-------</head>-<body>--<div class="page">--<div class="pageheader">-<div class="header">-<span>-<span class="parentlinks">--<a href="../index.html">git-annex</a>/ --<a href="../walkthrough.html">walkthrough</a>/ --</span>-<span class="title">-adding files--</span>-</span>--</div>--------</div>---<div class="sidebar">-<p><img src="../logo_small.png" width="150" height="115" class="img" /></p>--<ul>-<li><a href="../install.html">install</a></li>-<li><a href="../assistant.html">assistant</a></li>-<li><a href="../walkthrough.html">walkthrough</a></li>-<li><a href="../tips.html">tips</a></li>-<li><span class="createlink">bugs</span></li>-<li><span class="createlink">todo</span></li>-<li><span class="createlink">forum</span></li>-<li><a href="../comments.html">comments</a></li>-<li><a href="../contact.html">contact</a></li>-<li><a href="http://flattr.com/thing/84843/git-annex"><img src="https://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" /></a></li>-</ul>---</div>---<div id="pagebody">--<div id="content">-<pre><code># cd ~/annex-# cp /tmp/big_file .-# cp /tmp/debian.iso .-# git annex add .-add big_file (checksum...) ok-add debian.iso (checksum...) ok-# git commit -a -m added-</code></pre>--<p>When you add a file to the annex and commit it, only a symlink to-the annexed content is committed. The content itself is stored in-git-annex's backend.</p>--</div>----<div id="comments">-----<div class="addcomment">Comments on this page are closed.</div>--</div>----</div>--<div id="footer" class="pagefooter">--<div id="pageinfo">------------<div class="pagedate">-Last edited <span class="date">Fri Sep 28 01:45:57 2012</span>-<!-- Created <span class="date">Fri Sep 28 01:45:57 2012</span> -->-</div>--</div>---<!-- from git-annex -->-</div>--</div>--</body>-</html>
− debian/git-annex/usr/share/doc/git-annex/html/walkthrough/backups.html
@@ -1,148 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">-<html xmlns="http://www.w3.org/1999/xhtml">--<head>--<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />-<title>backups</title>--<link rel="stylesheet" href="../style.css" type="text/css" />--<link rel="stylesheet" href="../local.css" type="text/css" />-------</head>-<body>--<div class="page">--<div class="pageheader">-<div class="header">-<span>-<span class="parentlinks">--<a href="../index.html">git-annex</a>/ --<a href="../walkthrough.html">walkthrough</a>/ --</span>-<span class="title">-backups--</span>-</span>--</div>--------</div>---<div class="sidebar">-<p><img src="../logo_small.png" width="150" height="115" class="img" /></p>--<ul>-<li><a href="../install.html">install</a></li>-<li><a href="../assistant.html">assistant</a></li>-<li><a href="../walkthrough.html">walkthrough</a></li>-<li><a href="../tips.html">tips</a></li>-<li><span class="createlink">bugs</span></li>-<li><span class="createlink">todo</span></li>-<li><span class="createlink">forum</span></li>-<li><a href="../comments.html">comments</a></li>-<li><a href="../contact.html">contact</a></li>-<li><a href="http://flattr.com/thing/84843/git-annex"><img src="https://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" /></a></li>-</ul>---</div>---<div id="pagebody">--<div id="content">-<p>git-annex can be configured to require more than one copy of a file exists,-as a simple backup for your data. This is controlled by the "annex.numcopies"-setting, which defaults to 1 copy. Let's change that to require 2 copies,-and send a copy of every file to a USB drive.</p>--<pre><code># echo "* annex.numcopies=2" &gt;&gt; .gitattributes-# git annex copy . --to usbdrive-</code></pre>--<p>Now when we try to <code>git annex drop</code> a file, it will verify that it-knows of 2 other repositories that have a copy before removing its-content from the current repository.</p>--<p>You can also vary the number of copies needed, depending on the file name.-So, if you want 3 copies of all your flac files, but only 1 copy of oggs:</p>--<pre><code># echo "*.ogg annex.numcopies=1" &gt;&gt; .gitattributes-# echo "*.flac annex.numcopies=3" &gt;&gt; .gitattributes-</code></pre>--<p>Or, you might want to make a directory for important stuff, and configure-it so anything put in there is backed up more thoroughly:</p>--<pre><code># mkdir important_stuff-# echo "* annex.numcopies=3" &gt; important_stuff/.gitattributes-</code></pre>--<p>For more details about the numcopies setting, see <a href="../copies.html">copies</a>.</p>--</div>----<div id="comments">-----<div class="addcomment">Comments on this page are closed.</div>--</div>----</div>--<div id="footer" class="pagefooter">--<div id="pageinfo">------------<div class="pagedate">-Last edited <span class="date">Fri Sep 28 01:45:57 2012</span>-<!-- Created <span class="date">Fri Sep 28 01:45:57 2012</span> -->-</div>--</div>---<!-- from git-annex -->-</div>--</div>--</body>-</html>
− debian/git-annex/usr/share/doc/git-annex/html/walkthrough/more.html
@@ -1,123 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">-<html xmlns="http://www.w3.org/1999/xhtml">--<head>--<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />-<title>more</title>--<link rel="stylesheet" href="../style.css" type="text/css" />--<link rel="stylesheet" href="../local.css" type="text/css" />-------</head>-<body>--<div class="page">--<div class="pageheader">-<div class="header">-<span>-<span class="parentlinks">--<a href="../index.html">git-annex</a>/ --<a href="../walkthrough.html">walkthrough</a>/ --</span>-<span class="title">-more--</span>-</span>--</div>--------</div>---<div class="sidebar">-<p><img src="../logo_small.png" width="150" height="115" class="img" /></p>--<ul>-<li><a href="../install.html">install</a></li>-<li><a href="../assistant.html">assistant</a></li>-<li><a href="../walkthrough.html">walkthrough</a></li>-<li><a href="../tips.html">tips</a></li>-<li><span class="createlink">bugs</span></li>-<li><span class="createlink">todo</span></li>-<li><span class="createlink">forum</span></li>-<li><a href="../comments.html">comments</a></li>-<li><a href="../contact.html">contact</a></li>-<li><a href="http://flattr.com/thing/84843/git-annex"><img src="https://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" /></a></li>-</ul>---</div>---<div id="pagebody">--<div id="content">-<p>So ends the walkthrough. By now you should be able to use git-annex.</p>--<p>Want more? See <a href="../tips.html">tips</a> for lots more features and advice.</p>--</div>----<div id="comments">-----<div class="addcomment">Comments on this page are closed.</div>--</div>----</div>--<div id="footer" class="pagefooter">--<div id="pageinfo">------------<div class="pagedate">-Last edited <span class="date">Fri Sep 28 01:45:57 2012</span>-<!-- Created <span class="date">Fri Sep 28 01:45:57 2012</span> -->-</div>--</div>---<!-- from git-annex -->-</div>--</div>--</body>-</html>
− debian/git-annex/usr/share/doc/git-annex/html/walkthrough/syncing.html
@@ -1,146 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">-<html xmlns="http://www.w3.org/1999/xhtml">--<head>--<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />-<title>syncing</title>--<link rel="stylesheet" href="../style.css" type="text/css" />--<link rel="stylesheet" href="../local.css" type="text/css" />-------</head>-<body>--<div class="page">--<div class="pageheader">-<div class="header">-<span>-<span class="parentlinks">--<a href="../index.html">git-annex</a>/ --<a href="../walkthrough.html">walkthrough</a>/ --</span>-<span class="title">-syncing--</span>-</span>--</div>--------</div>---<div class="sidebar">-<p><img src="../logo_small.png" width="150" height="115" class="img" /></p>--<ul>-<li><a href="../install.html">install</a></li>-<li><a href="../assistant.html">assistant</a></li>-<li><a href="../walkthrough.html">walkthrough</a></li>-<li><a href="../tips.html">tips</a></li>-<li><span class="createlink">bugs</span></li>-<li><span class="createlink">todo</span></li>-<li><span class="createlink">forum</span></li>-<li><a href="../comments.html">comments</a></li>-<li><a href="../contact.html">contact</a></li>-<li><a href="http://flattr.com/thing/84843/git-annex"><img src="https://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" /></a></li>-</ul>---</div>---<div id="pagebody">--<div id="content">-<p>Notice that in the <a href="./getting_file_content.html">previous example</a>, you had to-git fetch and merge from laptop first. This lets git-annex know what has-changed in laptop, and so it knows about the files present there and can-get them.</p>--<p>If you have a lot of repositories to keep in sync, manually fetching and-merging from them can become tedious. To automate it there is a handy-sync command, which also even commits your changes for you.</p>--<pre><code># cd /media/usb/annex-# git annex sync-commit-nothing to commit (working directory clean)-ok-pull laptop-ok-push laptop-ok-</code></pre>--<p>After you run sync, the repository will be updated with all changes made to-its remotes, and any changes in the repository will be pushed out to its-remotes, where a sync will get them. This is especially useful when using-git in a distributed fashion, without a-<a href="../tips/centralized_git_repository_tutorial.html">central bare repository</a>. See-<a href="../sync.html">sync</a> for details.</p>--</div>----<div id="comments">-----<div class="addcomment">Comments on this page are closed.</div>--</div>----</div>--<div id="footer" class="pagefooter">--<div id="pageinfo">------------<div class="pagedate">-Last edited <span class="date">Fri Sep 28 01:45:57 2012</span>-<!-- Created <span class="date">Fri Sep 28 01:45:57 2012</span> -->-</div>--</div>---<!-- from git-annex -->-</div>--</div>--</body>-</html>
− debian/git-annex/usr/share/doc/git-annex/html/walkthrough/unused_data.html
@@ -1,205 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">-<html xmlns="http://www.w3.org/1999/xhtml">--<head>--<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />-<title>unused data</title>--<link rel="stylesheet" href="../style.css" type="text/css" />--<link rel="stylesheet" href="../local.css" type="text/css" />-------</head>-<body>--<div class="page">--<div class="pageheader">-<div class="header">-<span>-<span class="parentlinks">--<a href="../index.html">git-annex</a>/ --<a href="../walkthrough.html">walkthrough</a>/ --</span>-<span class="title">-unused data--</span>-</span>--</div>--------</div>---<div class="sidebar">-<p><img src="../logo_small.png" width="150" height="115" class="img" /></p>--<ul>-<li><a href="../install.html">install</a></li>-<li><a href="../assistant.html">assistant</a></li>-<li><a href="../walkthrough.html">walkthrough</a></li>-<li><a href="../tips.html">tips</a></li>-<li><span class="createlink">bugs</span></li>-<li><span class="createlink">todo</span></li>-<li><span class="createlink">forum</span></li>-<li><a href="../comments.html">comments</a></li>-<li><a href="../contact.html">contact</a></li>-<li><a href="http://flattr.com/thing/84843/git-annex"><img src="https://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" /></a></li>-</ul>---</div>---<div id="pagebody">--<div id="content">-<p>It's possible for data to accumulate in the annex that no files in any-branch point to anymore. One way it can happen is if you <code>git rm</code> a file-without first calling <code>git annex drop</code>. And, when you modify an annexed-file, the old content of the file remains in the annex. Another way is when-migrating between key-value <a href="../backends.html">backends</a>.</p>--<p>This might be historical data you want to preserve, so git-annex defaults to-preserving it. So from time to time, you may want to check for such data and-eliminate it to save space.</p>--<pre><code># git annex unused-unused . (checking for unused data...) -  Some annexed data is no longer used by any files in the repository.-    NUMBER  KEY-    1       SHA256-s86050597--6ae2688bc533437766a48aa19f2c06be14d1bab9c70b468af445d4f07b65f41e-    2       SHA1-s14--f1358ec1873d57350e3dc62054dc232bc93c2bd1-  (To see where data was previously used, try: git log --stat -S'KEY')-  (To remove unwanted data: git-annex dropunused NUMBER)-ok-</code></pre>--<p>After running <code>git annex unused</code>, you can follow the instructions to examine-the history of files that used the data, and if you decide you don't need that-data anymore, you can easily remove it:</p>--<pre><code># git annex dropunused 1-dropunused 1 ok-</code></pre>--<p>Hint: To drop a lot of unused data, use a command like this:</p>--<pre><code># git annex dropunused 1-1000-</code></pre>--</div>----<div id="comments">-<div  class="feedlink">---</div>-<div class="comment" id="comment-edbc8f4d58de3e553706acdb6c8a53bb">----<div class="comment-subject">--<a href="/walkthrough/unused_data.html#comment-edbc8f4d58de3e553706acdb6c8a53bb">finding data that isn&#x27;t unused, but should be.</a>--</div>--<div class="inlinecontent">-<p>Sometimes links to annexed data still exists on some branch, when it was supposed to be dropped. Here is how I found these; perhaps there is a simpler way.</p>--<pre><code>% git annex find --format '${key}\n' | sort &gt; /tmp/known-keys-% find .git/annex/objects -type f -exec basename {} \; | sort  &gt; /tmp/local-keys-% comm -23 /tmp/local-keys /tmp/known-keys-</code></pre>--<p>to look for what branch these are on, try</p>--<pre><code>% git log --stat --all -S$key-</code></pre>--<p>for one of the keys output above. In my case it was the same remote branch keeping them all alive.</p>--<p><em>EDIT</em> sort key lists to make comm work properly</p>---</div>--<div class="comment-header">--Comment by--<span class="author" title="Signed in">--<a href="?page=bremner&amp;do=goto">bremner</a>--</span>---&mdash; <span class="date">Wed Oct 17 16:32:11 2012</span>-</div>----<div style="clear: both"></div>-</div>-----<div class="addcomment">Comments on this page are closed.</div>--</div>----</div>--<div id="footer" class="pagefooter">--<div id="pageinfo">------------<div class="pagedate">-Last edited <span class="date">Fri Sep 28 01:45:57 2012</span>-<!-- Created <span class="date">Fri Sep 28 01:45:57 2012</span> -->-</div>--</div>---<!-- from git-annex -->-</div>--</div>--</body>-</html>
− debian/git-annex/usr/share/doc/git-annex/html/walkthrough/using_bup.html
@@ -1,164 +0,0 @@-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">-<html xmlns="http://www.w3.org/1999/xhtml">--<head>--<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />-<title>using bup</title>--<link rel="stylesheet" href="../style.css" type="text/css" />--<link rel="stylesheet" href="../local.css" type="text/css" />-------</head>-<body>--<div class="page">--<div class="pageheader">-<div class="header">-<span>-<span class="parentlinks">--<a href="../index.html">git-annex</a>/ --<a href="../walkthrough.html">walkthrough</a>/ --</span>-<span class="title">-using bup--</span>-</span>--</div>--------</div>---<div class="sidebar">-<p><img src="../logo_small.png" width="150" height="115" class="img" /></p>--<ul>-<li><a href="../install.html">install</a></li>-<li><a href="../assistant.html">assistant</a></li>-<li><a href="../walkthrough.html">walkthrough</a></li>-<li><a href="../tips.html">tips</a></li>-<li><span class="createlink">bugs</span></li>-<li><span class="createlink">todo</span></li>-<li><span class="createlink">forum</span></li>-<li><a href="../comments.html">comments</a></li>-<li><a href="../contact.html">contact</a></li>-<li><a href="http://flattr.com/thing/84843/git-annex"><img src="https://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" /></a></li>-</ul>---</div>---<div id="pagebody">--<div id="content">-<p>Another <a href="../special_remotes.html">special remote</a> that git-annex can use is-a <a href="../special_remotes/bup.html">bup</a> repository. Bup stores large file contents-in a git repository of its own, with deduplication. Combined with-git-annex, you can have git on both the frontend and the backend.</p>--<p>Here's how to create a bup remote, and describe it.</p>--<p>[[!template <span class="error">Error: failed to process template <span class="createlink">note</span> </span>]]</p>--<pre><code># git annex initremote mybup type=bup encryption=none buprepo=example.com:/big/mybup-initremote bup (bup init)-Initialized empty Git repository in /big/mybup/-ok-# git annex describe mybup "my bup repository at example.com"-describe mybup ok-</code></pre>--<p>Now the remote can be used like any other remote.</p>--<pre><code># git annex move my_cool_big_file --to mybup-move my_cool_big_file (to mybup...)-Receiving index from server: 1100/1100, done.-ok-</code></pre>--<p>Note that, unlike other remotes, bup does not really support removing-content from its git repositories. This is a feature. :)</p>--<pre><code># git annex move my_cool_big_file --from mybup-move my_cool_big_file (from mybup...)-  content cannot be removed from bup remote-failed-git-annex: 1 failed-</code></pre>--<p>See <a href="../special_remotes/bup.html">bup</a> for details.</p>--</div>----<div id="comments">-----<div class="addcomment">Comments on this page are closed.</div>--</div>----</div>--<div id="footer" class="pagefooter">--<div id="pageinfo">-------<div id="backlinks">-Links:--<a href="../special_remotes/bup.html">special remotes/bup</a>---</div>-------<div class="pagedate">-Last edited <span class="date">Fri Sep 28 01:45:57 2012</span>-<!-- Created <span class="date">Fri Sep 28 01:45:57 2012</span> -->-</div>--</div>---<!-- from git-annex -->-</div>--</div>--</body>-</html>
− debian/git-annex/usr/share/man/man1/git-annex-shell.1.gz

binary file changed (1383 → absent bytes)

− debian/git-annex/usr/share/man/man1/git-annex.1.gz

binary file changed (12639 → absent bytes)

+ doc/assistant/comment_2_befa1f48e5a43a7965060491430a6bc4._comment view
@@ -0,0 +1,9 @@+[[!comment format=mdwn+ username="https://www.google.com/accounts/o8/id?id=AItOawl9smfyJFgp3f2WjqqZWY6b7vo5eZv7GGQ"+ nickname="Bryan"+ subject="Ooh.  Do want on Windows"+ date="2013-07-03T20:44:05Z"+ content="""+Sadly, I didn't know about this when the Kickstarter was underway - I'd be happy to chip in $100 if it means I can get annex assistant on Windows earlier.++"""]]
doc/assistant/release_notes.mdwn view
@@ -1,3 +1,7 @@+## version 4.20130621, 4.20130627++These releases mostly consist of bug fixes.+ ## version 4.20130601  This is a bugfix release, featuring significant XMPP improvements and
+ doc/automatic_conflict_resolution.mdwn view
@@ -0,0 +1,23 @@+Running `git annex sync` or using the [[assistant]] involves merging+changes from elsewhere into your repository's currently checked out branch.+This could lead to a merge conflict, perhaps because the same file+got changed in two different ways. A nice feature is that these+merge conflicts are automatically resolved, rather than leaving+git in the middle of a conflicted merge, which would prevent further+syncing from happening.++When a conflict occurs, there will be several messages printed about the merge+conflict, and the file that has the merge conflict will be renamed, with+".variant-XXX" tacked onto it. So if there are two versions of file foo,+you might end up with "foo.variant-AAA" and "foo.variant-BBB". It's then+up to you to decide what to do with these two files. Perhaps you can+manually combine them back into a single file. Or perhaps you choose to+rename them to better names and keep two versions, or delete one version+you don't want.++The "AAA" and "BBB" in the above example are essentially arbitrary+(technically they are the MD5 checksum of the key). The automatic merge+conflict resoltuion is designed so that if two or more repositories both get+a merge conflict, and resolve it, the resolved repositories will not+themselves conflict. This is why it doesn't use something nicer, like+perhaps the name of the remote that the file came from.
doc/bare_repositories.mdwn view
@@ -18,6 +18,11 @@   branches that have been pushed to the bare repository. So use it with care.. * Commands that need a work tree, like `git annex add` won't work in a bare   repository, of course.+* However, you can (with recent versions of git-annex) run `git annex copy`,+  `git annex get`, and `git annex move` in a bare repository. These behave+  as if the `--all` option were used, and just operate on every single+  version of every single file that is present in the git repository+  history.  *** 
doc/bugs.mdwn view
@@ -3,7 +3,7 @@ [[!sidebar content=""" [[!inline feeds=no template=bare pages=sidebar]] -Bugs not show here:+Categories:  * [[Bugs_affecting_the_assistant|design/assistant/todo]] * [[Bugs_needing_more_info|moreinfo]]
+ doc/bugs/Adding_git_ssh_remote_fails.mdwn view
@@ -0,0 +1,32 @@+### Please describe the problem.++While trying to add a ssh remote, the webapp promts the error:++    Reinitialized existing shared Git repository in /home/chris/annex-test/+    git-annex: please specify a description of this repository++resp.++    Initialized empty shared Git repository in /home/chris/annex-test-2/+    git-annex: please specify a description of this repository++### What steps will reproduce the problem?++Adding a ssh git remote.++### What version of git-annex are you using? On what operating system?++4.20130704-gaf18656 linux-amd64 and android++### Please provide any additional information below.++[[!format sh """+# If you can, paste a complete transcript of the problem occurring here.+# If the problem is with the git-annex assistant, paste in .git/annex/daemon.log++only successful ssh key generation in daemon.log++# End of transcript or log.+"""]]++> [[done]]; bad installation. --[[Joey]]
doc/bugs/Can__39__t_set_repositories_directory.mdwn view
@@ -10,3 +10,6 @@ user error (git ["--git-dir=/Users/filippo/Desktop/annex/.git","--work-tree=/Users/filippo/Desktop/annex","commit-tree","4b825dc642cb6eb9a060e54bf8d69288fbee4904"] exited 128)  [[!tag moreinfo assistant]]++> [[done]]; based on the comment, this was a broken git email issue, which+> git-annex now works around. --[[Joey]]
doc/bugs/Fails_to_create_remote_repo_if_no_global_email_set.mdwn view
@@ -51,3 +51,5 @@  # End of transcript or log. """]]++> [[done]]; I've made git-annex detect such broken systems and configure them so git will work. (sigh!) --[[Joey]]
doc/bugs/GPG_problem_on_Mac.mdwn view
@@ -29,3 +29,6 @@ 27/Jun/2013:13:41:37 +0200 [Error#yesod-core] user error (gpg ["--quiet","--trust-model","always","--batch","--passphrase-fd","21","--symmetric","--force-mdc"] exited 2) @(yesod-core-1.1.8.3:Yesod.Internal.Core ./Yesod/Internal/Core.hs:550:5) # End of transcript or log. """]]++> [[done]]; I've updated the OSX autobuild to +> use a gpg that doesn't fail when gpg-agent is missing. --[[Joey]]
+ doc/bugs/Internal_Server_Error:_Unknown_UUID.mdwn view
@@ -0,0 +1,25 @@+### Please describe the problem.++One of my repositories has no name:+http://screencast.com/t/3OjxFzpz++And when I try to disable it I get this error:++    Internal Server Error+    Unknown UUID++When I try to delete it I get this error:++    Internal Server Error+    unknown UUID; cannot modify++I think this was the result of adding a Local Computer Repo, and then that computer signed off.  Maybe.++### What version of git-annex are you using? On what operating system?++git-annex version 4.20130601-g2b6c3f2+Mac OS 10.7.5++### Please provide any additional information below.++Maybe it's a glitch that only will happen this once, the problem is I can't get rid of it!  Are there anyways of manually getting rid of a repo with uid?
+ doc/bugs/Last_two_versions_didn__39__t_show_up_on_hackage.mdwn view
@@ -0,0 +1,11 @@+### Please describe the problem.+I don't know how the packages at hackage are managed, but the last version there is 4.20130601 while in the mean time there have been two other releases.++### What steps will reproduce the problem?+Check [[http://hackage.haskell.org/packages/archive/git-annex/]]++> Thanks for reporting. Turns out that hackage was rejecting+> it since it doesn't know about the OS name for the hurd. Since I +> am not sure I have the right name either, I have removed those bits+> and re-uploaded.+> [[done]] --[[Joey]] 
+ doc/bugs/On_Windows__44___wget_is_not_used__44___even_if_available.mdwn view
@@ -0,0 +1,67 @@+### Please describe the problem.+On Windows, with a remote repository configured for HTTP access, wget is never used, even if it's available in the system. curl is always used.++### What steps will reproduce the problem?+1. Set up an annex on a remote system, configure it for HTTP access, run an HTTP server.+2. over HTTP, clone it to Windows+3. "annex get -vd <file>"+4. note that curl is used.+++### What version of git-annex are you using? On what operating system?+Windows 7: 4.20140627-g8a36ec5 (from the git-annex download page)++### Additional Info+After some debugging, it appears the issue is that git-annex looks to see if the file 'wget' is available in any directory on the PATH. on windows, wget is installed as 'wget.exe', and the file 'wget' does not exist anywhere. creating a file named 'wget' works around the issue. (wget.exe appears to still be the file used)++###Full Transcript+1. remote annex is created on host 192.168.0.8, with file "file1.txt"+[[!format sh """+#Windows 7+#download and install git from git-scm.com/download/win+#Git-1.8.3-preview20130601.exe+#on install, selecting "Run Git from the Windows Command Prompt"+#on install, selecting "checkout as-is, commit as-is"+#installs to C:\Program Files (x86)\Git+#download and install git-annex from http://git-annex.branchable.com/install/+#git-annex-installer.exe+#need to right-click 'run as administrator', per reported bug (link here)+#installs to C:\Program Files (x86)\Git\cmd+#also installs some utilities, including wget.exe++C:\Users\test-git-annex>git clone http://192.168.0.8:8000/test_annex/.git+Cloning into 'test_annex'...++C:\Users\test-git-annex>cd test_annex++C:\Users\test-git-annex\test_annex>dir+ Volume in drive C has no label.++ Directory of C:\Users\test-git-annex\test_annex++<DIR>          .+<DIR>          ..+              178 file1.txt+               1 File(s)            178 bytes++C:\Users\test-git-annex\test_annex>type file1.txt+.git/annex/objects/J9/m6/SHA256-s21--6ed275e9e01c84a57fdd99d6af793c5d587d02e699cd2c28b32b7dc90f73e729/SHA256-s21--6ed275e9e01c84a57fdd99d6af793c5d587d02e699cd2c28b32b7dc90f73e729++C:\Users\test-git-annex\test_annex>git annex init windows+init windows+  Detected a crippled filesystem.++  Enabling direct mode.++  Detected a filesystem without fifo support.++  Disabling ssh connection caching.+ok+(Recording state in git...)++C:\Users\test-git-annex\test_annex> git annex get file.txt+#fails, with error dialog box, indicating libcurl-4.dll is missing, indicating git-annex is trying to use curl.++"""]]++> I fixed this immediately after it was mentioned on IRC. [[done]] --[[Joey]] 
+ doc/bugs/Rsync_remote_created_via_webapp_remains_empty.mdwn view
@@ -0,0 +1,138 @@+### Please describe the problem.+The remote server, connected with rsync and with encryption enabled doesn't fill with files.++### What steps will reproduce the problem?+* Add remote server via webapp+* Supply password when asked+* both buttons turn green ('ready to add remote server')+* Select encrypted rsync repository+* When done, files will be queued for transfer, and the queue empties quickly. Afterwards, no files have actually been transferred, but a green message appears and says something like 'synced with xxx'.+* Also, on the remote an empty directory (~/annex) is created.++### What version of git-annex are you using? On what operating system?+local: kubuntu 12.10,            git-annex 4.20130621-g36258de+remote: debian (linux 3.8.0-25), git-annex 4.20130621-g36258de+Both are installed from tarball and PATH is set at the top of .bashrc.++### Please provide any additional information below.++[[!format sh """++Here is what is put in the logs when the button is toggled from 'syncing disabled' to 'syncing enabled'.+daemon.log:++[2013-07-03 13:43:07 CEST] call: git ["--git-dir=/home/boris/annex/.git","--work-tree=/home/boris/annex","config","remote.mybox.annex-sync","true"]+[2013-07-03 13:43:07 CEST] read: git ["config","--null","--list"]+[2013-07-03 13:43:07 CEST] read: git ["config","--null","--list"]+[2013-07-03 13:43:07 CEST] main: Syncing with mybox +[2013-07-03 13:43:07 CEST] read: git ["--git-dir=/home/boris/annex/.git","--work-tree=/home/boris/annex","symbolic-ref","HEAD"]+[2013-07-03 13:43:07 CEST] read: git ["--git-dir=/home/boris/annex/.git","--work-tree=/home/boris/annex","show-ref","refs/heads/master"]+[2013-07-03 13:43:07 CEST] read: git ["--git-dir=/home/boris/annex/.git","--work-tree=/home/boris/annex","show-ref","git-annex"]+[2013-07-03 13:43:07 CEST] read: git ["--git-dir=/home/boris/annex/.git","--work-tree=/home/boris/annex","show-ref","--hash","refs/heads/git-annex"]+[2013-07-03 13:43:07 CEST] read: git ["--git-dir=/home/boris/annex/.git","--work-tree=/home/boris/annex","log","refs/heads/git-annex..4cc51b410f5257f60e4ea187ab0c29783effcc88","--oneline","-n1"]+[2013-07-03 13:43:07 CEST] read: git ["--git-dir=/home/boris/annex/.git","--work-tree=/home/boris/annex","log","refs/heads/git-annex..6728d4d49ef97365eea0e2d379951acee9a9ded8","--oneline","-n1"]+[2013-07-03 13:43:07 CEST] read: git ["--git-dir=/home/boris/annex/.git","--work-tree=/home/boris/annex","symbolic-ref","HEAD"]+[2013-07-03 13:43:07 CEST] read: git ["--git-dir=/home/boris/annex/.git","--work-tree=/home/boris/annex","show-ref","refs/heads/master"]+[2013-07-03 13:43:07 CEST] TransferScanner: starting scan of [Remote { name ="mybox" }]+[2013-07-03 13:43:07 CEST] read: git ["--git-dir=/home/boris/annex/.git","--work-tree=/home/boris/annex","ls-files","--cached","-z","--"]+[2013-07-03 13:43:07 CEST] TransferScanner: queued Upload UUID "32841e5f-1e4d-4c72-84c4-bbb54a335a23" afstuderen/TSPC_FF_R.png Nothing : expensive scan found missing object+[2013-07-03 13:43:07 CEST] Transferrer: Transferring: Upload UUID "32841e5f-1e4d-4c72-84c4-bbb54a335a23" afstuderen/TSPC_FF_R.png Nothing+[2013-07-03 13:43:07 CEST] TransferScanner: queued Upload UUID "32841e5f-1e4d-4c72-84c4-bbb54a335a23" afstuderen/Thumbs.db Nothing : expensive scan found missing object+[2013-07-03 13:43:07 CEST] TransferWatcher: transfer starting: Upload UUID "32841e5f-1e4d-4c72-84c4-bbb54a335a23" afstuderen/TSPC_FF_R.png Nothing+[2013-07-03 13:43:07 CEST] TransferScanner: queued Upload UUID "32841e5f-1e4d-4c72-84c4-bbb54a335a23" afstuderen/administratie/Aanmeldingsformulier Masterexamen.odt Nothing : expensive scan found missing object+[2013-07-03 13:43:07 CEST] TransferScanner: queued Upload UUID "32841e5f-1e4d-4c72-84c4-bbb54a335a23" afstuderen/administratie/Intake_form_MSc_Electrical_Engineering_def dec 2011-1.pdf Nothing : expensive scan found missing object+[2013-07-03 13:43:07 CEST] TransferScanner: queued Upload UUID "32841e5f-1e4d-4c72-84c4-bbb54a335a23" afstuderen/administratie/Opdrachtomschrijving Master.doc Nothing : expensive scan found missing object+[2013-07-03 13:43:07 CEST] TransferScanner: queued Upload UUID "32841e5f-1e4d-4c72-84c4-bbb54a335a23" afstuderen/administratie/Opdrachtomschrijving Master.pdf Nothing : expensive scan found missing object+[2013-07-03 13:43:07 CEST] TransferScanner: queued Upload UUID "32841e5f-1e4d-4c72-84c4-bbb54a335a23" afstuderen/administratie/uren.xls Nothing : expensive scan found missing object+[2013-07-03 13:43:07 CEST] TransferScanner: queued Upload UUID "32841e5f-1e4d-4c72-84c4-bbb54a335a23" afstuderen/eldo_ur.pdf Nothing : expensive scan found missing object+[2013-07-03 13:43:07 CEST] TransferScanner: queued Upload UUID "32841e5f-1e4d-4c72-84c4-bbb54a335a23" afstuderen/literatuur/ A 65J-Conversion-Step 0-to-50MS 0-to-0.7mW 9b Charge-Sharing SAR ADC in 90nm Digital CMOS.pdf Nothing : expensive scan found missing object+[2013-07-03 13:43:07 CEST] TransferScanner: queued Upload UUID "32841e5f-1e4d-4c72-84c4-bbb54a335a23" afstuderen/literatuur/.directory Nothing : expensive scan found missing object+[2013-07-03 13:43:07 CEST] TransferScanner: queued Upload UUID "32841e5f-1e4d-4c72-84c4-bbb54a335a23" afstuderen/literatuur/2009SOVC_A_0.92mW_10-bit_50-MSs_SAR_ADC_in_0.13um_CMOS_Process.pdf Nothing : expensive scan found missing object+[2013-07-03 13:43:07 CEST] TransferScanner: queued Upload UUID "32841e5f-1e4d-4c72-84c4-bbb54a335a23" afstuderen/literatuur/A 8-bit 500-KSs Low Power SAR ADC for Biomedical Applications.pdf Nothing : expensive scan found missing object+fatal: unrecognized command 'rsync --server -vre.iLsf --partial-dir .rsync-partial . annex/'+git-annex-shell: git-shell failed+rsync: connection unexpectedly closed (0 bytes received so far) [sender]+rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]+[2013-07-03 13:43:07 CEST] TransferWatcher: transfer finishing: Transfer {transferDirection = Upload, transferUUID = UUID "32841e5f-1e4d-4c72-84c4-bbb54a335a23", transferKey = Key {keyName = "ea86501fb0db033a103ed2c0806a1bddc145224afc4eb5e17fceb70bf1f674da.png", keyBackendName = "SHA256E", keySize = Just 11004, keyMtime = Nothing}}+fatal: unrecognized command 'rsync --server -vre.iLsf --partial-dir .rsync-partial . annex/'+git-annex-shell: git-shell failed+rsync: connection unexpectedly closed (0 bytes received so far) [sender]+rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]+[2013-07-03 13:43:07 CEST] TransferScanner: queued Upload UUID "32841e5f-1e4d-4c72-84c4-bbb54a335a23" afstuderen/literatuur/A 9.2b 47fJ SAR with input range prediction DAC switching.pdf Nothing : expensive scan found missing object+[2013-07-03 13:43:07 CEST] Transferrer: Transferring: Upload UUID "32841e5f-1e4d-4c72-84c4-bbb54a335a23" afstuderen/Thumbs.db Nothing+[2013-07-03 13:43:07 CEST] TransferWatcher: transfer starting: Upload UUID "32841e5f-1e4d-4c72-84c4-bbb54a335a23" afstuderen/Thumbs.db Nothing+fatal: unrecognized command 'rsync --server -vre.iLsf --partial-dir .rsync-partial . annex/'+git-annex-shell: git-shell failed+rsync: connection unexpectedly closed (0 bytes received so far) [sender]+rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]+[2013-07-03 13:43:07 CEST] TransferWatcher: transfer finishing: Transfer {transferDirection = Upload, transferUUID = UUID "32841e5f-1e4d-4c72-84c4-bbb54a335a23", transferKey = Key {keyName = "23b9a2be728c8af402ededb3eef7e9238b38d54c0ca50a05cbdf4aeea8f03c76.db", keyBackendName = "SHA256E", keySize = Just 12800, keyMtime = Nothing}}+fatal: unrecognized command 'rsync --server -vre.iLsf --partial-dir .rsync-partial . annex/'+git-annex-shell: git-shell failed+rsync: connection unexpectedly closed (0 bytes received so far) [sender]+rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]+:+[2013-07-03 13:43:07 CEST] TransferScanner: queued Upload UUID "32841e5f-1e4d-4c72-84c4-bbb54a335a23" afstuderen/literatuur/A Low-Power Static Dual Edge-Triggered Flip-Flop.pdf Nothing : expensive scan found missing object+[2013-07-03 13:43:07 CEST] Transferrer: Transferring: Upload UUID "32841e5f-1e4d-4c72-84c4-bbb54a335a23" afstuderen/administratie/Aanmeldingsformulier Masterexamen.odt Nothing+[2013-07-03 13:43:07 CEST] TransferWatcher: transfer starting: Upload UUID "32841e5f-1e4d-4c72-84c4-bbb54a335a23" afstuderen/administratie/Aanmeldingsformulier Masterexamen.odt Nothing+fatal: unrecognized command 'rsync --server -vre.iLsf --partial-dir .rsync-partial . annex/'+git-annex-shell: git-shell failed+rsync: connection unexpectedly closed (0 bytes received so far) [sender]+rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]+[2013-07-03 13:43:07 CEST] TransferWatcher: transfer finishing: Transfer {transferDirection = Upload, transferUUID = UUID "32841e5f-1e4d-4c72-84c4-bbb54a335a23", transferKey = Key {keyName = "f27ac57481c9eb0bf7bf1f6c99666aca5c8282137effa33791241b3d36b12de2.odt", keyBackendName = "SHA256E", keySize = Just 22041, keyMtime = Nothing}}+fatal: unrecognized command 'rsync --server -vre.iLsf --partial-dir .rsync-partial . annex/'+git-annex-shell: git-shell failed+rsync: connection unexpectedly closed (0 bytes received so far) [sender]+rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]+[2013-07-03 13:43:07 CEST] TransferScanner: queued Upload UUID "32841e5f-1e4d-4c72-84c4-bbb54a335a23" afstuderen/literatuur/An Energy-Efficient Charge Recycling Approach for a SAR Converter With Capacitive DAC.pdf Nothing : expensive scan found missing object+[2013-07-03 13:43:07 CEST] Transferrer: Transferring: Upload UUID "32841e5f-1e4d-4c72-84c4-bbb54a335a23" afstuderen/administratie/Intake_form_MSc_Electrical_Engineering_def dec 2011-1.pdf Nothing+[2013-07-03 13:43:07 CEST] TransferWatcher: transfer starting: Upload UUID "32841e5f-1e4d-4c72-84c4-bbb54a335a23" afstuderen/administratie/Intake_form_MSc_Electrical_Engineering_def dec 2011-1.pdf Nothing+fatal: unrecognized command 'rsync --server -vre.iLsf --partial-dir .rsync-partial . annex/'+git-annex-shell: git-shell failed+rsync: connection unexpectedly closed (0 bytes received so far) [sender]+rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]+[2013-07-03 13:43:07 CEST] TransferWatcher: transfer finishing: Transfer {transferDirection = Upload, transferUUID = UUID "32841e5f-1e4d-4c72-84c4-bbb54a335a23", transferKey = Key {keyName = "a261cb3835ed869c6ad2347d303ed10e94efa8a50cc9ff053d772c2158097244.pdf", keyBackendName = "SHA256E", keySize = Just 667666, keyMtime = Nothing}}+fatal: unrecognized command 'rsync --server -vre.iLsf --partial-dir .rsync-partial . annex/'+git-annex-shell: git-shell failed+rsync: connection unexpectedly closed (0 bytes received so far) [sender]+rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]+[2013-07-03 13:43:07 CEST] TransferScanner: queued Upload UUID "32841e5f-1e4d-4c72-84c4-bbb54a335a23" afstuderen/literatuur/Calibration Technique for SAR Analog-to-Digital Converters.pdf Nothing : expensive scan found missing object+[2013-07-03 13:43:07 CEST] Transferrer: Transferring: Upload UUID "32841e5f-1e4d-4c72-84c4-bbb54a335a23" afstuderen/administratie/Opdrachtomschrijving Master.doc Nothing+[2013-07-03 13:43:07 CEST] TransferWatcher: transfer starting: Upload UUID "32841e5f-1e4d-4c72-84c4-bbb54a335a23" afstuderen/administratie/Opdrachtomschrijving Master.doc Nothing+fatal: unrecognized command 'rsync --server -vre.iLsf --partial-dir .rsync-partial . annex/'+git-annex-shell: git-shell failed+rsync: connection unexpectedly closed (0 bytes received so far) [sender]+rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]+[2013-07-03 13:43:08 CEST] TransferWatcher: transfer finishing: Transfer {transferDirection = Upload, transferUUID = UUID "32841e5f-1e4d-4c72-84c4-bbb54a335a23", transferKey = Key {keyName = "cb69f2f4ae313277acd163b9bba19392ce50d3c5205ba8bbd90bf9c453088176.doc", keyBackendName = "SHA256E", keySize = Just 34304, keyMtime = Nothing}}+[2013-07-03 13:43:08 CEST] call: git ["--git-dir=/home/boris/annex/.git","--work-tree=/home/boris/annex","config","remote.mybox.annex-sync","false"]+[2013-07-03 13:43:08 CEST] read: git ["config","--null","--list"]+[2013-07-03 13:43:08 CEST] read: git ["config","--null","--list"]+fatal: unrecognized command 'rsync --server -vre.iLsf --partial-dir .rsync-partial . annex/'+git-annex-shell: git-shell failed+rsync: connection unexpectedly closed (0 bytes received so far) [sender]+rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]+[2013-07-03 13:43:08 CEST] TransferScanner: queued Upload UUID "32841e5f-1e4d-4c72-84c4-bbb54a335a23" afstuderen/literatuur/D15_01.pdf Nothing : expensive scan found missing object+[2013-07-03 13:43:08 CEST] Transferrer: Transferring: Upload UUID "32841e5f-1e4d-4c72-84c4-bbb54a335a23" afstuderen/administratie/Opdrachtomschrijving Master.pdf Nothing+[2013-07-03 13:43:08 CEST] TransferWatcher: transfer starting: Upload UUID "32841e5f-1e4d-4c72-84c4-bbb54a335a23" afstuderen/administratie/Opdrachtomschrijving Master.pdf Nothing+fatal: unrecognized command 'rsync --server -vre.iLsf --partial-dir .rsync-partial . annex/'+git-annex-shell: git-shell failed+rsync: connection unexpectedly closed (0 bytes received so far) [sender]+rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]+[2013-07-03 13:43:08 CEST] TransferWatcher: transfer finishing: Transfer {transferDirection = Upload, transferUUID = UUID "32841e5f-1e4d-4c72-84c4-bbb54a335a23", transferKey = Key {keyName = "cea054d80cb5ca572b7055c0132ec2d13125534566ed4a79ab2514c9a60d8ee4.pdf", keyBackendName = "SHA256E", keySize = Just 19802, keyMtime = Nothing}}+fatal: unrecognized command 'rsync --server -vre.iLsf --partial-dir .rsync-partial . annex/'+git-annex-shell: git-shell failed+rsync: connection unexpectedly closed (0 bytes received so far) [sender]+rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]+[2013-07-03 13:43:08 CEST] Transferrer: Transferring: Upload UUID "32841e5f-1e4d-4c72-84c4-bbb54a335a23" afstuderen/literatuur/D15_01.pdf Nothing+[2013-07-03 13:43:08 CEST] TransferWatcher: transfer starting: Upload UUID "32841e5f-1e4d-4c72-84c4-bbb54a335a23" afstuderen/literatuur/D15_01.pdf Nothing+fatal: unrecognized command 'rsync --server -vre.iLsf --partial-dir .rsync-partial . annex/'+git-annex-shell: git-shell failed+rsync: connection unexpectedly closed (0 bytes received so far) [sender]+rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]++++# End of transcript or log.+"""]]++> [[fixed|done]], corrected logic error that caused `authorized_keys`+> to incorrectly force the git-annex-shell command for rsync remotes. --[[Joey]]
+ doc/bugs/Stale_lock_files_on_Android.mdwn view
@@ -0,0 +1,37 @@+### Please describe the problem.++Both my Android devices where not processing git-annex updates due to stale lock files. While the lock files are different, I've reported them both together as they are related. ++### What steps will reproduce the problem?++Unknown, perhaps the assistant crashed, or the battery ran flat on them.++To resolve the issue I had to manually remove the lock files.++### What version of git-annex are you using? On what operating system?++On my Android phone, daily build 4.20130614-g221aea4+On my Android tablet, daily build 4.20130621-g36258de++### Please provide any additional information below.++It seems to me that it'd be useful to have the assistant check to see if the lock files are still valid and remove them if they're stale.++[[!format sh """+# If you can, paste a complete transcript of the problem occurring here.+# If the problem is with the git-annex assistant, paste in .git/annex/daemon.log++My phone:++From ssh://git-annex-flick-andrewannex_phonecamera/~/phone-camera+   987dc25..682cdd1  git-annex  -> flick_phonecamera/git-annex+fatal: Unable to create '/storage/emulated/legacy/DCIM/.git/refs/remotes/flick_phonecamera/synced/git-annex.lock': File exists.++My tablet:++Committer: Adding Coleman-C..eedom.pdf+Committer: Committing changes to git+fatal: Unable to create '/mnt/sdcard/reference/.git/index.lock': File exists.++# End of transcript or log.+"""]]
+ doc/bugs/Truncated_file_transferred_via_S3.mdwn view
@@ -0,0 +1,614 @@+### Please describe the problem.++I have two machines connected with annex assistant via XMPP and S3. I placed a file into the annex directory on one computer, and it fairly immediately transferred to the other, as expected. However the resulting file appears to be truncated.++### What steps will reproduce the problem?++Unknown, I haven't noticed this happen before.++### What version of git-annex are you using? On what operating system?++The sending end was from commit ef1fd09c5c1c3950727f0760df36075e45192b33 (Tue Jul 2 16:52:43 2013 +0000), the receiving end was at 1c16de8ebcef6c1920a8437af380f8aea5a2c535 (Wed Jun 12 20:31:43 2013 +0000). Both on Ubuntu 13.04.++### Please provide any additional information below.++Details of the file at the sending end:++[[!format text """+$ stat git-annex_4.20130627_amd64.deb +  Bestand: ‘git-annex_4.20130627_amd64.deb’+  Grootte: 10140744     Blokken: 19808        IO-blok: 4096   normaal bestand+Apparaat: 801h/2049d   Inode: 27394054     Koppelingen: 1+Toegang: (0644/-rw-r--r--)   UID: ( 1000/   robin)   GID: ( 1000/   robin)+Toegang:   2013-07-03 21:57:26.774297184 +1200+Gewijzigd: 2013-07-03 21:57:25.526306867 +1200+Veranderd: 2013-07-03 21:57:26.770297214 +1200+"""]]++and at the receiving end:++[[!format text """+  Bestand: ‘git-annex_4.20130627_amd64.deb’+  Grootte: 10105870     Blokken: 19760        IO-blok: 4096   normaal bestand+Apparaat: 16h/22d   Inode: 6167474      Koppelingen: 1+Toegang: (0664/-rw-rw-r--)   UID: ( 1000/   robin)   GID: ( 1000/   robin)+Toegang:   2013-07-03 10:58:02.653724449 +0100+Gewijzigd: 2013-07-03 10:58:02.365724461 +0100+Veranderd: 2013-07-03 10:58:02.369724461 +0100+"""]]++(it was coincidence I expect that it was a deb of git-annex I'd just made :)++Some more poking indicates that it's not strictly a truncation, not too far into the file, the content changes:++Sent:++[[!format text """+00002a0 4ea6 bb1e 4c18 d54e b836 b19a d9a2 6314+00002b0 4a0d 2954 d6aa fb42 2699 7437 df7f 6a6d+00002c0 7f7f 4f1c bce5 5e0f 5cc3 d5b1 e896 2829+00002d0 4ed2 8426 9496 a669 3dd1 d6ed 26dd 3b1d+00002e0 4c2a 4ef2 e29b 778c 4818 0e49 990e 314c+"""]]++Received:++[[!format text """+00002a0 4ea6 bb1e 4c18 d54e b836 b19a d9a2 6314+00002b0 544a aa29 42d6 99fb 3726 7f74 6ddf 7f6a+00002c0 1c7f e54f 0fbc c35e b15c 96d5 29e8 d228+00002d0 264e 9684 6994 d1a6 ed3d ddd6 1d26 2a3b+00002e0 f24c 9b4e 8ce2 1877 4948 0e0e 4c99 1931+"""]]++Oddly, there seems to be a pattern in the difference of the first incorrect row, it looks like kind of like strange endian weirdness rearranging things.++aabb ccdd eeff gghh++becomes:++bbdd ffcc hhee ..gg++where the .. comes from further along the pattern.++Deleting and re-adding the file doesn't cause the new version to appear, but that's presumably because it's addressing by SHA, so it doesn't see that as a change.++[[!format text """+# If you can, paste a complete transcript of the problem occurring here.+# If the problem is with the git-annex assistant, paste in .git/annex/daemon.log++Sending machine:++(started...) [2013-07-03 21:57:17 NZST] XMPPSendPack: Syncing with eythian+[2013-07-03 21:57:17 NZST] XMPPReceivePack: Syncing with eythian+Everything up-to-date+[2013-07-03 21:57:25 NZST] Committer: Adding git-annex..amd64.deb++add git-annex_4.20130627_amd64.deb (checksum...) [2013-07-03 21:57:25 NZST] Committer: Committing changes to git+[2013-07-03 21:57:25 NZST] Pusher: Syncing with backups+To /mnt/backups/annex+   2783051..69b3503  git-annex -> synced/git-annex+   0b10576..e1b6f29  master -> synced/master+(gpg) Already up-to-date.+Already up-to-date.+[2013-07-03 21:57:26 NZST] XMPPSendPack: Syncing with eythian+[2013-07-03 21:57:26 NZST] Committer: Adding git-annex..amd64.deb+ok+(Recording state in git...)+(Recording state in git...)+++add git-annex_4.20130627_amd64.deb (checksum...) [2013-07-03 21:57:26 NZST] Committer: Committing changes to git++0%        96.0KB/s 1m42s[2013-07-03 21:57:27 NZST] Pusher: Syncing with backups+To /mnt/backups/annex+   69b3503..026ba8e  git-annex -> synced/git-annex+To xmpp::eythian@jabber.kallisti.net.nz+   2783051..69b3503  git-annex -> refs/synced/9e67bebc-655c-47da-97a0-2bb02bbbc580/ZXl0aGlhbkBqYWJiZXIua2FsbGlzdGkubmV0Lm56/git-annex+   0b10576..e1b6f29  master -> refs/synced/9e67bebc-655c-47da-97a0-2bb02bbbc580/ZXl0aGlhbkBqYWJiZXIua2FsbGlzdGkubmV0Lm56/master+1%       127.9KB/s 1m16s[2013-07-03 21:57:27 NZST] XMPPSendPack: Syncing with eythian+25%        631.7KB/s 12sTo xmpp::eythian@jabber.kallisti.net.nz+   69b3503..35b3fd8  git-annex -> refs/synced/9e67bebc-655c-47da-97a0-2bb02bbbc580/ZXl0aGlhbkBqYWJiZXIua2FsbGlzdGkubmV0Lm56/git-annex+[2013-07-03 21:57:30 NZST] XMPPSendPack: Syncing with eythian+51%           1.2MB/s 4sEverything up-to-date+[2013-07-03 21:57:34 NZST] Transferrer: Uploaded git-annex..amd64.deb+[2013-07-03 21:57:34 NZST] Pusher: Syncing with backups+To /mnt/backups/annex+   026ba8e..1eb67d8  git-annex -> synced/git-annex+[2013-07-03 21:57:35 NZST] XMPPSendPack: Syncing with eythian+To xmpp::eythian@jabber.kallisti.net.nz+   35b3fd8..1eb67d8  git-annex -> refs/synced/9e67bebc-655c-47da-97a0-2bb02bbbc580/ZXl0aGlhbkBqYWJiZXIua2FsbGlzdGkubmV0Lm56/git-annex+[2013-07-03 21:57:36 NZST] XMPPSendPack: Syncing with eythian+Everything up-to-date+[2013-07-03 21:58:03 NZST] XMPPReceivePack: Syncing with eythian+Already up-to-date.+[2013-07-03 21:58:04 NZST] XMPPReceivePack: Syncing with eythian+[2013-07-03 22:09:44 NZST] XMPPSendPack: Syncing with eythian+To xmpp::eythian@jabber.kallisti.net.nz+   1eb67d8..822dbb1  git-annex -> refs/synced/9e67bebc-655c-47da-97a0-2bb02bbbc580/ZXl0aGlhbkBqYWJiZXIua2FsbGlzdGkubmV0Lm56/git-annex+[2013-07-03 22:09:45 NZST] XMPPSendPack: Syncing with eythian+Everything up-to-date++Receiving machine:++[2013-07-03 10:57:16 BST] XMPPClient: received: ["Presence from 0/ Nothing"]+[2013-07-03 10:57:16 BST] XMPPClient: received: ["Presence from a18/msn Nothing"]+[2013-07-03 10:57:16 BST] XMPPClient: received: ["Presence from a22/msn Nothing"]+[2013-07-03 10:57:16 BST] XMPPClient: received: ["Presence from a20/msn Nothing"]+[2013-07-03 10:57:16 BST] XMPPClient: received: ["Presence from b24/msn Nothing"]+[2013-07-03 10:57:16 BST] XMPPClient: received: ["Presence from c27/msn Nothing"]+[2013-07-03 10:57:16 BST] XMPPClient: received: ["Presence from c25/msn Nothing"]+[2013-07-03 10:57:16 BST] XMPPClient: received: ["Presence from c16/msn Nothing"]+[2013-07-03 10:57:16 BST] XMPPClient: received: ["Presence from c22/msn Nothing"]+[2013-07-03 10:57:16 BST] XMPPClient: received: ["Presence from c21/msn Nothing"]+[2013-07-03 10:57:16 BST] XMPPClient: received: ["Presence from d23/msn Nothing"]+[2013-07-03 10:57:16 BST] XMPPClient: received: ["Presence from d24/msn Nothing"]+[2013-07-03 10:57:16 BST] XMPPClient: received: ["Presence from d15/msn Nothing"]+[2013-07-03 10:57:16 BST] XMPPClient: received: ["Presence from d27/msn Nothing"]+[2013-07-03 10:57:16 BST] XMPPClient: received: ["Presence from d15/msn Nothing"]+[2013-07-03 10:57:16 BST] XMPPClient: received: ["Presence from d21/msn Nothing"]+[2013-07-03 10:57:16 BST] XMPPClient: received: ["Presence from d24/msn Nothing"]+[2013-07-03 10:57:16 BST] XMPPClient: received: ["Presence from f21/msn Nothing"]+[2013-07-03 10:57:16 BST] XMPPClient: received: ["Presence from h24/msn Nothing"]+[2013-07-03 10:57:16 BST] XMPPClient: received: ["Presence from h24/msn Nothing"]+[2013-07-03 10:57:16 BST] XMPPClient: received: ["Presence from h26/msn Nothing"]+[2013-07-03 10:57:16 BST] XMPPClient: received: ["Presence from j22/msn Nothing"]+[2013-07-03 10:57:16 BST] XMPPClient: received: ["Presence from j20/msn Nothing"]+[2013-07-03 10:57:16 BST] XMPPClient: received: ["Presence from j23/msn Nothing"]+[2013-07-03 10:57:16 BST] XMPPClient: received: ["Presence from k22/msn Nothing"]+[2013-07-03 10:57:16 BST] XMPPClient: received: ["Presence from k26/msn Nothing"]+[2013-07-03 10:57:16 BST] XMPPClient: received: ["Presence from k26/msn Nothing"]+[2013-07-03 10:57:16 BST] XMPPClient: received: ["Presence from k22/msn Nothing"]+[2013-07-03 10:57:16 BST] XMPPClient: received: ["Presence from l26/msn Nothing"]+[2013-07-03 10:57:16 BST] XMPPClient: received: ["Presence from l17/msn Nothing"]+[2013-07-03 10:57:16 BST] XMPPClient: received: ["Presence from m32/msn Nothing"]+[2013-07-03 10:57:16 BST] XMPPClient: received: ["Presence from m23/msn Nothing"]+[2013-07-03 10:57:16 BST] XMPPClient: received: ["Presence from m18/msn Nothing"]+[2013-07-03 10:57:16 BST] XMPPClient: received: ["Presence from m21/msn Nothing"]+[2013-07-03 10:57:16 BST] XMPPClient: received: ["Presence from o20/msn Nothing"]+[2013-07-03 10:57:16 BST] XMPPClient: received: ["Presence from s24/msn Nothing"]+[2013-07-03 10:57:16 BST] XMPPClient: received: ["Presence from s24/msn Nothing"]+[2013-07-03 10:57:16 BST] XMPPClient: received: ["Presence from s19/msn Nothing"]+[2013-07-03 10:57:16 BST] XMPPClient: received: ["Presence from s21/msn Nothing"]+[2013-07-03 10:57:16 BST] XMPPClient: received: ["Presence from s25/msn Nothing"]+[2013-07-03 10:57:16 BST] XMPPClient: received: ["Presence from s19/msn Nothing"]+[2013-07-03 10:57:16 BST] XMPPClient: received: ["Presence from s20/msn Nothing"]+[2013-07-03 10:57:16 BST] XMPPClient: received: ["Presence from s25/msn Nothing"]+[2013-07-03 10:57:16 BST] XMPPClient: received: ["Presence from s16/msn Nothing"]+[2013-07-03 10:57:16 BST] XMPPClient: received: ["Presence from s26/msn Nothing"]+[2013-07-03 10:57:16 BST] XMPPClient: received: ["Presence from w23/msn Nothing"]+[2013-07-03 10:57:16 BST] XMPPClient: received: ["Presence from w20/msn Nothing"]+[2013-07-03 10:57:16 BST] XMPPClient: received: ["Presence from e7/27209141331372845435882587 Nothing"]+[2013-07-03 10:57:16 BST] XMPPClient: sending to new client: e7/27209141331372845435882587 "Pushing \"e57\" (CanPush (UUID \"2c0b788e-7b2d-474b-8963-d889b9556229\") [0b10576100879220b2f50bf53f552befe2fda8de,27830516f221de09f7906954ba0bcc6b3dd31680])"+[2013-07-03 10:57:16 BST] XMPPClient: sending to new client: e7/27209141331372845435882587 "Pushing \"e57\" (PushRequest (UUID \"2c0b788e-7b2d-474b-8963-d889b9556229\"))"+[2013-07-03 10:57:16 BST] XMPPClient: received: ["Presence from m9/Adium Nothing"]+[2013-07-03 10:57:16 BST] XMPPClient: received: ["Presence from p6/NEW_HOTNESS Nothing"]+[2013-07-03 10:57:16 BST] XMPPClient: received: ["Presence from 0/ Nothing"]+[2013-07-03 10:57:16 BST] XMPPClient: received: ["Presence from e7/27209141331372845435882587 Just (Element {elementName = Name {nameLocalName = \"git-annex\", nameNamespace = Just \"git-annex\", namePrefix = Nothing}, elementAttributes = [], elementNodes = []})"]+[2013-07-03 10:57:16 BST] XMPPClient: received: ["Presence from 0/ Nothing"]+[2013-07-03 10:57:16 BST] XMPPClient: received: ["Presence from e7/27209141331372845435882587 Just (Element {elementName = Name {nameLocalName = \"git-annex\", nameNamespace = Just \"git-annex\", namePrefix = Nothing}, elementAttributes = [(Name {nameLocalName = \"query\", nameNamespace = Nothing, namePrefix = Nothing},[ContentText \"\"])], elementNodes = []})","QueryPresence"]+[2013-07-03 10:57:16 BST] XMPPClient: received: ["Presence from e7/27209141331372845435882587 Just (Element {elementName = Name {nameLocalName = \"git-annex\", nameNamespace = Just \"git-annex\", namePrefix = Nothing}, elementAttributes = [(Name {nameLocalName = \"push\", nameNamespace = Nothing, namePrefix = Nothing},[ContentText \"a23dd126-7bb7-42ce-b15a-b01990df5f2a\"])], elementNodes = []})","NotifyPush [UUID \"a23dd126-7bb7-42ce-b15a-b01990df5f2a\"]"]+[2013-07-03 10:57:17 BST] XMPPClient: push notification for+[2013-07-03 10:57:17 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","symbolic-ref","HEAD"]+[2013-07-03 10:57:17 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","show-ref","refs/heads/master"]+[2013-07-03 10:57:17 BST] XMPPClient: received: ["Presence from e7/27209141331372845435882587 Just (Element {elementName = Name {nameLocalName = \"git-annex\", nameNamespace = Just \"git-annex\", namePrefix = Nothing}, elementAttributes = [(Name {nameLocalName = \"query\", nameNamespace = Nothing, namePrefix = Nothing},[ContentText \"\"])], elementNodes = []})","QueryPresence"]+[2013-07-03 10:57:17 BST] XMPPClient: received: ["Presence from 0/ Nothing"]+[2013-07-03 10:57:17 BST] XMPPClient: received: ["Presence from 0/ Nothing"]+[2013-07-03 10:57:17 BST] XMPPClient: received: ["Presence from 0/ Nothing"]+[2013-07-03 10:57:17 BST] XMPPClient: received: ["Pushing \"e57\" (CanPush (UUID \"9e67bebc-655c-47da-97a0-2bb02bbbc580\") [0b10576100879220b2f50bf53f552befe2fda8de,27830516f221de09f7906954ba0bcc6b3dd31680])"]+[2013-07-03 10:57:17 BST] XMPPClient: ignoring CanPush with known shas+[2013-07-03 10:57:17 BST] XMPPClient: received: ["Pushing \"e57\" (PushRequest (UUID \"9e67bebc-655c-47da-97a0-2bb02bbbc580\"))"]+[2013-07-03 10:57:17 BST] XMPPSendPack: started running push Pushing "e57" (PushRequest (UUID "9e67bebc-655c-47da-97a0-2bb02bbbc580"))+[2013-07-03 10:57:17 BST] XMPPClient: received: ["Presence from 0/ Nothing"]+[2013-07-03 10:57:17 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","symbolic-ref","HEAD"]+[2013-07-03 10:57:17 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","show-ref","refs/heads/master"]+[2013-07-03 10:57:17 BST] call: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","branch","-f","synced/master"]+[2013-07-03 10:57:17 BST] XMPPSendPack: Syncing with eythian +[2013-07-03 10:57:17 BST] XMPPClient: sending: Pushing "e57" (StartingPush (UUID "2c0b788e-7b2d-474b-8963-d889b9556229"))+[2013-07-03 10:57:17 BST] call: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","push","eythian","git-annex:refs/synced/2c0b788e-7b2d-474b-8963-d889b9556229/ZXl0aGlhbkBqYWJiZXIua2FsbGlzdGkubmV0Lm56/git-annex","refs/heads/master:refs/synced/2c0b788e-7b2d-474b-8963-d889b9556229/ZXl0aGlhbkBqYWJiZXIua2FsbGlzdGkubmV0Lm56/master"]+[2013-07-03 10:57:17 BST] XMPPClient: to client: e7/27209141331372845435882587+[2013-07-03 10:57:17 BST] XMPPClient: received: ["Presence from 0/ Nothing"]+[2013-07-03 10:57:17 BST] XMPPClient: received: ["Pushing \"e57\" (StartingPush (UUID \"9e67bebc-655c-47da-97a0-2bb02bbbc580\"))"]+[2013-07-03 10:57:17 BST] XMPPReceivePack: started running push Pushing "e57" (StartingPush (UUID "9e67bebc-655c-47da-97a0-2bb02bbbc580"))+[2013-07-03 10:57:17 BST] XMPPClient: received: ["Pushing \"e57\" (ReceivePackOutput 1 \"<elided>\")"]+[2013-07-03 10:57:17 BST] XMPPReceivePack: Syncing with eythian +[2013-07-03 10:57:17 BST] XMPPClient: NetMessager stored Pushing "e57" (ReceivePackOutput 1 "<elided>") in SendPack inbox "e57"+[2013-07-03 10:57:17 BST] chat: git ["receive-pack","/home/robin/Bureaublad/annex"]+[2013-07-03 10:57:17 BST] XMPPClient: received: ["Pushing \"e57\" (ReceivePackOutput 2 \"<elided>\")"]+[2013-07-03 10:57:17 BST] XMPPClient: sending: Pushing "e57" (ReceivePackOutput 1 "<elided>")+[2013-07-03 10:57:17 BST] XMPPClient: NetMessager stored Pushing "e57" (ReceivePackOutput 2 "<elided>") in SendPack inbox "e57"+[2013-07-03 10:57:17 BST] XMPPClient: to client: e7/27209141331372845435882587+[2013-07-03 10:57:17 BST] XMPPClient: sending: Pushing "e57" (ReceivePackOutput 2 "<elided>")+[2013-07-03 10:57:17 BST] XMPPClient: to client: e7/27209141331372845435882587+[2013-07-03 10:57:17 BST] XMPPClient: sending: Pushing "e57" (ReceivePackOutput 3 "<elided>")+[2013-07-03 10:57:17 BST] XMPPClient: to client: e7/27209141331372845435882587+[2013-07-03 10:57:17 BST] XMPPClient: received: ["Pushing \"e57\" (ReceivePackOutput 3 \"<elided>\")"]+[2013-07-03 10:57:17 BST] XMPPClient: NetMessager stored Pushing "e57" (ReceivePackOutput 3 "<elided>") in SendPack inbox "e57"+[2013-07-03 10:57:17 BST] XMPPClient: received: ["Pushing \"e57\" (ReceivePackOutput 4 \"<elided>\")"]+[2013-07-03 10:57:17 BST] XMPPClient: NetMessager stored Pushing "e57" (ReceivePackOutput 4 "<elided>") in SendPack inbox "e57"+[2013-07-03 10:57:17 BST] XMPPClient: received: ["Pushing \"e57\" (ReceivePackOutput 5 \"<elided>\")"]+[2013-07-03 10:57:17 BST] XMPPClient: NetMessager stored Pushing "e57" (ReceivePackOutput 5 "<elided>") in SendPack inbox "e57"+[2013-07-03 10:57:17 BST] XMPPClient: sending: Pushing "e57" (SendPackOutput 1 "<elided>")+[2013-07-03 10:57:17 BST] XMPPClient: to client: e7/27209141331372845435882587+[2013-07-03 10:57:18 BST] XMPPClient: received: ["Pushing \"e57\" (SendPackOutput 1 \"<elided>\")"]+[2013-07-03 10:57:18 BST] XMPPClient: NetMessager stored Pushing "e57" (SendPackOutput 1 "<elided>") in ReceivePack inbox "e57"+[2013-07-03 10:57:18 BST] XMPPReceivePack: finished running push Pushing "e57" (StartingPush (UUID "9e67bebc-655c-47da-97a0-2bb02bbbc580")) True+[2013-07-03 10:57:18 BST] XMPPClient: sending: Pushing "e57" (ReceivePackDone ExitSuccess)+[2013-07-03 10:57:18 BST] XMPPClient: to client: e7/27209141331372845435882587+[2013-07-03 10:57:18 BST] XMPPClient: received: ["Pushing \"e57\" (ReceivePackDone ExitSuccess)"]+[2013-07-03 10:57Everything up-to-date+:18 BST] XMPPClient: NetMessager stored Pushing "e57" (ReceivePackDone ExitSuccess) in SendPack inbox "e57"+[2013-07-03 10:57:18 BST] XMPPSendPack: finished running push Pushing "e57" (PushRequest (UUID "9e67bebc-655c-47da-97a0-2bb02bbbc580")) True+[2013-07-03 10:57:21 BST] XMPPClient: received: ["Presence from a15/android_talk53f054b9e972 Nothing"]+[2013-07-03 10:57:26 BST] XMPPClient: received: ["Presence from e7/27209141331372845435882587 Just (Element {elementName = Name {nameLocalName = \"git-annex\", nameNamespace = Just \"git-annex\", namePrefix = Nothing}, elementAttributes = [(Name {nameLocalName = \"push\", nameNamespace = Nothing, namePrefix = Nothing},[ContentText \"a23dd126-7bb7-42ce-b15a-b01990df5f2a\"])], elementNodes = []})","NotifyPush [UUID \"a23dd126-7bb7-42ce-b15a-b01990df5f2a\"]"]+[2013-07-03 10:57:26 BST] XMPPClient: push notification for+[2013-07-03 10:57:26 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","symbolic-ref","HEAD"]+[2013-07-03 10:57:26 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","show-ref","refs/heads/master"]+[2013-07-03 10:57:26 BST] XMPPClient: received: ["Presence from 0/ Nothing"]+[2013-07-03 10:57:26 BST] XMPPClient: received: ["Presence from e7/27209141331372845435882587 Just (Element {elementName = Name {nameLocalName = \"git-annex\", nameNamespace = Just \"git-annex\", namePrefix = Nothing}, elementAttributes = [(Name {nameLocalName = \"query\", nameNamespace = Nothing, namePrefix = Nothing},[ContentText \"\"])], elementNodes = []})","QueryPresence"]+[2013-07-03 10:57:26 BST] XMPPClient: received: ["Pushing \"e57\" (CanPush (UUID \"9e67bebc-655c-47da-97a0-2bb02bbbc580\") [e1b6f2944e7d082299cb1696c55d9064a11c4577,69b3503287d87c26989a755d0cc660c3c68f2c80])"]+[2013-07-03 10:57:26 BST] XMPPClient: sending: Pushing "e57" (PushRequest (UUID "2c0b788e-7b2d-474b-8963-d889b9556229"))+[2013-07-03 10:57:26 BST] XMPPClient: to client: e7/27209141331372845435882587+[2013-07-03 10:57:26 BST] XMPPClient: received: ["Presence from 0/ Nothing"]+[2013-07-03 10:57:26 BST] XMPPClient: received: ["Pushing \"e57\" (CanPush (UUID \"9e67bebc-655c-47da-97a0-2bb02bbbc580\") [e1b6f2944e7d082299cb1696c55d9064a11c4577,69b3503287d87c26989a755d0cc660c3c68f2c80])"]+[2013-07-03 10:57:26 BST] XMPPClient: sending: Pushing "e57" (PushRequest (UUID "2c0b788e-7b2d-474b-8963-d889b9556229"))+[2013-07-03 10:57:26 BST] XMPPClient: to client: e7/27209141331372845435882587+[2013-07-03 10:57:26 BST] XMPPClient: received: ["Pushing \"e57\" (StartingPush (UUID \"9e67bebc-655c-47da-97a0-2bb02bbbc580\"))"]+[2013-07-03 10:57:26 BST] XMPPReceivePack: started running push Pushing "e57" (StartingPush (UUID "9e67bebc-655c-47da-97a0-2bb02bbbc580"))+[2013-07-03 10:57:26 BST] XMPPReceivePack: Syncing with eythian +[2013-07-03 10:57:26 BST] chat: git ["receive-pack","/home/robin/Bureaublad/annex"]+[2013-07-03 10:57:26 BST] XMPPClient: sending: Pushing "e57" (ReceivePackOutput 1 "<elided>")+[2013-07-03 10:57:26 BST] XMPPClient: to client: e7/27209141331372845435882587+[2013-07-03 10:57:26 BST] XMPPClient: sending: Pushing "e57" (ReceivePackOutput 2 "<elided>")+[2013-07-03 10:57:26 BST] XMPPClient: to client: e7/27209141331372845435882587+[2013-07-03 10:57:27 BST] XMPPClient: received: ["Pushing \"e57\" (SendPackOutput 1 \"<elided>\")"]+[2013-07-03 10:57:27 BST] XMPPClient: NetMessager stored Pushing "e57" (SendPackOutput 1 "<elided>") in ReceivePack inbox "e57"+[2013-07-03 10:57:27 BST] XMPPClient: received: ["Pushing \"e57\" (SendPackOutput 2 \"<elided>\")"]+[2013-07-03 10:57:27 BST] XMPPClient: NetMessager stored Pushing "e57" (SendPackOutput 2 "<elided>") in ReceivePack inbox "e57"+[2013-07-03 10:57:27 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","show-ref","git-annex"]+[2013-07-03 10:57:27 BST] XMPPClient: sending: Pushing "e57" (ReceivePackOutput 3 "<elided>")+[2013-07-03 10:57:27 BST] XMPPReceivePack: finished running push Pushing "e57" (StartingPush (UUID "9e67bebc-655c-47da-97a0-2bb02bbbc580")) True+[2013-07-03 10:57:27 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","show-ref","--hash","refs/heads/git-annex"]+[2013-07-03 10:57:27 BST] XMPPClient: to client: e7/27209141331372845435882587+[2013-07-03 10:57:27 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","log","refs/heads/git-annex..27830516f221de09f7906954ba0bcc6b3dd31680","--oneline","-n1"]+[2013-07-03 10:57:27 BST] XMPPClient: sending: Pushing "e57" (ReceivePackOutput 4 "<elided>")+[2013-07-03 10:57:27 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","log","refs/heads/git-annex..69b3503287d87c26989a755d0cc660c3c68f2c80","--oneline","-n1"]+[2013-07-03 10:57:27 BST] XMPPClient: to client: e7/27209141331372845435882587+[2013-07-03 10:57:27 BST] feed: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","update-index","-z","--index-info"]+[2013-07-03 10:57:27 BST] XMPPClient: sending: Pushing "e57" (ReceivePackDone ExitSuccess)+[2013-07-03 10:57:27 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","diff-index","--raw","-z","-r","--no-renames","-l0","--cached","69b3503287d87c26989a755d0cc660c3c68f2c80"]+[2013-07-03 10:57:27 BST] XMPPClient: to client: e7/27209141331372845435882587+[2013-07-03 10:57:27 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","log","69b3503287d87c26989a755d0cc660c3c68f2c80..refs/heads/git-annex","--oneline","-n1"]+[2013-07-03 10:57:27 BST] call: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","update-ref","refs/heads/git-annex","69b3503287d87c26989a755d0cc660c3c68f2c80"]+[2013-07-03 10:57:27 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","ls-tree","-z","--","refs/heads/git-annex","uuid.log","remote.log","trust.log","group.log","preferred-content.log"]+[2013-07-03 10:57:27 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","symbolic-ref","HEAD"]+[2013-07-03 10:57:27 BST] TransferScanner: starting scan of [Remote { name ="eythian" }]+[2013-07-03 10:57:27 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","show-ref","refs/heads/master"]+[2013-07-03 10:57:27 BST] Merger: merging refs/synced/9e67bebc-655c-47da-97a0-2bb02bbbc580/ZXl0aGlhbkBqYWJiZXIua2FsbGlzdGkubmV0Lm56/master into refs/heads/master+[2013-07-03 10:57:27 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","ls-files","--cached","-z","--"]+[2013-07-03 10:57:27 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","symbolic-ref","HEAD"]+[2013-07-03 10:57:27 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","show-ref","refs/heads/master"]+[2013-07-03 10:57:27 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","show-ref","--hash","refs/heads/master"]+[2013-07-03 10:57:27 BST] call: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex/.git/annex/merge/","merge","--no-edit","refs/synced/9e67bebc-655c-47da-97a0-2bb02bbbc580/ZXl0aGlhbkBqYWJiZXIua2FsbGlzdGkubmV0Lm56/master"]+Updating 0b10576..e1b6f29+Fast-forward+ git-annex_4.20130627_amd64.deb | 1 ++ 1 file changed, 1 insertion(+)+ create mode 120000 git-annex_4.20130627_amd64.deb+[2013-07-03 10:57:27 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","show-ref","--hash","refs/heads/master"]+[2013-07-03 10:57:27 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","diff-tree","-z","--raw","--no-renames","-l0","-r","0b10576100879220b2f50bf53f552befe2fda8de","e1b6f2944e7d082299cb1696c55d9064a11c4577"]+[2013-07-03 10:57:27 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","show-ref","git-annex"]+[2013-07-03 10:57:27 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","show-ref","--hash","refs/heads/git-annex"]+[2013-07-03 10:57:27 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","log","refs/heads/git-annex..69b3503287d87c26989a755d0cc660c3c68f2c80","--oneline","-n1"]+[2013-07-03 10:57:27 BST] feed: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","update-index","-z","--index-info"]+[2013-07-03 10:57:27 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","diff-index","--raw","-z","-r","--no-renames","-l0","--cached","refs/heads/git-annex"]+[2013-07-03 10:57:28 BST] Watcher: add symlink git-annex_4.20130627_amd64.deb+[2013-07-03 10:57:28 BST] chat: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","hash-object","-t","blob","-w","--stdin"]+[2013-07-03 10:57:28 BST] Committer: committing 1 changes+[2013-07-03 10:57:28 BST] Committer: Committing changes to git+[2013-07-03 10:57:28 BST] XMPPClient: received: ["Presence from e7/27209141331372845435882587 Just (Element {elementName = Name {nameLocalName = \"git-annex\", nameNamespace = Just \"git-annex\", namePrefix = Nothing}, elementAttributes = [(Name {nameLocalName = \"push\", nameNamespace = Nothing, namePrefix = Nothing},[ContentText \"a23dd126-7bb7-42ce-b15a-b01990df5f2a\"])], elementNodes = []})","NotifyPush [UUID \"a23dd126-7bb7-42ce-b15a-b01990df5f2a\"]"]+[2013-07-03 10:57:28 BST] feed: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","update-index","-z","--index-info"]+[2013-07-03 10:57:28 BST] XMPPClient: push notification for+[2013-07-03 10:57:28 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","commit","--allow-empty-message","--no-edit","-m","","--quiet","--no-verify"]+[2013-07-03 10:57:28 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","symbolic-ref","HEAD"]+[2013-07-03 10:57:28 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","show-ref","refs/heads/master"]+[2013-07-03 10:57:28 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","symbolic-ref","HEAD"]+[2013-07-03 10:57:28 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","show-ref","refs/heads/master"]+[2013-07-03 10:57:28 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","show-ref","--head","refs/heads/git-annex","HEAD"]+[2013-07-03 10:57:28 BST] XMPPClient: sending: Pushing "e30" (CanPush (UUID "2c0b788e-7b2d-474b-8963-d889b9556229") [e1b6f2944e7d082299cb1696c55d9064a11c4577,69b3503287d87c26989a755d0cc660c3c68f2c80])+[2013-07-03 10:57:28 BST] XMPPClient: received: ["Presence from e7/27209141331372845435882587 Just (Element {elementName = Name {nameLocalName = \"git-annex\", nameNamespace = Just \"git-annex\", namePrefix = Nothing}, elementAttributes = [(Name {nameLocalName = \"query\", nameNamespace = Nothing, namePrefix = Nothing},[ContentText \"\"])], elementNodes = []})","QueryPresence"]+[2013-07-03 10:57:28 BST] XMPPClient: exploded undirected message to clients e7/27209141331372845435882587+[2013-07-03 10:57:28 BST] XMPPClient: sending to new client: e7/27209141331372845435882587 "Pushing \"e57\" (CanPush (UUID \"2c0b788e-7b2d-474b-8963-d889b9556229\") [e1b6f2944e7d082299cb1696c55d9064a11c4577,69b3503287d87c26989a755d0cc660c3c68f2c80])"+[2013-07-03 10:57:28 BST] XMPPClient: received: ["Pushing \"e57\" (CanPush (UUID \"9e67bebc-655c-47da-97a0-2bb02bbbc580\") [e1b6f2944e7d082299cb1696c55d9064a11c4577,026ba8e7ba89bccd22f5ff31a26c82ee75641b55])"]+[2013-07-03 10:57:28 BST] XMPPClient: sending: Pushing "e57" (PushRequest (UUID "2c0b788e-7b2d-474b-8963-d889b9556229"))+[2013-07-03 10:57:28 BST] XMPPClient: received: ["Pushing \"e57\" (StartingPush (UUID \"9e67bebc-655c-47da-97a0-2bb02bbbc580\"))"]+[2013-07-03 10:57:28 BST] XMPPClient: to client: e7/27209141331372845435882587+[2013-07-03 10:57:28 BST] XMPPReceivePack: started running push Pushing "e57" (StartingPush (UUID "9e67bebc-655c-47da-97a0-2bb02bbbc580"))+[2013-07-03 10:57:29 BST] XMPPClient: received: ["Pushing \"e57\" (CanPush (UUID \"9e67bebc-655c-47da-97a0-2bb02bbbc580\") [e1b6f2944e7d082299cb1696c55d9064a11c4577,026ba8e7ba89bccd22f5ff31a26c82ee75641b55])"]+[2013-07-03 10:57:29 BST] XMPPReceivePack: Syncing with eythian +[2013-07-03 10:57:29 BST] XMPPClient: sending: Pushing "e57" (PushRequest (UUID "2c0b788e-7b2d-474b-8963-d889b9556229"))+[2013-07-03 10:57:29 BST] chat: git ["receive-pack","/home/robin/Bureaublad/annex"]+[2013-07-03 10:57:29 BST] XMPPClient: received: ["Presence from e7/27209141331372845435882587 Just (Element {elementName = Name {nameLocalName = \"git-annex\", nameNamespace = Just \"git-annex\", namePrefix = Nothing}, elementAttributes = [], elementNodes = []})"]+[2013-07-03 10:57:29 BST] XMPPClient: to client: e7/27209141331372845435882587+[2013-07-03 10:57:29 BST] XMPPClient: sending: Pushing "e57" (ReceivePackOutput 1 "<elided>")+[2013-07-03 10:57:29 BST] XMPPClient: to client: e7/27209141331372845435882587+[2013-07-03 10:57:29 BST] TransferScanner: finished scan of [Remote { name ="eythian" }]+[2013-07-03 10:57:29 BST] XMPPClient: received: ["Pushing \"e57\" (SendPackOutput 1 \"<elided>\")"]+[2013-07-03 10:57:29 BST] XMPPClient: NetMessager stored Pushing "e57" (SendPackOutput 1 "<elided>") in ReceivePack inbox "e57"+[2013-07-03 10:57:30 BST] XMPPClient: received: ["Pushing \"e57\" (SendPackOutput 2 \"<elided>\")"]+[2013-07-03 10:57:30 BST] XMPPClient: NetMessager stored Pushing "e57" (SendPackOutput 2 "<elided>") in ReceivePack inbox "e57"+[2013-07-03 10:57:30 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","show-ref","git-annex"]+[2013-07-03 10:57:30 BST] XMPPClient: sending: Pushing "e57" (ReceivePackOutput 2 "<elided>")+[2013-07-03 10:57:30 BST] XMPPReceivePack: finished running push Pushing "e57" (StartingPush (UUID "9e67bebc-655c-47da-97a0-2bb02bbbc580")) True+[2013-07-03 10:57:30 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","show-ref","--hash","refs/heads/git-annex"]+[2013-07-03 10:57:30 BST] XMPPClient: to client: e7/27209141331372845435882587+[2013-07-03 10:57:30 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","log","refs/heads/git-annex..69b3503287d87c26989a755d0cc660c3c68f2c80","--oneline","-n1"]+[2013-07-03 10:57:30 BST] XMPPClient: sending: Pushing "e57" (ReceivePackOutput 3 "<elided>")+[2013-07-03 10:57:30 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","log","refs/heads/git-annex..35b3fd81218834a29b9f516b64b4671c0b0902d3","--oneline","-n1"]+[2013-07-03 10:57:30 BST] XMPPClient: to client: e7/27209141331372845435882587+[2013-07-03 10:57:30 BST] feed: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","update-index","-z","--index-info"]+[2013-07-03 10:57:30 BST] XMPPClient: sending: Pushing "e57" (ReceivePackDone ExitSuccess)+[2013-07-03 10:57:30 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","diff-index","--raw","-z","-r","--no-renames","-l0","--cached","35b3fd81218834a29b9f516b64b4671c0b0902d3"]+[2013-07-03 10:57:30 BST] XMPPClient: to client: e7/27209141331372845435882587+[2013-07-03 10:57:30 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","log","35b3fd81218834a29b9f516b64b4671c0b0902d3..refs/heads/git-annex","--oneline","-n1"]+[2013-07-03 10:57:30 BST] call: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","update-ref","refs/heads/git-annex","35b3fd81218834a29b9f516b64b4671c0b0902d3"]+[2013-07-03 10:57:30 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","show-ref","git-annex"]+[2013-07-03 10:57:30 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","show-ref","--hash","refs/heads/git-annex"]+[2013-07-03 10:57:30 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","log","refs/heads/git-annex..35b3fd81218834a29b9f516b64b4671c0b0902d3","--oneline","-n1"]+[2013-07-03 10:57:30 BST] feed: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","update-index","-z","--index-info"]+[2013-07-03 10:57:30 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","diff-index","--raw","-z","-r","--no-renames","-l0","--cached","refs/heads/git-annex"]+[2013-07-03 10:57:30 BST] XMPPClient: received: ["Pushing \"e57\" (StartingPush (UUID \"9e67bebc-655c-47da-97a0-2bb02bbbc580\"))"]+[2013-07-03 10:57:30 BST] XMPPReceivePack: started running push Pushing "e57" (StartingPush (UUID "9e67bebc-655c-47da-97a0-2bb02bbbc580"))+[2013-07-03 10:57:30 BST] XMPPReceivePack: Syncing with eythian +[2013-07-03 10:57:30 BST] chat: git ["receive-pack","/home/robin/Bureaublad/annex"]+[2013-07-03 10:57:30 BST] XMPPClient: sending: Pushing "e57" (ReceivePackOutput 1 "<elided>")+[2013-07-03 10:57:30 BST] XMPPClient: to client: e7/27209141331372845435882587+[2013-07-03 10:57:30 BST] XMPPClient: sending: Pushing "e57" (ReceivePackOutput 2 "<elided>")+[2013-07-03 10:57:30 BST] XMPPClient: to client: e7/27209141331372845435882587+[2013-07-03 10:57:30 BST] XMPPClient: sending: Pushing "e57" (ReceivePackOutput 3 "<elided>")+[2013-07-03 10:57:30 BST] XMPPClient: to client: e7/27209141331372845435882587+[2013-07-03 10:57:31 BST] XMPPClient: received: ["Pushing \"e57\" (SendPackOutput 1 \"<elided>\")"]+[2013-07-03 10:57:31 BST] XMPPClient: NetMessager stored Pushing "e57" (SendPackOutput 1 "<elided>") in ReceivePack inbox "e57"+[2013-07-03 10:57:31 BST] XMPPReceivePack: finished running push Pushing "e57" (StartingPush (UUID "9e67bebc-655c-47da-97a0-2bb02bbbc580")) True+[2013-07-03 10:57:31 BST] XMPPClient: sending: Pushing "e57" (ReceivePackDone ExitSuccess)+[2013-07-03 10:57:31 BST] XMPPClient: to client: e7/27209141331372845435882587+[2013-07-03 10:57:31 BST] TransferScanner: starting scan of [Remote { name ="eythian" }]+[2013-07-03 10:57:31 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","ls-files","--cached","-z","--"]+[2013-07-03 10:57:32 BST] TransferScanner: finished scan of [Remote { name ="eythian" }]+[2013-07-03 10:57:34 BST] XMPPClient: received: ["Presence from e7/27209141331372845435882587 Just (Element {elementName = Name {nameLocalName = \"git-annex\", nameNamespace = Just \"git-annex\", namePrefix = Nothing}, elementAttributes = [(Name {nameLocalName = \"push\", nameNamespace = Nothing, namePrefix = Nothing},[ContentText \"a23dd126-7bb7-42ce-b15a-b01990df5f2a\"])], elementNodes = []})","NotifyPush [UUID \"a23dd126-7bb7-42ce-b15a-b01990df5f2a\"]"]+[2013-07-03 10:57:34 BST] XMPPClient: push notification for+[2013-07-03 10:57:34 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","symbolic-ref","HEAD"]+[2013-07-03 10:57:34 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","show-ref","refs/heads/master"]+[2013-07-03 10:57:35 BST] XMPPClient: received: ["Presence from e7/27209141331372845435882587 Just (Element {elementName = Name {nameLocalName = \"git-annex\", nameNamespace = Just \"git-annex\", namePrefix = Nothing}, elementAttributes = [(Name {nameLocalName = \"query\", nameNamespace = Nothing, namePrefix = Nothing},[ContentText \"\"])], elementNodes = []})","QueryPresence"]+[2013-07-03 10:57:35 BST] XMPPClient: received: ["Pushing \"e57\" (CanPush (UUID \"9e67bebc-655c-47da-97a0-2bb02bbbc580\") [e1b6f2944e7d082299cb1696c55d9064a11c4577,1eb67d85f89c92345757805d83939d75e8ce54a0])"]+[2013-07-03 10:57:35 BST] XMPPClient: sending: Pushing "e57" (PushRequest (UUID "2c0b788e-7b2d-474b-8963-d889b9556229"))+[2013-07-03 10:57:35 BST] XMPPClient: to client: e7/27209141331372845435882587+[2013-07-03 10:57:35 BST] XMPPClient: received: ["Pushing \"e57\" (CanPush (UUID \"9e67bebc-655c-47da-97a0-2bb02bbbc580\") [e1b6f2944e7d082299cb1696c55d9064a11c4577,1eb67d85f89c92345757805d83939d75e8ce54a0])"]+[2013-07-03 10:57:35 BST] XMPPClient: sending: Pushing "e57" (PushRequest (UUID "2c0b788e-7b2d-474b-8963-d889b9556229"))+[2013-07-03 10:57:35 BST] XMPPClient: to client: e7/27209141331372845435882587+[2013-07-03 10:57:35 BST] XMPPClient: received: ["Pushing \"e57\" (StartingPush (UUID \"9e67bebc-655c-47da-97a0-2bb02bbbc580\"))"]+[2013-07-03 10:57:35 BST] XMPPReceivePack: started running push Pushing "e57" (StartingPush (UUID "9e67bebc-655c-47da-97a0-2bb02bbbc580"))+[2013-07-03 10:57:35 BST] XMPPReceivePack: Syncing with eythian +[2013-07-03 10:57:35 BST] chat: git ["receive-pack","/home/robin/Bureaublad/annex"]+[2013-07-03 10:57:35 BST] XMPPClient: sending: Pushing "e57" (ReceivePackOutput 1 "<elided>")+[2013-07-03 10:57:35 BST] XMPPClient: to client: e7/27209141331372845435882587+[2013-07-03 10:57:35 BST] XMPPClient: sending: Pushing "e57" (ReceivePackOutput 2 "<elided>")+[2013-07-03 10:57:35 BST] XMPPClient: to client: e7/27209141331372845435882587+[2013-07-03 10:57:36 BST] XMPPClient: received: ["Pushing \"e57\" (SendPackOutput 1 \"<elided>\")"]+[2013-07-03 10:57:36 BST] XMPPClient: NetMessager stored Pushing "e57" (SendPackOutput 1 "<elided>") in ReceivePack inbox "e57"+[2013-07-03 10:57:36 BST] XMPPClient: received: ["Pushing \"e57\" (SendPackOutput 2 \"<elided>\")"]+[2013-07-03 10:57:36 BST] XMPPClient: NetMessager stored Pushing "e57" (SendPackOutput 2 "<elided>") in ReceivePack inbox "e57"+[2013-07-03 10:57:36 BST] XMPPClient: sending: Pushing "e57" (ReceivePackOutput 3 "<elided>")+[2013-07-03 10:57:36 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","show-ref","git-annex"]+[2013-07-03 10:57:36 BST] XMPPReceivePack: finished running push Pushing "e57" (StartingPush (UUID "9e67bebc-655c-47da-97a0-2bb02bbbc580")) True+[2013-07-03 10:57:36 BST] XMPPClient: to client: e7/27209141331372845435882587+[2013-07-03 10:57:36 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","show-ref","--hash","refs/heads/git-annex"]+[2013-07-03 10:57:36 BST] XMPPClient: sending: Pushing "e57" (ReceivePackOutput 4 "<elided>")+[2013-07-03 10:57:36 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","log","refs/heads/git-annex..35b3fd81218834a29b9f516b64b4671c0b0902d3","--oneline","-n1"]+[2013-07-03 10:57:36 BST] XMPPClient: to client: e7/27209141331372845435882587+[2013-07-03 10:57:36 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","log","refs/heads/git-annex..1eb67d85f89c92345757805d83939d75e8ce54a0","--oneline","-n1"]+[2013-07-03 10:57:36 BST] XMPPClient: sending: Pushing "e57" (ReceivePackDone ExitSuccess)+[2013-07-03 10:57:36 BST] feed: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","update-index","-z","--index-info"]+[2013-07-03 10:57:36 BST] XMPPClient: to client: e7/27209141331372845435882587+[2013-07-03 10:57:36 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","diff-index","--raw","-z","-r","--no-renames","-l0","--cached","1eb67d85f89c92345757805d83939d75e8ce54a0"]+[2013-07-03 10:57:36 BST] chat: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","hash-object","-t","blob","-w","--stdin"]+[2013-07-03 10:57:36 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","log","1eb67d85f89c92345757805d83939d75e8ce54a0..refs/heads/git-annex","--oneline","-n1"]+[2013-07-03 10:57:36 BST] call: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","update-ref","refs/heads/git-annex","1eb67d85f89c92345757805d83939d75e8ce54a0"]+[2013-07-03 10:57:36 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","show-ref","git-annex"]+[2013-07-03 10:57:36 BST] TransferScanner: starting scan of [Remote { name ="eythian" }]+[2013-07-03 10:57:36 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","show-ref","--hash","refs/heads/git-annex"]+[2013-07-03 10:57:36 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","log","refs/heads/git-annex..1eb67d85f89c92345757805d83939d75e8ce54a0","--oneline","-n1"]+[2013-07-03 10:57:36 BST] feed: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","update-index","-z","--index-info"]+[2013-07-03 10:57:36 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","diff-index","--raw","-z","-r","--no-renames","-l0","--cached","refs/heads/git-annex"]+[2013-07-03 10:57:36 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","ls-files","--cached","-z","--"]+[2013-07-03 10:57:37 BST] XMPPClient: received: ["Pushing \"e57\" (StartingPush (UUID \"9e67bebc-655c-47da-97a0-2bb02bbbc580\"))"]+[2013-07-03 10:57:37 BST] XMPPReceivePack: started running push Pushing "e57" (StartingPush (UUID "9e67bebc-655c-47da-97a0-2bb02bbbc580"))+[2013-07-03 10:57:37 BST] XMPPReceivePack: Syncing with eythian +[2013-07-03 10:57:37 BST] chat: git ["receive-pack","/home/robin/Bureaublad/annex"]+[2013-07-03 10:57:37 BST] XMPPClient: sending: Pushing "e57" (ReceivePackOutput 1 "<elided>")+[2013-07-03 10:57:37 BST] XMPPClient: to client: e7/27209141331372845435882587+[2013-07-03 10:57:37 BST] XMPPClient: received: ["Pushing \"e57\" (SendPackOutput 1 \"<elided>\")"]+[2013-07-03 10:57:37 BST] XMPPClient: NetMessager stored Pushing "e57" (SendPackOutput 1 "<elided>") in ReceivePack inbox "e57"+[2013-07-03 10:57:37 BST] XMPPReceivePack: finished running push Pushing "e57" (StartingPush (UUID "9e67bebc-655c-47da-97a0-2bb02bbbc580")) True+[2013-07-03 10:57:37 BST] XMPPClient: sending: Pushing "e57" (ReceivePackDone ExitSuccess)+[2013-07-03 10:57:37 BST] TransferScanner: queued Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Nothing : expensive scan found missing object+[2013-07-03 10:57:37 BST] Transferrer: Transferring: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Nothing+[2013-07-03 10:57:38 BST] XMPPClient: to client: e7/27209141331372845435882587+[2013-07-03 10:57:38 BST] TransferScanner: finished scan of [Remote { name ="eythian" }]+[2013-07-03 10:57:38 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Nothing+[2013-07-03 10:58:01 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 131008+[2013-07-03 10:58:01 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 262016+[2013-07-03 10:58:01 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 393024+[2013-07-03 10:58:01 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 524032+[2013-07-03 10:58:01 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 655040+[2013-07-03 10:58:01 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 786048+[2013-07-03 10:58:01 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 917056+[2013-07-03 10:58:01 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 1048064+[2013-07-03 10:58:01 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 1179072+[2013-07-03 10:58:01 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 1310080+[2013-07-03 10:58:01 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 1441088+[2013-07-03 10:58:01 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 1572096+[2013-07-03 10:58:01 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 1703104+[2013-07-03 10:58:01 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 1834112+[2013-07-03 10:58:01 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 1965120+[2013-07-03 10:58:01 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 2096128+[2013-07-03 10:58:01 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 2227136+[2013-07-03 10:58:01 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 2358144+[2013-07-03 10:58:01 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 2489152+[2013-07-03 10:58:01 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 2620160+[2013-07-03 10:58:01 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 2751168+[2013-07-03 10:58:01 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 2882176+[2013-07-03 10:58:01 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 3013184+[2013-07-03 10:58:01 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 3144192+[2013-07-03 10:58:01 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 3275200+[2013-07-03 10:58:01 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 3406208+[2013-07-03 10:58:01 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 3537216+[2013-07-03 10:58:01 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 3668224+[2013-07-03 10:58:01 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 3799232+[2013-07-03 10:58:01 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 3930240+[2013-07-03 10:58:01 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 4192256+[2013-07-03 10:58:01 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 4323264+[2013-07-03 10:58:01 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 4454272+[2013-07-03 10:58:01 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 4585280+[2013-07-03 10:58:01 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 4716288+[2013-07-03 10:58:01 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 4847296+[2013-07-03 10:58:01 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 5109312+[2013-07-03 10:58:01 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 5240320+[2013-07-03 10:58:01 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 5371328+[2013-07-03 10:58:02 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 5502336+[2013-07-03 10:58:02 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 5633344+[2013-07-03 10:58:02 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 5764352+[2013-07-03 10:58:02 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 5895360+[2013-07-03 10:58:02 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 6157376+[2013-07-03 10:58:02 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 6288384+[2013-07-03 10:58:02 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 6419392+[2013-07-03 10:58:02 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 6550400+[2013-07-03 10:58:02 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 6681408+[2013-07-03 10:58:02 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 6943424+[2013-07-03 10:58:02 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 7074432+[2013-07-03 10:58:02 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 7205440+[2013-07-03 10:58:02 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 7336448+[2013-07-03 10:58:02 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 7598464+[2013-07-03 10:58:02 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 7729472+[2013-07-03 10:58:02 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 7860480+[2013-07-03 10:58:02 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 7991488+[2013-07-03 10:58:02 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 8122496+[2013-07-03 10:58:02 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 8253504+[2013-07-03 10:58:02 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 8384512+[2013-07-03 10:58:02 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 8515520+[2013-07-03 10:58:02 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 8646528+[2013-07-03 10:58:02 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 8646528+[2013-07-03 10:58:02 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 8777536+[2013-07-03 10:58:02 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 8908544+[2013-07-03 10:58:02 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 9039552+[2013-07-03 10:58:02 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 9170560+[2013-07-03 10:58:02 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 9301568+[2013-07-03 10:58:02 BST] XMPPClient: received: ["Unknown message"]+[2013-07-03 10:58:02 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 9432576+[2013-07-03 10:58:02 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 9563584+[2013-07-03 10:58:02 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 9694592+[2013-07-03 10:58:02 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 9694592+[2013-07-03 10:58:02 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 9825600+[2013-07-03 10:58:02 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 9956608+[2013-07-03 10:58:02 BST] TransferWatcher: transfer starting: Download UUID "971c808b-ce67-4edb-b317-21c0da6b5462" git-annex_4.20130627_amd64.deb Just 10087616+[2013-07-03 10:58:02 BST] Watcher: add symlink git-annex_4.20130627_amd64.deb+[2013-07-03 10:58:02 BST] Transferrer: Downloaded git-annex..amd64.deb+[2013-07-03 10:58:02 BST] TransferWatcher: transfer finishing: Transfer {transferDirection = Download, transferUUID = UUID "971c808b-ce67-4edb-b317-21c0da6b5462", transferKey = Key {keyName = "8514472fd7c4ea28b385b0335db408ee28f58911b5ad0ba9d2e2cbfd1b99c86d.deb", keyBackendName = "SHA256E", keySize = Just 10140744, keyMtime = Nothing}}+[2013-07-03 10:58:02 BST] chat: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","hash-object","-t","blob","-w","--stdin"]+[2013-07-03 10:58:02 BST] chat: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","hash-object","-w","--stdin-paths"]+[2013-07-03 10:58:02 BST] feed: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","update-index","-z","--index-info"]+[2013-07-03 10:58:02 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","show-ref","--hash","refs/heads/git-annex"]+[2013-07-03 10:58:02 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","write-tree"]+[2013-07-03 10:58:02 BST] chat: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","commit-tree","9b6f9b59c19650e25f11e2d50acb3bf25b631150","-p","refs/heads/git-annex"]+[2013-07-03 10:58:02 BST] call: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","update-ref","refs/heads/git-annex","822dbb101976fed8b775d04bba6da876c591a9f0"]+[2013-07-03 10:58:02 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","symbolic-ref","HEAD"]+[2013-07-03 10:58:02 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","show-ref","refs/heads/master"]+[2013-07-03 10:58:02 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","show-ref","git-annex"]+[2013-07-03 10:58:02 BST] Committer: committing 1 changes+[2013-07-03 10:58:02 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","show-ref","--hash","refs/heads/git-annex"]+[2013-07-03 10:58:02 BST] Committer: Committing changes to git+[2013-07-03 10:58:02 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","log","refs/heads/git-annex..822dbb101976fed8b775d04bba6da876c591a9f0","--oneline","-n1"]+[2013-07-03 10:58:02 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","log","refs/heads/git-annex..1eb67d85f89c92345757805d83939d75e8ce54a0","--oneline","-n1"]+[2013-07-03 10:58:02 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","show-ref","--head","refs/heads/git-annex","HEAD"]+[2013-07-03 10:58:02 BST] feed: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","update-index","-z","--index-info"]+[2013-07-03 10:58:02 BST] XMPPClient: sending: Pushing "e30" (CanPush (UUID "2c0b788e-7b2d-474b-8963-d889b9556229") [e1b6f2944e7d082299cb1696c55d9064a11c4577,822dbb101976fed8b775d04bba6da876c591a9f0])+[2013-07-03 10:58:02 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","commit","--allow-empty-message","--no-edit","-m","","--quiet","--no-verify"]+[2013-07-03 10:58:02 BST] XMPPClient: exploded undirected message to clients e7/27209141331372845435882587+[2013-07-03 10:58:03 BST] XMPPClient: received: ["Presence from 0/ Nothing"]+[2013-07-03 10:58:03 BST] XMPPClient: received: ["Presence from e7/27209141331372845435882587 Just (Element {elementName = Name {nameLocalName = \"git-annex\", nameNamespace = Just \"git-annex\", namePrefix = Nothing}, elementAttributes = [], elementNodes = []})"]+[2013-07-03 10:58:03 BST] XMPPClient: sending to new client: e7/27209141331372845435882587 "Pushing \"e57\" (CanPush (UUID \"2c0b788e-7b2d-474b-8963-d889b9556229\") [e1b6f2944e7d082299cb1696c55d9064a11c4577,822dbb101976fed8b775d04bba6da876c591a9f0])"+[2013-07-03 10:58:03 BST] XMPPClient: received: ["Presence from 0/ Nothing"]+[2013-07-03 10:58:03 BST] XMPPClient: received: ["Pushing \"e57\" (PushRequest (UUID \"9e67bebc-655c-47da-97a0-2bb02bbbc580\"))"]+[2013-07-03 10:58:03 BST] XMPPSendPack: started running push Pushing "e57" (PushRequest (UUID "9e67bebc-655c-47da-97a0-2bb02bbbc580"))+[2013-07-03 10:58:03 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","symbolic-ref","HEAD"]+[2013-07-03 10:58:03 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","show-ref","refs/heads/master"]+[2013-07-03 10:58:03 BST] call: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","branch","-f","synced/master"]+[2013-07-03 10:58:03 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","symbolic-ref","HEAD"]+[2013-07-03 10:58:03 BST] XMPPSendPack: Syncing with eythian +[2013-07-03 10:58:03 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","show-ref","refs/heads/master"]+[2013-07-03 10:58:03 BST] Merger: merging refs/heads/synced/master into refs/heads/master+[2013-07-03 10:58:03 BST] XMPPClient: sending: Pushing "e57" (StartingPush (UUID "2c0b788e-7b2d-474b-8963-d889b9556229"))+[2013-07-03 10:58:03 BST] call: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","push","eythian","git-annex:refs/synced/2c0b788e-7b2d-474b-8963-d889b9556229/ZXl0aGlhbkBqYWJiZXIua2FsbGlzdGkubmV0Lm56/git-annex","refs/heads/master:refs/synced/2c0b788e-7b2d-474b-8963-d889b9556229/ZXl0aGlhbkBqYWJiZXIua2FsbGlzdGkubmV0Lm56/master"]+[2013-07-03 10:58:03 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","symbolic-ref","HEAD"]+[2013-07-03 10:58:03 BST] XMPPClient: to client: e7/27209141331372845435882587+[2013-07-03 10:58:03 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","show-ref","refs/heads/master"]+[2013-07-03 10:58:03 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","show-ref","--hash","refs/heads/master"]+[2013-07-03 10:58:03 BST] call: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex/.git/annex/merge/","merge","--no-edit","refs/heads/synced/master"]+Already up-to-date.+[2013-07-03 10:58:03 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","show-ref","--hash","refs/heads/master"]+[2013-07-03 10:58:03 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","diff-tree","-z","--raw","--no-renames","-l0","-r","e1b6f2944e7d082299cb1696c55d9064a11c4577","e1b6f2944e7d082299cb1696c55d9064a11c4577"]+[2013-07-03 10:58:03 BST] XMPPClient: received: ["Pushing \"e57\" (PushRequest (UUID \"9e67bebc-655c-47da-97a0-2bb02bbbc580\"))"]+[2013-07-03 10:58:03 BST] XMPPClient: received: ["Pushing \"e57\" (ReceivePackOutput 1 \"<elided>\")"]+[2013-07-03 10:58:03 BST] XMPPClient: NetMessager stored Pushing "e57" (ReceivePackOutput 1 "<elided>") in SendPack inbox "e57"+[2013-07-03 10:58:03 BST] XMPPClient: received: ["Pushing \"e57\" (ReceivePackOutput 2 \"<elided>\")"]+[2013-07-03 10:58:03 BST] XMPPClient: NetMessager stored Pushing "e57" (ReceivePackOutput 2 "<elided>") in SendPack inbox "e57"+[2013-07-03 10:58:03 BST] XMPPClient: received: ["Pushing \"e57\" (ReceivePackOutput 3 \"<elided>\")"]+[2013-07-03 10:58:03 BST] XMPPClient: NetMessager stored Pushing "e57" (ReceivePackOutput 3 "<elided>") in SendPack inbox "e57"+[2013-07-03 10:58:03 BST] XMPPClient: received: ["Pushing \"e57\" (ReceivePackOutput 4 \"<elided>\")"]+[2013-07-03 10:58:03 BST] XMPPClient: NetMessager stored Pushing "e57" (ReceivePackOutput 4 "<elided>") in SendPack inbox "e57"+[2013-07-03 10:58:03 BST] XMPPClient: received: ["Pushing \"e57\" (ReceivePackOutput 5 \"<elided>\")"]+[2013-07-03 10:58:03 BST] XMPPClient: NetMessager stored Pushing "e57" (ReceivePackOutput 5 "<elided>") in SendPack inbox "e57"+[2013-07-03 10:58:03 BST] XMPPClient: sending: Pushing "e57" (SendPackOutput 1 "<elided>")+[2013-07-03 10:58:03 BST] XMPPClient: to client: e7/27209141331372845435882587+[2013-07-03 10:58:03 BST] XMPPClient: sending: Pushing "e57" (SendPackOutput 2 "<elided>")+[2013-07-03 10:58:03 BST] XMPPClient: to client: e7/27209141331372845435882587+[2013-07-03 10:58:04 BST] XMPPClient: received: ["Pushing \"e57\" (ReceivePackOutput 6 \"<elided>\")"]+[2013-07-03 10:58:04 BST] XMPPClient: NetMessager stored Pushing "e57" (ReceivePackOutput 6 "<elided>") in SendPack inbox "e57"+[2013-07-03 10:58:04 BST] XMPPClient: received: ["Pushing \"e57\" (ReceivePackOutput 7 \"<elided>\")"]+[2013-07-03 10:58:04 BST] XMPPClient: NetMessager stored Pushing "e57" (ReceivePackOutput 7 "<elided>") in SendPack inbox "e57"+[2013-07-03 10:58:04 BST] XMPPClient: received: ["Pushing \"e57\" (ReceivePackDone ExitSuccess)"]+[2013-07-03 10:58To xmpp::eythian@jabber.kallisti.net.nz+:0   2783051..822dbb1  4git-annex -> refs/synced/2c0b788e-7b2d-474b-8963-d889b9556229/ZXl0aGlhbkBqYWJiZXIua2FsbGlzdGkubmV0Lm56/git-annex +BS   0b10576..e1b6f29  Tmaster -> refs/synced/2c0b788e-7b2d-474b-8963-d889b9556229/ZXl0aGlhbkBqYWJiZXIua2FsbGlzdGkubmV0Lm56/master]+ XMPPClient: NetMessager stored Pushing "e57" (ReceivePackDone ExitSuccess) in SendPack inbox "e57"+[2013-07-03 10:58:04 BST] XMPPSendPack: finished running push Pushing "e57" (PushRequest (UUID "9e67bebc-655c-47da-97a0-2bb02bbbc580")) True+[2013-07-03 10:58:04 BST] XMPPSendPack: started running push Pushing "e57" (PushRequest (UUID "9e67bebc-655c-47da-97a0-2bb02bbbc580"))+[2013-07-03 10:58:04 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","symbolic-ref","HEAD"]+[2013-07-03 10:58:04 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","show-ref","refs/heads/master"]+[2013-07-03 10:58:04 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","symbolic-ref","HEAD"]+[2013-07-03 10:58:04 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","show-ref","refs/heads/master"]+[2013-07-03 10:58:04 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","show-ref","--head","refs/heads/git-annex","HEAD"]+[2013-07-03 10:58:04 BST] call: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","branch","-f","synced/master"]+[2013-07-03 10:58:04 BST] XMPPClient: sending: Pushing "e30" (CanPush (UUID "2c0b788e-7b2d-474b-8963-d889b9556229") [e1b6f2944e7d082299cb1696c55d9064a11c4577,822dbb101976fed8b775d04bba6da876c591a9f0])+[2013-07-03 10:58:04 BST] XMPPSendPack: Syncing with eythian +[2013-07-03 10:58:04 BST] XMPPClient: exploded undirected message to clients e7/27209141331372845435882587+[2013-07-03 10:58:04 BST] call: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","push","eythian","git-annex:refs/synced/2c0b788e-7b2d-474b-8963-d889b9556229/ZXl0aGlhbkBqYWJiZXIua2FsbGlzdGkubmV0Lm56/git-annex","refs/heads/master:refs/synced/2c0b788e-7b2d-474b-8963-d889b9556229/ZXl0aGlhbkBqYWJiZXIua2FsbGlzdGkubmV0Lm56/master"]+[2013-07-03 10:58:04 BST] XMPPClient: sending: Pushing "e57" (StartingPush (UUID "2c0b788e-7b2d-474b-8963-d889b9556229"))+[2013-07-03 10:58:04 BST] XMPPClient: to client: e7/27209141331372845435882587+[2013-07-03 10:58:04 BST] XMPPClient: received: ["Presence from 0/ Nothing"]+[2013-07-03 10:58:05 BST] XMPPClient: received: ["Presence from e7/27209141331372845435882587 Just (Element {elementName = Name {nameLocalName = \"git-annex\", nameNamespace = Just \"git-annex\", namePrefix = Nothing}, elementAttributes = [], elementNodes = []})"]+[2013-07-03 10:58:05 BST] XMPPClient: sending to new client: e7/27209141331372845435882587 "Pushing \"e57\" (CanPush (UUID \"2c0b788e-7b2d-474b-8963-d889b9556229\") [e1b6f2944e7d082299cb1696c55d9064a11c4577,822dbb101976fed8b775d04bba6da876c591a9f0])"+[2013-07-03 10:58:05 BST] XMPPClient: received: ["Presence from 0/ Nothing"]+[2013-07-03 10:58:05 BST] XMPPClient: received: ["Pushing \"e57\" (ReceivePackOutput 1 \"<elided>\")"]+[2013-07-03 10:58:05 BST] XMPPClient: NetMessager stored Pushing "e57" (ReceivePackOutput 1 "<elided>") in SendPack inbox "e57"+[2013-07-03 10:58:05 BST] XMPPClient: sending: Pushing "e57" (SendPackOutput 1 "<elided>")+[2013-07-03 10:58:05 BST] XMPPClient: to client: e7/27209141331372845435882587+[2013-07-03 10:58:05 BST] XMPPClient: received: ["Pushing \"e57\" (ReceivePackDone ExitSuccess)"]+[2013-07-03 10:58:05 Everything up-to-date+BST] XMPPClient: NetMessager stored Pushing "e57" (ReceivePackDone ExitSuccess) in SendPack inbox "e57"+[2013-07-03 10:58:05 BST] XMPPSendPack: finished running push Pushing "e57" (PushRequest (UUID "9e67bebc-655c-47da-97a0-2bb02bbbc580")) True+[2013-07-03 10:58:27 BST] read: git ["--git-dir=/home/robin/Bureaublad/annex/.git","--work-tree=/home/robin/Bureaublad/annex","ls-tree","-z","--","refs/heads/git-annex","uuid.log","remote.log","trust.log","group.log","preferred-content.log"]+++# End of transcript or log.+"""]]
+ doc/bugs/Wrong_port_while_configuring_ssh_remote.mdwn view
@@ -0,0 +1,35 @@+### Please describe the problem.++When the assistant connects the second time during adding a ssh remote, it assumes port 22 when different port is given.++### What steps will reproduce the problem?++Adding a ssh git remote with non-standard port.++### What version of git-annex are you using? On what operating system?++GNU/Linux, Ubuntu 12.10, amd64, git-annex 4.20130627-g728b27a++Happens on android as well.++### Please provide any additional information below.++[[!format sh """+# If you can, paste a complete transcript of the problem occurring here.+# If the problem is with the git-annex assistant, paste in .git/annex/daemon.log++Error message (nothing related in daemon.log):++Failed to make repository++Something went wrong setting up the repository on the remote server.++Transcript:++ssh: connect to host xxxxx port 22: Connection refused++# End of transcript or log.+"""]]++> [[Fixed|done]]; this bug was introcuded in version+> 4.20130627 while making some other ssh fixes. --[[Joey]]
doc/bugs/allows_repository_with_the_same_name_twice.mdwn view
@@ -21,3 +21,4 @@  Trying to get a file from bigserver kept on failing with the message "Try making some of these repositories available". Which led me on a wild goose chases blaming SSH keys and PATH issues. +> [[done]]; not a bug --[[Joey]]
+ doc/bugs/annex.numcopies_not_overriden_by_--numcopies_option.mdwn view
@@ -0,0 +1,16 @@+### Please describe the problem.+Using "--numcopies=N" on the command line doesn't overrides (as advertised) the annex.numcopies variable when set via .gitattributes. ++### What steps will reproduce the problem?++$ echo '* annex.numcopies=2' > .gitattributes++$ git annex drop --numcopies=1 somefile.txt++Second line fails if only one other copy exists.++### What version of git-annex are you using? On what operating system?+git-annex version: 4.20130627++> I don't think this was ever handled correctly.+> I've fixed it now. [[done]] --[[Joey]] 
+ doc/bugs/annex_get_over_SSH_is_very_slow.mdwn view
@@ -0,0 +1,33 @@+### Please describe the problem.+Attempting to populate one annex from another over an SSH connection is very slow.++### What steps will reproduce the problem?+1. Create an annex on Linux+2. Clone annex to Windows system+3. Set up sshd on Linux system, access keys, etc.+4. "git annex get ."+5. Checking if an individual file exists takes a few seconds, and downloading it takes a few seconds. on a 100Mbps LAN, transfers at an average of 7Mbps.+6. By comparison operating over a working HTTP connection transfers between 20~40 Mbps.+++### What version of git-annex are you using? On what operating system?+Windows 7: 4.20140627-g8a36ec5 (from the git-annex download page)++Debian Linux: 3.20120629 (from the package manager)++> The problem is that git-annex is designed to be used with ssh connection+> caching. However, I have not gotten ssh connection caching to work on +> Windows. I did try getting this to work with IIRC, cygwin's ssh, but+> it seems that the Unix sockets it expects to use with `-o ControlMaster`+> don't work, or it's not been ported to use the Windows equivilant.+>+> It's not practical to make git-annex reuse a single ssh connection+> itself, due to the way rsync is run over ssh.+> +> Since this is basically a bug in ssh for Windows, and not in git-annex+> per se, I am going to close this bug report. However, I do mention+> this in [[todo/windows_support]].+> +> [[done]] --[[Joey]]++[[!meta title="No ssh connection caching support on Windows"]]
+ doc/bugs/can__39__t_annex_get_from_annex_in_direct_mode.mdwn view
@@ -0,0 +1,21 @@+### Please describe the problem.+When trying to annex get *from* an annex on a Windows machine, over HTTP, annex get fails with 404 errors.++### What steps will reproduce the problem?+1. Create an annex on a Windows and Linux machine.+2. annex add some content on Windows repository.+3. Configure Windows repository for HTTP access+4. on Linux machine, fetch updates. this succeeds.+5. attempt to "annex get <new files>"+6. requests for files of the format ".git/annex/objects/<3-char-hash>/<3-char-hash>/SHA<filehash>.<extension>" fail with 404 errors. the annex get fails.+++### What version of git-annex are you using? On what operating system?+Windows 7: 4.20140627-g8a36ec5 (from the git-annex download page)++Debian Linux: 3.20120629 (from the package manager)++### Please provide any additional information below.+there is no <filehash>.<extension> file in the relevant directories, there are only .map and .cache files. The Windows annex is in direct mode, and the Linux annex fails to annex get from this correctly.++[[!meta title="can't use a direct mode repository as a http remote"]]
doc/bugs/creating_a_remote_server_repository.mdwn view
@@ -20,5 +20,5 @@  Please provide any additional information below. -[[!tag /design/assistant]]+[[!tag /design/assistant done]] [[!meta title="ssh password prompting issue with assistant"]]
+ doc/bugs/failure_to_return_to_indirect_mode_on_usb.mdwn view
@@ -0,0 +1,17 @@+### Please describe the problem.+In a usb drive with a repository in direct mode, when I converted to indirect mode it fails++### What steps will reproduce the problem?+cd /Volumes/usb+git annex indirect++### What version of git-annex are you using? On what operating system?+git-annex version: 4.20130627++### Please provide any additional information below.++[[!format sh """+openFile: resource busy (file is locked)+failed+git-annex: indirect: 1 failed+"""]]
doc/bugs/git-annex_dropunused_has_no_effect.mdwn view
@@ -8,3 +8,5 @@  Thanks,   John++> added a message [[done]] --[[Joey]]
doc/bugs/git-annex_get:_requested_key_is_not_present.mdwn view
@@ -30,3 +30,12 @@ ### What version of git-annex are you using? On what operating system?  git-annex 4.20130417 on Gentoo Linux using Ebuilds from Haskell overlay++> I suspect this was some kind of misconfiguration, or +> one of the kinds of data corruption that git-annex can automatically heal from. +> +> I am pretty sure I didn't make any changes to git-annex that caused+> the problem to stop happening!+> +> While it would be very good to get to the bottom of this, I don't see+> any benefit to keeping this report open without more info. [[done]] --[[Joey]]
+ doc/bugs/git_annex_copy_trying_to_connect_to_remotes_uninvolved.mdwn view
@@ -0,0 +1,25 @@+git-annex is trying to ssh (twice by the look of it) to a remote that is not involved in the copy. In this case, git-annex gives a usage error, but not before calling ssh twice:++    $ git annex copy --from=hugex --to=h2 01-pilot.avi+    ssh: connect to host 192.168.1.5 port 22: No route to host+    ssh: connect to host 192.168.1.5 port 22: No route to host+    fatal: Could not read from remote repository.+    +    Please make sure you have the correct access rights+    and the repository exists.+    git-annex: only one of --from or --to can be specified++git-annex shouldn't be running ssh before checking commandline arguments! Or, in this case at all, since both remotes mentioned on the commandline are local:++    $ git config remote.hugex.url+    /media/hugex/jason/home.git+    $ git config remote.h2.url+    /media/h2/backup/git/home.git+++I'm running git-annex 4.20130627 as shipped with debian unstable.++-- +Jason++P.S. 192.168.1.5 is set as the HostName for one of my other remotes in my ~/.ssh/config, so this isn't _totally_ out of the blue. 
doc/bugs/gpg_error_on_android.mdwn view
@@ -34,3 +34,6 @@  # End of transcript or log. """]]++> [[done]]; I have deployed the new gpg build for Android and the+> nightly Android app build is now using it. --[[Joey]]
+ doc/bugs/hGetContents:_user_error.mdwn view
@@ -0,0 +1,38 @@+### Please describe the problem.+My server is on debian testing.  After an upgrade (git annex: 3.20120629 → 4.20130521) I can't do anything in my repository anymore.  git itself works, but invoking any git-annex command leads to:++    git-annex: fd:6: hGetContents: user error (Pattern match failure in do expression at libraries/base/GHC/Event/Thread.hs:90:3-10)++This repo is handled by a script, which invokes only the following git/git-annex commands:++    $ git annex sync+    $ git annex add+    $ git commit -m "…"++I realized this after trying to move files from my server to my local repo.  My local machine runs debian sid.  When trying to transfer files, this happens:++    $ git annex sync+    → ok+    $ git annex move --from origin .+    move x.zip (from origin...) +    user@host's password: ← pw ok+    git-annex-shell: fd:6: hGetContents: user error (Pattern match failure in do expression at libraries/base/GHC/Event/Thread.hs:90:3-10)+    rsync: connection unexpectedly closed (0 bytes received so far) [Receiver]+    rsync error: error in rsync protocol data stream (code 12) at io.c(605) [Receiver=3.0.9]+    failed++I updated git-annex on both machines to 4.20130627 (rest of server is still on debian testing), but it didn't change anything.++The server was not down since the last successful transfer, so I can't imagine anything interrupting any git-annex process.++### What steps will reproduce the problem?+See above.++### What version of git-annex are you using? On what operating system?+Server: 4.20130521 on debian testing (now: 4.20130627)+Local: 4.20130621 on debian sid (now: 4.20130627)++[[!meta title="fails to run on Linux with libc 2.17 and old kernel 2.6.32"]]++> Closing this since it's a bad kernel and there is a workaround to build+> a git-annex that will work with this kernel (see comments). --[[Joey]]
+ doc/bugs/make_install_doesn__39__t_create_git-annex-shell.mdwn view
@@ -0,0 +1,62 @@+### Please describe the problem.+There is no git-annex-shell command in path and thus sync with ssh server fails. If I symlink /usr/bin/git-annex-shell -> /usr/bin/git-annex, it complains that key is already present in annex and errors out. There is executable git-annex-shell in server's ~/.ssh/++### What steps will reproduce the problem?+Start webapp to sync local repo with ssh server.++### What version of git-annex are you using? On what operating system?+git-annex 4.20130627 on Gentoo++### Please provide any additional information below.++[[!format sh """+# If you can, paste a complete transcript of the problem occurring here.+# If the problem is with the git-annex assistant, paste in .git/annex/daemon.log++[2013-07-08 17:28:48 EEST] main: starting assistant version 4.20130627+[2013-07-08 17:28:49 EEST] TransferScanner: Syncing with netbook_Lit, sigma_Lit ++  dbus failed; falling back to mtab polling (SocketError {socketErrorMessage = "connect: does not exist (Connection refused)", socketErrorFatal = True, socketErrorAddress = Just (Address "unix:abstract=/tmp/dbus-HBxh6EyMJ3,guid=adc3101676daede2a128013351daa535")})+Already up-to-date.++(scanning...) [2013-07-08 17:28:49 EEST] Watcher: Performing startup scan+Already up-to-date.+Already up-to-date.+++(started...) Everything up-to-date+Everything up-to-date+bash: git-annex-shell: command not found+rsync: connection unexpectedly closed (0 bytes received so far) [sender]+rsync error: remote command not found (code 127) at io.c(605) [sender=3.0.9]+bash: git-annex-shell: command not found+rsync: connection unexpectedly closed (0 bytes received so far) [sender]+rsync error: remote command not found (code 127) at io.c(605) [sender=3.0.9]+++[2013-07-08 17:50:23 EEST] main: starting assistant version 4.20130627+[2013-07-08 17:50:23 EEST] TransferScanner: Syncing with netbook_Lit, sigma_Lit ++  dbus failed; falling back to mtab polling (SocketError {socketErrorMessage = "connect: does not exist (Connection refused)", socketErrorFatal = True, socketErrorAddress = Just (Address "unix:abstract=/tmp/dbus-HBxh6EyMJ3,guid=adc3101676daede2a128013351daa535")})+Already up-to-date.++(scanning...) [2013-07-08 17:50:23 EEST] Watcher: Performing startup scan+Already up-to-date.+Already up-to-date.+++(started...) Everything up-to-date+Everything up-to-date+git-annex-shell: key is already present in annex+rsync: connection unexpectedly closed (0 bytes received so far) [sender]+rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]+git-annex-shell: key is already present in annex+rsync: connection unexpectedly closed (0 bytes received so far) [sender]+rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]++++# End of transcript or log.+"""]]++[[!tag done]]
doc/bugs/random_files_vanishing_when_assistant_gets_restarted.mdwn view
@@ -31,4 +31,4 @@  3.20130102 on Arch Linux x64 -[!tag /design/assistant moreinfo]]+[[!tag /design/assistant moreinfo]]
+ doc/bugs/view_logs_fails:_Internal_Server_Error__internal_liftAnnex.mdwn view
@@ -0,0 +1,20 @@+### Please describe the problem.+I tried to setup a fresh local repository and got an error:+> Internal Server Error+> user error (git ["--git-dir=/home/jana/Bilder/Fotos/.git","--work-tree=/home/jana/Bilder/Fotos","commit-tree","4b825dc642cb6eb9a060e54bf8d69288fbee4904"] exited 128)++When clicking on "View logs", I get the following error:++> Internal Server Error+> internal liftAnnex++### What steps will reproduce the problem?+1. Run git-annex from programs menu+2. Click "Make repository"++### What version of git-annex are you using? On what operating system?+- git-annex 4.20130627 on Ubuntu 13.10, installed from debian unstable (sid) repository.+- git version 1.8.1.2++> I've made it detect systems that lack a FQDN and set user.email+> automatically. [[done]] --[[Joey]] 
doc/bugs/windows_install_failure.mdwn view
@@ -26,3 +26,5 @@  # End of transcript or log. """]]++[[!meta title="windows installer fails unless run as admin user"]]
doc/design/assistant.mdwn view
@@ -17,10 +17,9 @@ * Month 9: [[screencasts|videos]] and polishing * Month 10: bugfixing, [[Android]] webapp * Month 11: [[!traillink Windows]] porting, finishing touches--We are, approximately, here:- * Month 12: [presentation at SELF2013](http://www.southeastlinuxfest.org/), finishing touches++... Now what? :)  ## porting 
+ doc/design/assistant/blog/day_290__https_release.mdwn view
@@ -0,0 +1,17 @@+Spent too many hours last night tracking down a bug that caused the webapp+to hang when it got built with the new yesod 1.2 release. Much of that time+was spent figuring out that yesod 1.2 was causing the problem. It turned out to+be a stupid typo in my yesod compatability layer. `liftH = liftH` in+Haskell is an infinite loop, not the stack overflow you get in most+languages. ;)++Even though it's only been a week since the last release,+that was worth pushing a release out for, which I've just done.+This release is essentially all bug fixes (aside from the automatic +ionice and nicing of the daemon).++This website is now available over https. Perhaps more importantly, all the+links to download git-annex builds are https by default.++The [[success_stories|day_288__success_stories]] list is getting really+nice. Only way it could possibly be nicer is if you added your story! Hint. ;)
+ doc/design/assistant/blog/day_291__--all.mdwn view
@@ -0,0 +1,32 @@+I've felt for a while that git-annex needed better support for managing+the contents of past versions of files that are stored in the annex. I know+some people get confused about whether git-annex even supports old versions+of files (it does, but you should use indirect mode; direct mode doesn't+guarantee old versions of files will be preserved).++So today I've worked on adding command-line power for managing past+versions: a new `--all` option.++So, if you want to copy every version of every file in your repository to+an archive, you can run `git annex copy --all --to archive`.+Or if you've got a repository on a drive that's dying, you can run+`git annex copy --all --to newdrive`, and then on the new drive, run `git+annex fsck --all` to check all the data.++In a bare repository, `--all` is default, so you can run `git annex get`+inside a bare repository and it will try to get every version of every file+that it can from the remotes.++The tricky thing about `--all` is that since it's operating on objects and+not files, it can't check `.gitattributes` settings, which are tied to the+file name. I worried for a long time that adding `--all` would make+annex.numcopies settings in those files not be honored, and that this would+be a Bad Thing. The solution turns out to be simple: I just didn't+implement `git annex drop --all`! Dropping is the only action that needs to+check numcopies (move can also reduce the number of copies, but explicitly+bypasses numcopies settings).++I also added an `--unused` option. So if you have a repository that has+been accumulating history, and you'd like to move all file contents not+currently in use to a central server, you can run `git annex unused; git+annex move --unused --to origin`
+ doc/design/assistant/blog/day_292__bugfixes.mdwn view
@@ -0,0 +1,24 @@+Actually spread out over several days..++I think I have finally comprehensively dealt with all the wacky system+misconfigurations that can make `git commit` complain and refuse to commit.+The last of these is [a system with a FQDN that doesn't have a dot in it](http://git-annex.branchable.com/bugs/view_logs_fails:_Internal_Server_Error__internal_liftAnnex/). +I personally think git should just use the hostname as-is in the email+address for commits here -- it's better to be robust. Indeed, I think it+would make more sense if `git commit` never failed, unless it ran out of+disk or the repo is corrupt. But anyway, `git-annex+init` will now detect when the commit fails because of this and put a+workaround in place.++Fixed a bug in `git annex addurl --pathdepth` when the url's path was+shorter than the amount requested to remove from it.++Tracked down a bug that prevents git-annex from working on a system with an+old linux kernel. Probably the root cause is that the kernel was built+without EVENTFD support. Found a workaround to get a usable git-annex on+such a system is to build it without the webapp, since that disables the+threaded runtime which triggered the problem.++Dealt with a lot of Windows bugs. Very happy that it's working well enough+that some users are reporting bugs on it in Windows, and with enough detail+that I have not needed to boot Windows to fix them so far. ;)
+ doc/design/assistant/blog/day_293__gpg_builds.mdwn view
@@ -0,0 +1,32 @@+Two gpg fixes today. The OSX Mtn Lion builds were pulling in a build of gpg+that wanted a gpg-agent to be installed in /usr/local or it wouldn't work.+I had to build my own gpg on OSX to work around this. I am pondering making+the OSX dmg builds pull down the gpg source and build their own binary,+so issues on the build system can't affect it. But would really rather not,+since maintaining your own version of every dependency on every+OS is hard (pity about there still being so many OS's without sane package+management).++On Android, which I have not needed to touch for a month, gpg was built+with --enable-minimal, which turned out to not be necessary and was+limiting the encryption algorythms included, and led to+interoperability problems for some. Fixed that gpg build too.++Also fixed an ugly bug in the webapp when setting up a rsync repository.+It would configure `~/.ssh/authorized_keys` on the server to force+git-annex-shell to be run. Which doesn't work for rsync. I didn't notice+this before because it doesn't affect ssh servers that already have a ssh+setup that allows accessing them w/o a password.++Spent a while working on a bug that can occur in a non-utf8 locale+when using special characters in the directory name of a ssh remote.+I was able to reproduce it, but have not worked out how to fix it; encoding+issues like this are always tricky.++Added something to the walkthrough to help convince people that yes, you+can use tags and branches with git-annex just like with regular git. One of+those things that is so obvious to the developer writing the docs +that it's hard to realize it will be a point of concern.++Seems like there is a release worth of changes already, so I plan to push+it out tomorrow.
doc/design/assistant/polls/Android_default_directory.mdwn view
@@ -4,4 +4,4 @@ want the first time they run it, but to save typing on android, anything that gets enough votes will be included in a list of choices as well. -[[!poll open=yes expandable=yes 49 "/sdcard/annex" 4 "Whole /sdcard" 4 "DCIM directory (photos and videos only)" 1 "Same as for regular git-annex. ~/annex/"]]+[[!poll open=yes expandable=yes 53 "/sdcard/annex" 5 "Whole /sdcard" 4 "DCIM directory (photos and videos only)" 1 "Same as for regular git-annex. ~/annex/"]]
doc/design/assistant/polls/prioritizing_special_remotes.mdwn view
@@ -6,7 +6,7 @@ Help me prioritize my work: What special remote would you most like to use with the git-annex assistant? -[[!poll open=yes 16 "Amazon S3 (done)" 12 "Amazon Glacier (done)" 9 "Box.com (done)" 70 "My phone (or MP3 player)" 19 "Tahoe-LAFS" 7 "OpenStack SWIFT" 29 "Google Drive"]]+[[!poll open=yes 16 "Amazon S3 (done)" 12 "Amazon Glacier (done)" 9 "Box.com (done)" 70 "My phone (or MP3 player)" 19 "Tahoe-LAFS" 7 "OpenStack SWIFT" 31 "Google Drive"]]  This poll is ordered with the options I consider easiest to build listed first. Mostly because git-annex already supports them and they
doc/design/assistant/progressbars.mdwn view
@@ -12,33 +12,13 @@ * Watch temp file as it's coming in and use its size.   Can either poll every .5 seconds or so to check file size, or   could use inotify. **done**-* When easily available, remotes call the MeterUpdate callback as uploads+* When easily available, remotes call the MeterUpdate callback as downloads   progress. **done**--* TODO a bad interaction can happen between the TransferPoller and the-  TransferWatcher when downloading from an encrypted remote. If-  a partially transferred file exists already, in the gitAnnexTmpLocation-  of the (un-encrypted) key, the TransferPoller will trust it to have-  the right size of the content downloaded. This will stomp, every 0.5-  seconds, over the updates to the size that the TransferWatcher is seeing-  in the transfer log files.--  We still need the TransferPoller for the remotes that don't have-  download meters. This includes git, web, bup, and hook.--  Need to teach the TransferPoller to detect when transfer logs for downloads-  have file size info, and use it, rather than looking at the temp file.-  The question is, how to do this efficiently? It could just poll the-  transfer log every time, and if size is nonzero, ignore the temp file.-  This would work, but it would require a lot more work than the simple-  statting of the file it does now. And this runs every 0.5 seconds.--  I could try to convert all remotes I care about to having progress-  for downloads. But converting the web special remote will be hard..--  I think perhaps the best solution is to make the TransferWatcher also watch-  the temp files. Then if one changes, it can get its new size. If a-  transfer info file changes, it can get the size from there.+* S3 TODO  +  While it has a download progress bar, `getObject` probably buffers the whole+  download in memory before returning. Leaving the progress bar to only+  display progress for writing the file out of memory. Fixing this would+  involve making hS3 stream better (also avoids it wasting memory).  ## uploads 
doc/design/assistant/xmpp.mdwn view
@@ -9,6 +9,10 @@   See <http://git-annex.branchable.com/design/assistant/blog/day_114__xmpp/#comment-aaba579f92cb452caf26ac53071a6788> * Support registering with XMPP provider from within the webapp,    as clients like pidgin are able to do.+* At least some XMPP servers are lossy (does XMPP guarantee delivery)?+  I have seen a log where a push's packet 1 and 3 arrived, but 2 did not.+  To deal with this, need at least a 1 packet buffer and ACK or resend+  request implemented over top of XMPP. Essentially, TCP over XMPP. :( * Add an encryption layer that does not rely on trusting the XMPP server's   security (currently it's encrypted only to the server, not end-to-end).   There are a few options for how to generate the key for eg,
+ doc/direct_mode/comment_5_42363bf0367f935b3eee8ad3d2eaf5cf._comment view
@@ -0,0 +1,10 @@+[[!comment format=mdwn+ username="mildred"+ ip="2a01:e35:2f7b:8350:225:22ff:fe40:fdfc"+ subject="What happens to object database in direct mode?"+ date="2013-07-08T13:27:21Z"+ content="""+What happens to the object database (`.git/annex/objects`) when going to direct mode? Are the objects deleted, moved to another location, kept?++If the objects are kept, does it means that the file on the repository in direct mode is duplicated in the object database? If so, would it be relevant to use `cp --reflink=auto` to populate the working directory to enable copy on write on filesystems that supports it?+"""]]
+ doc/direct_mode/comment_6_5f03b1686c1fb3f7606a5bc724ac3812._comment view
@@ -0,0 +1,8 @@+[[!comment format=mdwn+ username="http://joeyh.name/"+ ip="4.153.254.222"+ subject="comment 6"+ date="2013-07-08T16:11:32Z"+ content="""+`.git/annex/objects` does not typically contain any file contents in direct mode. The file contents are stored directly in the working tree.+"""]]
+ doc/forum/Coming_from_git_world.mdwn view
@@ -0,0 +1,9 @@+So i am coming from git world, All documentation and posts seemed to be for media etc. I have a simple question.++Can i use git annex to manage large files , Which i think i can. But will it work with branching/tagging etc.++e.g. We currently use git have some large files in git repo.... I am planning to move the large files to use annex. But would like to maintain branches, i.e. each branch might have different version of files and maybe tagged, So i can get back some old version from a branch.++Is this possible ? I did not get any explicit  answer or examples on how this works or even if its supported.++Also can i use same folder for git and git-annex ? 
+ doc/forum/Git_annex_assistant_in_command_line.mdwn view
@@ -0,0 +1,2 @@+How can I clone a git annex remote (bare repository) created with the webapp in command line ? My goal is to be able to access the files using an ssh connection.+
+ doc/forum/How_to_deal_with_renamed_files_in_direct_mode__63__.mdwn view
@@ -0,0 +1,3 @@+I use git annex in direct mode and I have renamed a file. What should I do to make git annex understand that the file has just been renamed and not deleted/added?++The file I renamed is quite big and I would like to avoid having to copy it again to the remotes and I would also like to avoid having to redownload it again in all the repositories.
+ doc/forum/Reappearing_repos_in_webapp_and_vicfg.mdwn view
@@ -0,0 +1,43 @@+Hi,++Whenever I do a git annex vicfg (as pasted below) the long gone repo 40da403e-6f74-4705-aae0-433aa656b55e keeps automatically being added back into the configuration.  Worse in the webapp this manifests itself as a repository list item that's empty of text (and when buttons are clicked there's a complaint about missing UUIDs).++In addition to removing the lines via git-annex vicfg, I've switched my repository into indirect mode, manually checked out the the git-annex branch and deleted the offending key from the preferred content and group files (it oddly didn't appear in the uuid file).  However they keep coming back :-(++Everything seems to be okay bar this rogue entry which in the web-app irrationally bothers me.++I'm running the very latest git-annex release.++Any thoughts?++Cheers,++Matt.+++    # git-annex configuration+    #+    # Changes saved to this file will be recorded in the git-annex branch.+    #+    # Lines in this file have the format:+    #   setting uuid = value+    +    # Repository trust configuration+    # (Valid trust levels: trusted semitrusted untrusted dead)+    # (for mattford63 (matt@descartes.rss.mhs.man.ac.uk:~/current))+    trust 88733342-45ef-420f-8f1b-9a5ed8d8e070 = semitrusted+    +    # Repository groups+    # (Standard groups: client transfer backup incrementalbackup smallarchive archive source manual public unwanted)+    # (Separate group names with spaces)+    # (for )+    group 40da403e-6f74-4705-aae0-433aa656b55e = client+    # (for mattford63 (matt@descartes.rss.mhs.man.ac.uk:~/current))+    group 88733342-45ef-420f-8f1b-9a5ed8d8e070 = client++    # Repository preferred contents+    # (for )+    content 40da403e-6f74-4705-aae0-433aa656b55e = standard+    # (for mattford63 (matt@descartes.rss.mhs.man.ac.uk:~/current))+    content 88733342-45ef-420f-8f1b-9a5ed8d8e070 = standard+    
+ doc/forum/Using_git-annex_as_a_library.mdwn view
@@ -0,0 +1,1 @@+I am looking to use git-annex as a library/tool to bring syncing to another application. Is there any documentation or open examples of doing something like this?
+ doc/forum/android_binary-only_download.mdwn view
@@ -0,0 +1,9 @@+It would be really neat if there was a way to get just the `git-annex` binary on Android, without getting the entire APK. This can be useful when one is already using their own shell and rootfs, for example I work with <a href="https://sites.google.com/site/taldewandroid/">this</a>.++This way, one can just use parts of git-annex, without having to have a whole APK and its dependencies, and the space it takes up, etc.++So would you be able to add a download link for this?++++Thanks for the wonderful project!
+ doc/forum/cloudcmd.mdwn view
@@ -0,0 +1,6 @@+Hi,++Glad to see this project appears to be doing well.  I just wanted to mention that there's a similar project called cloudcmd that has many of the same use cases in spirit: https://github.com/briangu/cloudcmd++Cheers,+Brian
doc/git-annex.mdwn view
@@ -148,6 +148,15 @@   Note that sync does not transfer any file contents from or to the remote   repositories. +* merge++  This performs the same merging that is done by the sync command, but+  without pushing or pulling any data.++  One way to use this is to put `git annex merge` into a repository's+  post-receive hook. Then any syncs to the repository will update its working+  copy automatically.+ * addurl [url ...]    Downloads each url to its own file, which is added to the annex.@@ -380,6 +389,12 @@    To check for annexed data on a remote, specify --from. +  After running this command, you can use the --unused option to+  operate on all the unused data that was found. For example, to+  move all unused data to origin:++	git annex unused; git annex move --unused --to origin+ * dropunused [number|range ...]    Drops the data corresponding to the numbers, as listed by the last@@ -395,13 +410,6 @@   as listed by the last `git annex unused`. The files will have names   starting with "unused." -* merge--  Automatically merges remote tracking branches */git-annex into-  the git-annex branch. While git-annex mostly handles keeping the-  git-annex branch merged automatically, if you find you are unable-  to push the git-annex branch due non-fast-forward, this will fix it.- * fix [path ...]    Fixes up symlinks that have become broken to again point to annexed content.@@ -601,6 +609,19 @@   Enables automatic mode. Commands that get, drop, or move file contents   will only do so when needed to help satisfy the setting of annex.numcopies,   and preferred content configuration.++* --all++  Operate on all data that has been stored in the git annex,+  including old versions of files. This is the default behavior when+  running git-annex in a bare repository; in a non-bare repository the+  normal behavior is to only operate on specified files in the working+  tree.++* --unused++  Operate on all data that has been determined to be unused by+  a previous run of `git-annex unused`.  * --quiet 
+ doc/install/Android/comment_3_82c7cb31d19d4e18ca5548da5ca19a79._comment view
@@ -0,0 +1,8 @@+[[!comment format=mdwn+ username="https://www.google.com/accounts/o8/id?id=AItOawmhfodZquCI_EEl-f3h7HkROTszlsQL6yA"+ nickname="Joe"+ subject="comment 3"+ date="2013-07-04T15:06:36Z"+ content="""+Is it safe to upgrade by installing a daily build over an existing version? Will that overwrite any settings? +"""]]
+ doc/install/Android/comment_4_cebaa8ee5bbed27d9b2d032ca7bdec6e._comment view
@@ -0,0 +1,8 @@+[[!comment format=mdwn+ username="http://joeyh.name/"+ ip="4.154.4.193"+ subject="comment 4"+ date="2013-07-05T00:53:00Z"+ content="""+It is safe to re-install, all your data and settings are stored in /sdcard and will not be touched, even if you delete the app!+"""]]
+ doc/install/Debian/comment_12_0aca83b055d0a9dd8589c50250a8bbea._comment view
@@ -0,0 +1,13 @@+[[!comment format=mdwn+ username="https://www.google.com/accounts/o8/id?id=AItOawmF3Klaj8Q0Czfh1F3jaLF6issqeAhmru4"+ nickname="Keith"+ subject="Wheezy Support"+ date="2013-07-05T21:21:39Z"+ content="""+Joey,++What's the status on the wheezy backport. I'm itching to try the assistant.++thanks,+Keith+"""]]
+ doc/install/Debian/comment_13_167a091764e5e99ec0f35a65e95a22de._comment view
@@ -0,0 +1,8 @@+[[!comment format=mdwn+ username="http://joeyh.name/"+ ip="4.153.254.222"+ subject="comment 13"+ date="2013-07-07T17:21:10Z"+ content="""+I remain stuck where I was stuck previously on the backport. In the meantime, use [[Linux_standalone]] :(+"""]]
doc/install/OSX.mdwn view
@@ -39,6 +39,7 @@ brew install haskell-platform git ossp-uuid md5sha1sum coreutils libgsasl gnutls libidn libgsasl pkg-config libxml2 brew link libxml2 cabal update+mkdir $HOME/bin PATH=$HOME/bin:$PATH PATH=$HOME/.cabal/bin:$PATH cabal install c2hs --bindir=$HOME/bin
− doc/news/version_4.20130501.mdwn
@@ -1,57 +0,0 @@-git-annex 4.20130501 released with [[!toggle text="these changes"]]-[[!toggleable text="""-   * sync, assistant: Behavior changes: Sync with remotes that have-     annex-ignore set, so that git remotes on servers without git-annex-     installed can be used to keep clients' git repos in sync.-   * assistant: Work around misfeature in git 1.8.2 that makes-     `git commit --alow-empty -m ""` run an editor.-   * sync: Bug fix, avoid adding to the annex the-     dummy symlinks used on crippled filesystems.-   * Add public repository group.-     (And inpreferreddir to preferred content expressions.)-   * webapp: Can now set up Internet Archive repositories.-   * S3: Dropping content from the Internet Archive doesn't work, but-     their API indicates it does. Always refuse to drop from there.-   * Automatically register public urls for files uploaded to the-     Internet Archive.-   * To enable an existing special remote, the new enableremote command-     must be used. The initremote command now is used only to create-     new special remotes.-   * initremote: If two existing remotes have the same name,-     prefer the one with a higher trust level.-   * assistant: Improved XMPP protocol to better support multiple repositories-     using the same XMPP account. Fixes bad behavior when sharing with a friend-     when you or the friend have multiple reposotories on an XMPP account.-     Note that XMPP pairing with your own devices still pairs with all-     repositories using your XMPP account.-   * assistant: Fix bug that could cause incoming pushes to not get-     merged into the local tree. Particularly affected XMPP pushes.-   * webapp: Display some additional information about a repository on-     its edit page.-   * webapp: Install FDO desktop menu file when started in standalone mode.-   * webapp: Don't default to making repository in cwd when started-     from within a directory containing a git-annex file (eg, standalone-     tarball directory).-   * Detect systems that have no user name set in GECOS, and also-     don't have user.name set in git config, and put in a workaround-     so that commits to the git-annex branch (and the assistant)-     will still succeed despite git not liking the system configuration.-   * webapp: When told to add a git repository on a remote server, and-     the repository already exists as a non-bare repository, use it,-     rather than initializing a bare repository in the same directory.-   * direct, indirect: Refuse to do anything when the assistant-     or git-annex watch daemon is running.-   * assistant: When built with git before 1.8.0, use `git remote rm`-     to delete a remote. Newer git uses `git remote remove`.-   * rmurl: New command, removes one of the recorded urls for a file.-   * Detect when the remote is broken like bitbucket is, and exits 0 when-     it fails to run git-annex-shell.-   * assistant: Several improvements to performance and behavior when-     performing bulk adds of a large number of files (tens to hundreds-     of thousands).-   * assistant: Sanitize XMPP presence information logged for debugging.-   * webapp: Now automatically fills in any creds used by an existing remote-     when creating a new remote of the same type. Done for Internet Archive,-     S3, Glacier, and Box.com remotes.-   * Store an annex-uuid file in the bucket when setting up a new S3 remote.-   * Support building with DAV 0.4."""]]
− doc/news/version_4.20130516.mdwn
@@ -1,29 +0,0 @@-git-annex 4.20130516 released with [[!toggle text="these changes"]]-[[!toggleable text="""-   * Android: The webapp is ported and working.-   * Windows: There is a very rough Windows port. Do not trust it with-     important data.-   * git-annex-shell: Ensure that received files can be read. Files-     transferred from some Android devices may have very broken permissions-     as received.-   * direct mode: Direct mode commands now work on files staged in the index,-     they do not need to be committed to git.-   * Temporarily add an upper bound to the version of yesod that can be built-     with, since yesod 1.2 has a great many changes that will require extensive-     work on the webapp.-   * Disable building with the haskell threaded runtime when the assistant-     is not built. This may fix builds on s390x and sparc, which are failing-     to link -lHSrts\_thr-   * Avoid depending on regex-tdfa on mips, mipsel, and s390, where it fails-     to build.-   * direct: Fix a bug that could cause some files to be left in indirect mode.-   * When initializing a directory special remote with a relative path,-     the path is made absolute.-   * SHA: Add a runtime sanity check that sha commands output something-     that appears to be a real sha.-   * configure: Better checking that sha commands output in the desired format.-   * rsync special remotes: When sending from a crippled filesystem, use-     the destination's default file permissions, as the local ones can-     be arbitrarily broken. (Ie, ----rwxr-x for files on Android)-   * migrate: Detect if a file gets corrupted while it's being migrated.-   * Debian: Add a menu file."""]]
+ doc/news/version_4.20130627.mdwn view
@@ -0,0 +1,17 @@+git-annex 4.20130627 released with [[!toggle text="these changes"]]+[[!toggleable text="""+   * assistant --autostart: Automatically ionices the daemons it starts.+   * assistant: Daily sanity check thread is run niced.+   * bup: Handle /~/ in bup remote paths.+     Thanks, Oliver Matthews+   * fsck: Ensures that direct mode is used for files when it's enabled.+   * webapp: Fix bug when setting up a remote ssh repo repeatedly on the same+     server.+   * webapp: Ensure that ssh keys generated for different directories+     on a server are always different.+   * webapp: Fix bug setting up ssh repo if the user enters "~/" at the start+     of the path.+   * assistant: Fix bug that prevented adding files written by gnucash,+     and more generally support adding hard links to files. However,+     other operations on hard links are still unsupported.+   * webapp: Fix bug that caused the webapp to hang when built with yesod 1.2."""]]
+ doc/news/version_4.20130709.mdwn view
@@ -0,0 +1,35 @@+git-annex 4.20130709 released with [[!toggle text="these changes"]]+[[!toggleable text="""+   * --all: New switch that makes git-annex operate on all data stored+     in the git annex, including old versions of files. Supported by+     fsck, get, move, copy.+   * --unused: New switch that makes git-annex operate on all data found+     by the last run of git annex unused. Supported by fsck, get, move, copy.+   * get, move, copy: Can now be run in a bare repository,+     like fsck already could. --all is enabled automatically in this case.+   * merge: Now also merges synced/master or similar branches, which+     makes it useful to put in a post-receive hook to make a repository+     automatically update its working copy when git annex sync or the assistant+     sync with it.+   * webapp: Fix ssh setup with nonstandard port, broken in last release.+   * init: Detect systems on which git commit fails due to not being able to+     determine the FQDN, and put in a workaround so committing to the git-annex+     branch works.+   * addurl --pathdepth: Fix failure when the pathdepth specified is deeper+     than the urls's path.+   * Windows: Look for .exe extension when searching for a command in path.+   * Pass -f to curl when downloading a file with it, so it propigates failure.+   * Windows: Fix url to object when using a http remote.+   * webapp: Fix authorized\_keys line added when setting up a rsync remote+     on a server that also supports git-annex, to not force running+     git-annex-shell.+   * OSX Mountain Lion: Fixed gpg bundled in dmg to not fail due to a missing+     gpg-agent.+   * Android: gpg is built without --enable-minimal, so it interoperates+     better with other gpg builds that may default to using other algorithms+     for encryption.+   * dropunused, addunused: Complain when asked to operate on a number that+     does not correspond to any unused key.+   * fsck: Don't claim to fix direct mode when run on a symlink whose content+     is not present.+   * Make --numcopies override annex.numcopies set in .gitattributes."""]]
+ doc/special_remotes/hook/comment_2_ee7c43b93c5b787216334f019643f6a0._comment view
@@ -0,0 +1,17 @@+[[!comment format=mdwn+ username="https://www.google.com/accounts/o8/id?id=AItOawnWvnTWY6LrcPB4BzYEBn5mRTpNhg5EtEg"+ nickname="Bence"+ subject="More environment variables"+ date="2013-07-09T10:28:58Z"+ content="""+Could you please include the original filename+path in the environment variables (_next to ANNEX_KEY & ANNEX_FILE_)? Like ANNEX_FILENAME and ANNEX_PATH.++Having these infos in a hook would help eg. a flickr backend to be more usefull. [Tags](http://www.flickr.com/help/tags/) would contain the ANNEX_KEY and the image title could be the original filename (ANNEX_FILENAME). Also, having directory path (ANNEX_PATH) for the given file, the uploading process could put images into the proper sets/collections. Voila, you have a \"filesystem based\" flickr image gallery (almost like flickrfs).++Other backends, like AmazonS3 having [meta data](http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingMetadata.html) also could benefit from this. ++To build the Death Star further, an _annex.$hooktype-**sync**-hook_ would instruct the backend to sync data, eg. place or move images/files in the proper image-sets/directories after they are moved/repositioned in git-annex, but that would be the backend's job, not git-annex's. Maybe the sync-hook would be called when _git annex sync_ is called. This is just an idea.++While writing this, a new hook for sharing came into my mind: _annex.$hooktype-**share**-hook_.+Calling this on a file/directory (_git annex share my_image_to_share.jpg_) would return a publicly shareable (short)url pointing to the file/directory. This would work for web-backends like AmazonS3, flickr, DropBox, Google Drive, ...+"""]]
+ doc/special_remotes/hook/comment_3_2593291795e732994862d08bf2ed467b._comment view
@@ -0,0 +1,17 @@+[[!comment format=mdwn+ username="https://www.google.com/accounts/o8/id?id=AItOawmWg4VvDTer9f49Y3z-R0AH16P4d1ygotA"+ nickname="Tobias"+ subject="comment 3"+ date="2013-07-09T10:54:58Z"+ content="""+I have requested this before. But it doesn't seem to be entirely doable because some items may have multiple equally correct filenames/paths. And some items may have zero filenames/paths.++That said I hope a solution can be found because I really want this feature too. And would implement it in all my hooks.++And for some of the cases i don't really see it as an issue. If you have a public flickr repo with clean(unencrypted) files. It is because you want to access existing files. If an object has no filename/path the hook could/would/should just ignore the file, sure this means no backup of old versions of files, but you can have other backends for those versions.++The bigger issue is with the same file existing multiple places in the annex, which filename/path should be used? And the filename/path can change between sync(if it is deleted from one of the positions). I personally still see this as being entirely doable. The key for downloading would always be the same, so worst case scenario is the image may be duplicated on flickr. Or that the picture only one of the multiple folders it should be in on flickr. Still, i see these issues as being minor, and that usability would increase if this was implemented, even with these caveats.++And there probably is some issues I haven't realized/know about.++"""]]
doc/sync.mdwn view
@@ -17,10 +17,11 @@ as a drop-point for other repositories to use to push changes.  When you run `git annex sync`, it merges the `synced/master` branch-into `master`, receiving anything that's been pushed to it. Then it-fetches from each remote, and merges in any changes that have been made-to the remotes too. Finally, it updates `synced/master` to reflect the new-state of `master`, and pushes it out to each of the remotes.+into `master`, receiving anything that's been pushed to it. (If there is a+conflict in this merge, [[automatic_conflict_resolution]] is used to+resolve it). Then it fetches from each remote, and merges in any changes that+have been made to the remotes too. Finally, it updates `synced/master`+to reflect the new state of `master`, and pushes it out to each of the remotes.  This way, changes propagate around between repositories as `git annex sync` is run on each of them. Every repository does not need to be able to talk
doc/tips/setup_a_public_repository_on_a_web_site.mdwn view
@@ -20,9 +20,12 @@ 7. Instruct advanced users to clone a http url that ends with the "/.git/"    directory. For example, for downloads.kitenet.net, the clone url    is `https://downloads.kitenet.net/.git/`+8. Set up a git `post-receive` hook that runs `git annex merge`, and+   the repository's working tree will automatically be updated when+   you run `git annex sync` in a clone that can push to the repository.  +   (Needs git-annex version 4.20130703 or newer; older versions+   can use `git annex sync` in the post-receive hook instead.)  When users clone over http, and run git-annex, it will automatically learn all about your repository and be able to download files right out of it, also using http. --Enjoy!
doc/tips/using_gitolite_with_git-annex.mdwn view
@@ -23,7 +23,7 @@ Set `$GL_ADC_PATH` in `.gitolite.rc`, if you have not already done so.  <pre>-echo '$GL_ADC_PATH = "/usr/local/lib/gitolite/adc/;"' >>~gitolite/.gitolite.rc+echo '$GL_ADC_PATH = "/usr/local/lib/gitolite/adc/";' >>~gitolite/.gitolite.rc </pre>  Make the ADC directory, and a "ua" subdirectory.
doc/tips/using_the_web_as_a_special_remote.mdwn view
@@ -53,5 +53,5 @@ 	addurl example.com_videos_2012_01_video.mpeg (downloading http://example.com/videos/2012/01/video.mpeg) 	# git annex addurl http://example.com/videos/2012/01/video.mpeg --pathdepth=2 	addurl 2012_01_video.mpeg (downloading http://example.com/videos/2012/01/video.mpeg)-	# git annex addurl http://example.com/videos/2012/video.mpeg --pathdepth=-2+	# git annex addurl http://example.com/videos/2012/01/video.mpeg --pathdepth=-2 	addurl 01_video.mpeg (downloading http://example.com/videos/2012/01/video.mpeg)
+ doc/todo/Use_MediaScannerConnection_on_Android.mdwn view
@@ -0,0 +1,7 @@+Currently if photos or videos are copied into the Camera/DCIM directory on an Android device, or deleted the Gallery doesn't notice the changes.++It is necessary to call MediaScannerConnection - http://developer.android.com/reference/android/media/MediaScannerConnection.html - to notify the system of the change.++More info, and some sample Java code: http://stackoverflow.com/questions/13270789/how-to-run-media-scanner-in-android++It'd be awesome if the assistant did this on files it has changed.  Possibly just under Camera/DCIM, but perhaps it should be configurable. MediaScannerConnection is also used to notify and index new music files.
doc/todo/add_-all_option.mdwn view
@@ -16,3 +16,7 @@ particular problem for `drop` and for `--auto`.  --[[Joey]]++> [[done]]. The .gitattributes problem was solved simply by not+> supporting `drop --all`. `--auto` also cannot be mixed with --all for+> similar reasons. --[[Joey]] 
doc/todo/windows_support.mdwn view
@@ -12,3 +12,6 @@ * Bad file locking, it's probably not safe to run more than one git-annex   process at the same time on Windows. * No support for the assistant or webapp.+* Ssh connection caching does not work on Windows, so `git annex get`+  has to connect twice to the remote system over ssh per file, which+  is much slower than on systems supporting connection caching.
+ doc/todo/windows_support/comment_7_a5ca56c487257434650420acfa60e39f._comment view
@@ -0,0 +1,8 @@+[[!comment format=mdwn+ username="https://www.google.com/accounts/o8/id?id=AItOawlpSOjMH7Iaz56v6Pr9KCFSpbvMXvg-y9o"+ nickname="Dominik"+ subject="So close :-)"+ date="2013-06-30T12:46:40Z"+ content="""+I was fighting my way forward until I read here that special remote with ssh+rsync and encryption doesn't work. Interestingly I got everything working so far, ssh login is keybased, gpg -k works and the remote setup also correctly cooperated with gpg... but it just didn't sync. Any ideas how complex it is to get this last missing piece moving?+"""]]
+ doc/todo/windows_support/comment_8_61214de7d967740d42905f3823ce2f65._comment view
@@ -0,0 +1,12 @@+[[!comment format=mdwn+ username="http://joeyh.name/"+ ip="4.154.4.193"+ subject="comment 8"+ date="2013-06-30T17:58:08Z"+ content="""+It should be easy to fix whatever's wrong the the rsync special remote. Just a matter of debugging that.++Adding encryption support on Windows is stuck at a roadblock I don't know the way around. To drive gpg, git-annex uses the `--passphrase-fd` option, and sends the \"passphrase\" (really a big block of binary foo!) over a file descriptor of a pipe that it set up.++Windows, AFAIK, doesn't have file descriptors, or at least there is no equivilant to them that I have access to in the Haskell POSIX compatability layer for Windows. I am reluctant to fall back to using `--passphrase-file` on Windows, since that would be a massive security hole (as would passing the passphrase as a parameter via `--passphrase=`).+"""]]
doc/todo/wishlist:_An_--all_option_for_dropunused.mdwn view
@@ -1,1 +1,4 @@ Cleaning out a repository is presently a fairly manual process.  Am I missing a UI trick?  "dropunsed" with no arguments prints nothing at all; I think in that case it should display the list of what could be dropped.++> [[done]]; comments seem satisfactory and I see no reason to complicate+> dropunused to output something unused already outputs. --[[Joey]]
doc/todo/wishlist:_Have_a_preview_of_download_or_upload_size.mdwn view
@@ -5,3 +5,6 @@ If part of get, move or copy, git-annex could print how much has been done or how much left between every files.  Thanks.++> [[done]]; `git-annex status .` seems to cover the requested use case.+> --[[Joey]] 
+ doc/todo/wishlist:_support_copy_--from__61__x_--to__61__y.mdwn view
@@ -0,0 +1,29 @@+I'd like to be able to:++    git annex copy --from=x --to=y .++Use case (true story) follows:++My desktop hard drive was filling up. I dropped some large files which are also stored (via git-annex) on my backup drive. While these aren't irreplaceable files, I'd prefer to have at least two copies of everything I've decided I care enough about to archive. Later, I get a 2nd external drive, and I:++    git annex copy --to=new-external-drive .++Fantastic! Now I've got everything that was important/useful enough to keep on my desktop backed up a 2nd time onto my new drive.++But my new drive doesn't have a copy of any of the files I dropped from my desktop. I would like to be able to:++    git annex copy --from=old-external-drive --to=new-external-drive .++on my desktop, and then my new drive would have a copy of everything, and my desktop drive would still have plenty of space (ie the files I'd dropped to make space would still not be stored on the desktop).++The git repos on these external drives are both bare (as in ``git init --bare``) because they are used only for backups. Thus I operate on them only as remotes from my main (desktop) repo.++> I have now implemented the --all option, and it's the default when+> running `git annex get` inside a bare repo.+> +> So, the solution is to `cd` to the repository on old-external-drive,+> and `git remote add newdrive /path/to/new/drive/repo`. Then run `git+> annex copy --all --to newdrive` and it'll move everything.+> +> Calling this [[done]] unless there are other use cases where the double+> copy method is really needed? --[[Joey]] 
doc/walkthrough.mdwn view
@@ -15,6 +15,7 @@ 	walkthrough/modifying_annexed_files 	walkthrough/using_ssh_remotes 	walkthrough/moving_file_content_between_repositories+	walkthrough/using_tags_and_branches 	walkthrough/unused_data 	walkthrough/fsck:_verifying_your_data 	walkthrough/fsck:_when_things_go_wrong
doc/walkthrough/removing_files.mdwn view
@@ -1,5 +1,17 @@-You can always drop files safely. Git-annex checks that some other annex-has the file before removing it.+When you're using git-annex you can `git rm` a file just like you usually+would with git. Just like with git, this removes the file from your work+tree, but it does not remove the file's content from the git repository.+If you check the file back out, or revert the removal, you can get it back. +Git-annex adds the ability to remove the content of a file from your local+repository to save space. This is called "dropping" the file. ++You can always drop files safely. Git-annex checks that some other+repository still has the file before removing it.+ 	# git annex drop iso/debian.iso 	drop iso/Debian_5.0.iso ok++Once dropped, the file will still appear in your work tree as a broken symlink.+You can use `git annex get` to as usual to get this file back to your local+repository.
doc/walkthrough/syncing.mdwn view
@@ -23,3 +23,7 @@ git in a distributed fashion, without a  [[central bare repository|tips/centralized_git_repository_tutorial]]. See [[sync]] for details.++Note that syncing only syncs the metadata about your files that is stored+in git. It does not sync the contents of files, that are managed by+git-annex.
doc/walkthrough/unused_data.mdwn view
@@ -5,8 +5,7 @@ migrating between key-value [[backends]].  This might be historical data you want to preserve, so git-annex defaults to-preserving it. So from time to time, you may want to check for such data and-eliminate it to save space.+preserving it. So from time to time, you may want to check for such data:  	# git annex unused 	unused . (checking for unused data...) @@ -28,3 +27,9 @@ Hint: To drop a lot of unused data, use a command like this:  	# git annex dropunused 1-1000++Rather than removing the data, you can instead send it to other+repositories:++	# git annex copy --unused --to backup+	# git annex move --unused --to archive
+ doc/walkthrough/using_tags_and_branches.mdwn view
@@ -0,0 +1,14 @@+Like git, git-annex hangs on to every old version of a file (by default),+so you can make tags and branches, and can check them out later to look at+the old files.++	# git tag 1.0+	# rm -f my_cool_big_file+	# git commit -m deleted+	# git checkout 1.0+	# cat my_cool_big_file+	yay! old version still here++Of course, when you `git checkout` an old branch, some old versions of+files may not be locally available, and may be stored in some other+repository. You can use `git annex get` to get them as usual.
git-annex.1 view
@@ -135,6 +135,14 @@ Note that sync does not transfer any file contents from or to the remote repositories. .IP+.IP "merge"+This performs the same merging that is done by the sync command, but+without pushing or pulling any data.+.IP+One way to use this is to put git annex merge into a repository's+post\-receive hook. Then any syncs to the repository will update its working+copy automatically.+.IP .IP "addurl [url ...]" Downloads each url to its own file, which is added to the annex. .IP@@ -345,6 +353,12 @@ .IP To check for annexed data on a remote, specify \-\-from. .IP+After running this command, you can use the \-\-unused option to+operate on all the unused data that was found. For example, to+move all unused data to origin:+.IP+ git annex unused; git annex move \-\-unused \-\-to origin+.IP .IP "dropunused [number|range ...]" Drops the data corresponding to the numbers, as listed by the last git annex unused@@ -358,12 +372,6 @@ as listed by the last git annex unused. The files will have names starting with "unused." .IP-.IP "merge"-Automatically merges remote tracking branches */git\-annex into-the git\-annex branch. While git\-annex mostly handles keeping the-git\-annex branch merged automatically, if you find you are unable-to push the git\-annex branch due non\-fast\-forward, this will fix it.-.IP .IP "fix [path ...]" Fixes up symlinks that have become broken to again point to annexed content. This is useful to run if you have been moving the symlinks around,@@ -541,6 +549,17 @@ Enables automatic mode. Commands that get, drop, or move file contents will only do so when needed to help satisfy the setting of annex.numcopies, and preferred content configuration.+.IP+.IP "\-\-all"+Operate on all data that has been stored in the git annex,+including old versions of files. This is the default behavior when+running git\-annex in a bare repository; in a non\-bare repository the+normal behavior is to only operate on specified files in the working+tree.+.IP+.IP "\-\-unused"+Operate on all data that has been determined to be unused by+a previous run of git\-annex unused. .IP .IP "\-\-quiet" Avoid the default verbose display of what is done; only show errors
git-annex.cabal view
@@ -1,5 +1,5 @@ Name: git-annex-Version: 4.20130627+Version: 4.20130709 Cabal-Version: >= 1.8 License: GPL-3 Maintainer: Joey Hess <joey@kitenet.net>
standalone/android/Makefile view
@@ -114,7 +114,7 @@ $(GIT_ANNEX_ANDROID_SOURCETREE)/gnupg/build-stamp: 	cd $(GIT_ANNEX_ANDROID_SOURCETREE)/gnupg && git checkout gnupg-1.4.13 	cd $(GIT_ANNEX_ANDROID_SOURCETREE)/gnupg && ./autogen.sh-	cd $(GIT_ANNEX_ANDROID_SOURCETREE)/gnupg && ./configure --host=arm-linux-androideabi --disable-gnupg-iconv --enable-minimal --disable-card-support --disable-agent-support --disable-photo-viewers --disable-keyserver-helpers --disable-nls+	cd $(GIT_ANNEX_ANDROID_SOURCETREE)/gnupg && ./configure --host=arm-linux-androideabi --disable-gnupg-iconv --disable-card-support --disable-agent-support --disable-photo-viewers --disable-keyserver-helpers --disable-nls 	cd $(GIT_ANNEX_ANDROID_SOURCETREE)/gnupg; $(MAKE) || true # expected failure in doc build 	touch $@ 
+ standalone/android/start view

binary file changed (absent → 6874 bytes)