diff --git a/Annex/Direct.hs b/Annex/Direct.hs
--- a/Annex/Direct.hs
+++ b/Annex/Direct.hs
@@ -153,7 +153,7 @@
  -
  - A lock file is used to avoid races with any other caller of mergeDirect.
  - 
- - To avoid other git processes from making change to the index while our
+ - To avoid other git processes from making changes to the index while our
  - merge is in progress, the index lock file is used as the temp index
  - file. This is the same as what git does when updating the index
  - normally.
@@ -162,7 +162,8 @@
 mergeDirect startbranch oldref branch resolvemerge commitmode = exclusively $ do
 	reali <- liftIO . absPath =<< fromRepo indexFile
 	tmpi <- liftIO . absPath =<< fromRepo indexFileLock
-	liftIO $ copyFile reali tmpi
+	liftIO $ whenM (doesFileExist reali) $
+		copyFile reali tmpi
 
 	d <- fromRepo gitAnnexMergeDir
 	liftIO $ do
@@ -178,7 +179,8 @@
 		mergeDirectCleanup d (fromMaybe Git.Sha.emptyTree oldref)
 		mergeDirectCommit merged startbranch branch commitmode
 
-		liftIO $ rename tmpi reali
+		liftIO $ whenM (doesFileExist tmpi) $
+			rename tmpi reali
 
 		return r
   where
diff --git a/Assistant/WebApp/Configurators/AWS.hs b/Assistant/WebApp/Configurators/AWS.hs
--- a/Assistant/WebApp/Configurators/AWS.hs
+++ b/Assistant/WebApp/Configurators/AWS.hs
@@ -41,11 +41,12 @@
   where
 	needglaciercli = $(widgetFile "configurators/needglaciercli")
 
-data StorageClass = StandardRedundancy | ReducedRedundancy
+data StorageClass = StandardRedundancy | StandardInfrequentAccess | ReducedRedundancy
 	deriving (Eq, Enum, Bounded)
 
 instance Show StorageClass where
 	show StandardRedundancy = "STANDARD" 
+	show StandardInfrequentAccess = "STANDARD_IA"
 	show ReducedRedundancy = "REDUCED_REDUNDANCY"
 
 data AWSInput = AWSInput
@@ -75,6 +76,9 @@
 	storageclasses :: [(Text, StorageClass)]
 	storageclasses =
 		[ ("Standard redundancy", StandardRedundancy)
+#if MIN_VERSION_aws(0,13,0)
+		, ("Infrequent access (cheaper for backups and archives)", StandardInfrequentAccess)
+#endif
 		, ("Reduced redundancy (costs less)", ReducedRedundancy)
 		]
 
diff --git a/Assistant/WebApp/Configurators/Delete.hs b/Assistant/WebApp/Configurators/Delete.hs
--- a/Assistant/WebApp/Configurators/Delete.hs
+++ b/Assistant/WebApp/Configurators/Delete.hs
@@ -47,11 +47,6 @@
 		then deletionPage $ $(widgetFile "configurators/delete/xmpp")
 		else nonxmpp
 
-getDisableRepositoryR :: UUID -> Handler Html
-getDisableRepositoryR uuid = notCurrentRepo uuid $ handleXMPPRemoval uuid $ do
-	void $ liftAssistant $ disableRemote uuid
-	redirect DashboardR
-
 getDeleteRepositoryR :: UUID -> Handler Html
 getDeleteRepositoryR uuid = notCurrentRepo uuid $ handleXMPPRemoval uuid $ do
 	deletionPage $ do
diff --git a/Assistant/WebApp/routes b/Assistant/WebApp/routes
--- a/Assistant/WebApp/routes
+++ b/Assistant/WebApp/routes
@@ -87,7 +87,6 @@
 /config/repository/reorder RepositoriesReorderR GET
 
 /config/repository/syncnow/#UUID SyncNowRepositoryR GET
-/config/repository/disable/#UUID DisableRepositoryR GET
 
 /config/repository/delete/confirm/#UUID DeleteRepositoryR GET
 /config/repository/delete/start/#UUID StartDeleteRepositoryR GET
diff --git a/Build/DistributionUpdate.hs b/Build/DistributionUpdate.hs
--- a/Build/DistributionUpdate.hs
+++ b/Build/DistributionUpdate.hs
@@ -31,7 +31,7 @@
 -- it in the repository.
 autobuilds :: [(URLString, FilePath)]
 autobuilds = 
-	(map linuxarch ["i386", "amd64", "armel"]) ++
+	(map linuxarch ["i386", "amd64", "armel", "i386-ancient"]) ++
 	(map androidversion ["4.0", "4.3", "5.0"]) ++
 	[ (autobuild "x86_64-apple-yosemite/git-annex.dmg", "git-annex/OSX/current/10.10_Yosemite/git-annex.dmg")
 	, (autobuild "windows/git-annex-installer.exe", "git-annex/windows/current/git-annex-installer.exe")
diff --git a/CHANGELOG b/CHANGELOG
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,25 @@
+git-annex (5.20150930) unstable; urgency=medium
+
+  * Added new linux standalone "ancient" build to support kernels
+    like 2.6.32.
+  * info: Don't allow use in a non-git-annex repository, since it
+    uses the git-annex branch and would create it if it were missing.
+  * assistant: When updating ~/.ssh/config, preserve any symlinks.
+  * webapp: Remove the "disable remote" feature from the UI.
+  * S3: When built with aws-0.13.0, supports using more storage classes.
+    In particular, storageclass=STANDARD_IA to use Amazon's
+    new Infrequently Accessed storage, and storageclass=NEARLINE
+    to use Google's NearLine storage.
+  * Improve ~/.ssh/config modification code to not add trailing spaces
+    to lines it cannot parse.
+  * Fix a crash at direct mode merge time when .git/index doesn't exist
+    yet. Triggered by eg, git-annex sync --no-commit in a fresh clone of
+    a repository.
+  * status: Show added but not yet committed files.
+  * Added stack.yaml to support easy builds from source with stack.
+
+ -- Joey Hess <id@joeyh.name>  Wed, 30 Sep 2015 14:31:52 -0400
+
 git-annex (5.20150916) unstable; urgency=medium
 
   * Fix Windows build to work with ghc 7.10.
diff --git a/Command/Info.hs b/Command/Info.hs
--- a/Command/Info.hs
+++ b/Command/Info.hs
@@ -79,7 +79,7 @@
 type StatState = StateT StatInfo Annex
 
 cmd :: Command
-cmd = noCommit $ dontCheck repoExists $ withGlobalOptions (jsonOption : annexedMatchingOptions) $
+cmd = noCommit $ withGlobalOptions (jsonOption : annexedMatchingOptions) $
 	command "info" SectionQuery
 		"shows  information about the specified item or the repository as a whole"
 		(paramRepeating paramItem) (seek <$$> optParser)
diff --git a/Command/Status.hs b/Command/Status.hs
--- a/Command/Status.hs
+++ b/Command/Status.hs
@@ -1,6 +1,6 @@
 {- git-annex command
  -
- - Copyright 2013 Joey Hess <id@joeyh.name>
+ - Copyright 2013-2015 Joey Hess <id@joeyh.name>
  -
  - Licensed under the GNU GPL version 3 or higher.
  -}
@@ -12,9 +12,9 @@
 import Annex.CatFile
 import Annex.Content.Direct
 import Config
-import qualified Git.LsFiles as LsFiles
+import Git.Status
 import qualified Git.Ref
-import qualified Git
+import Git.FilePath
 
 cmd :: Command
 cmd = notBareRepo $ noCommit $ noMessages $ withGlobalOptions [jsonOption] $
@@ -24,68 +24,51 @@
 
 seek :: CmdParams -> CommandSeek
 seek = withWords start
-
-start :: [FilePath] -> CommandStart
-start [] = do
-	-- Like git status, when run without a directory, behave as if
-	-- given the path to the top of the repository.
-	top <- fromRepo Git.repoPath
-	d <- liftIO $ relPathCwdToFile top
-	start' [d]
-start locs = start' locs
 	
-start' :: [FilePath] -> CommandStart
-start' locs = do
-	(l, cleanup) <- inRepo $ LsFiles.modifiedOthers locs
+start :: [FilePath] -> CommandStart
+start locs = do
+	(l, cleanup) <- inRepo $ getStatus locs
 	getstatus <- ifM isDirect
 		( return statusDirect
-		, return $ Just <$$> statusIndirect
+		, return $ \s -> pure (Just s)
 		)
-	forM_ l $ \f -> maybe noop (showFileStatus f) =<< getstatus f
+	forM_ l $ \s -> maybe noop displayStatus =<< getstatus s
 	void $ liftIO cleanup
 	stop
 
-data Status 
-	= NewFile
-	| DeletedFile
-	| ModifiedFile
-
-showStatus :: Status -> String
-showStatus NewFile = "?"
-showStatus DeletedFile = "D"
-showStatus ModifiedFile = "M"
-
-showFileStatus :: FilePath -> Status -> Annex ()
-showFileStatus f s  = unlessM (showFullJSON [("status", ss), ("file", f)]) $
-	liftIO $ putStrLn $ ss ++ " " ++ f
-  where
-	ss = showStatus s
+displayStatus :: Status -> Annex ()
+-- renames not shown in this simplified status
+displayStatus (Renamed _ _) = noop
+displayStatus s  = do
+	let c = statusChar s
+	absf <- fromRepo $ fromTopFilePath (statusFile s)
+	f <- liftIO $ relPathCwdToFile absf
+	unlessM (showFullJSON [("status", [c]), ("file", f)]) $
+		liftIO $ putStrLn $ [c] ++ " " ++ f
 
-statusDirect :: FilePath -> Annex (Maybe Status)
-statusDirect f = checkstatus =<< liftIO (catchMaybeIO $ getFileStatus f)
+-- Git thinks that present direct mode files are typechanged;
+-- check their content to see if they are modified or not.
+statusDirect :: Status -> Annex (Maybe Status)
+statusDirect (TypeChanged t) = do
+	absf <- fromRepo $ fromTopFilePath t
+	f <- liftIO $ relPathCwdToFile absf
+	v <- liftIO (catchMaybeIO $ getFileStatus f)
+	case v  of
+		Nothing -> return $ Just $ Deleted t
+		Just s
+			| not (isSymbolicLink s) ->
+				checkkey f s =<< catKeyFile f
+			| otherwise -> Just <$> checkNew f t
   where
-	checkstatus Nothing = return $ Just DeletedFile
-	checkstatus (Just s)
-		-- Git thinks that present direct mode files are modifed,
-		-- so have to check.
-		| not (isSymbolicLink s) = checkkey s =<< catKeyFile f
-		| otherwise = Just <$> checkNew f
-	
-	checkkey s (Just k) = ifM (sameFileStatus k f s)
+	checkkey f s (Just k) = ifM (sameFileStatus k f s)
 		( return Nothing
-		, return $ Just ModifiedFile
+		, return $ Just $ Modified t
 		)
-	checkkey _ Nothing = Just <$> checkNew f
-
-statusIndirect :: FilePath -> Annex Status
-statusIndirect f = ifM (liftIO $ isJust <$> catchMaybeIO (getFileStatus f))
-	( checkNew f
-	, return DeletedFile
-	)
-  where
+	checkkey f _ Nothing = Just <$> checkNew f t
+statusDirect s = pure (Just s)
 
-checkNew :: FilePath -> Annex Status
-checkNew f = ifM (isJust <$> catObjectDetails (Git.Ref.fileRef f))
-	( return ModifiedFile
-	, return NewFile
+checkNew :: FilePath -> TopFilePath -> Annex Status
+checkNew f t = ifM (isJust <$> catObjectDetails (Git.Ref.fileRef f))
+	( return (Modified t)
+	, return (Untracked t)
 	)
diff --git a/Git/Status.hs b/Git/Status.hs
new file mode 100644
--- /dev/null
+++ b/Git/Status.hs
@@ -0,0 +1,76 @@
+{- git status interface
+ -
+ - Copyright 2015 Joey Hess <id@joeyh.name>
+ -
+ - Licensed under the GNU GPL version 3 or higher.
+ -}
+
+module Git.Status where
+
+import Common
+import Git
+import Git.Command
+import Git.FilePath
+
+data Status
+	= Modified TopFilePath
+	| Deleted TopFilePath
+	| Added TopFilePath
+	| Renamed TopFilePath TopFilePath
+	| TypeChanged TopFilePath
+	| Untracked TopFilePath
+
+statusChar :: Status -> Char
+statusChar (Modified _) = 'M'
+statusChar (Deleted _) = 'D'
+statusChar (Added _) = 'A'
+statusChar (Renamed _ _) = 'R'
+statusChar (TypeChanged _) = 'T'
+statusChar (Untracked _) = '?'
+
+statusFile :: Status -> TopFilePath
+statusFile (Modified f) = f
+statusFile (Deleted f) = f
+statusFile (Added f) = f
+statusFile (Renamed _oldf newf) = newf
+statusFile (TypeChanged f) = f
+statusFile (Untracked f) = f
+
+parseStatusZ :: [String] -> [Status]
+parseStatusZ = go []
+  where
+	go c [] = reverse c
+	go c (x:xs) = case x of
+		(sindex:sworktree:' ':f) -> 
+			-- Look at both the index and worktree status,
+			-- preferring worktree.
+			case cparse sworktree <|> cparse sindex of
+				Just mks -> go (mks (asTopFilePath f) : c) xs
+				Nothing -> if sindex == 'R'
+					-- In -z mode, the name the
+					-- file was renamed to comes
+					-- first, and the next component
+					-- is the old filename.
+					then case xs of
+						(oldf:xs') -> go (Renamed (asTopFilePath oldf) (asTopFilePath f) : c) xs'
+						_ -> go c []
+					else go c xs
+		_ -> go c xs
+
+	cparse 'M' = Just Modified
+	cparse 'A' = Just Added
+	cparse 'D' = Just Deleted
+	cparse 'T' = Just TypeChanged
+	cparse '?' = Just Untracked
+	cparse _ = Nothing
+
+getStatus :: [FilePath] -> Repo -> IO ([Status], IO Bool)
+getStatus l r = do
+	(ls, cleanup) <- pipeNullSplit params r
+	return (parseStatusZ ls, cleanup)
+  where
+	params =
+		[ Param "status"
+		, Param "-uall"
+		, Param "-z"
+		] ++ map File l
diff --git a/Remote/S3.hs b/Remote/S3.hs
--- a/Remote/S3.hs
+++ b/Remote/S3.hs
@@ -500,6 +500,9 @@
 getStorageClass :: RemoteConfig -> S3.StorageClass
 getStorageClass c = case M.lookup "storageclass" c of
 	Just "REDUCED_REDUNDANCY" -> S3.ReducedRedundancy
+#if MIN_VERSION_aws(0,13,0)
+	Just s -> S3.OtherStorageClass (T.pack s)
+#endif
 	_ -> S3.Standard
 
 getPartSize :: RemoteConfig -> Maybe Integer
diff --git a/Utility/Bloom.hs b/Utility/Bloom.hs
--- a/Utility/Bloom.hs
+++ b/Utility/Bloom.hs
@@ -53,7 +53,7 @@
 notElemB = Bloom.notElemB
 
 elemB :: a -> Bloom a -> Bool
-elemB = Bloom.elem
+elemB = Bloom.elemB
 
 newMB :: (a -> [Bloom.Hash]) -> Int -> ST s (Bloom.MBloom s a)
 newMB = Bloom.newMB
diff --git a/Utility/SshConfig.hs b/Utility/SshConfig.hs
--- a/Utility/SshConfig.hs
+++ b/Utility/SshConfig.hs
@@ -81,7 +81,8 @@
 	gen (GlobalConfig s) = [setting s]
 	gen (HostConfig h cs) = ("Host " ++ h) : map (either comment setting) cs
 
-	setting (SshSetting indent k v) = indent ++ k ++ " " ++ v
+	setting (SshSetting indent k v) = indent ++ k ++ 
+		if null v then "" else " " ++ v
 	comment (Comment indent c) = indent ++ c
 
 findHostConfigKey :: SshConfig -> Key -> Maybe Value
@@ -117,8 +118,11 @@
 	whenM (doesFileExist configfile) $ do
 		c <- readFileStrict configfile
 		let c' = modifier c
-		when (c /= c') $
-			viaTmp writeSshConfig configfile c'
+		when (c /= c') $ do
+			-- If it's a symlink, replace the file it
+			-- points to.
+			f <- catchDefaultIO configfile (canonicalizePath configfile)
+			viaTmp writeSshConfig f c'
 
 writeSshConfig :: FilePath -> String -> IO ()
 writeSshConfig f s = do
diff --git a/debian/changelog b/debian/changelog
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,25 @@
+git-annex (5.20150930) unstable; urgency=medium
+
+  * Added new linux standalone "ancient" build to support kernels
+    like 2.6.32.
+  * info: Don't allow use in a non-git-annex repository, since it
+    uses the git-annex branch and would create it if it were missing.
+  * assistant: When updating ~/.ssh/config, preserve any symlinks.
+  * webapp: Remove the "disable remote" feature from the UI.
+  * S3: When built with aws-0.13.0, supports using more storage classes.
+    In particular, storageclass=STANDARD_IA to use Amazon's
+    new Infrequently Accessed storage, and storageclass=NEARLINE
+    to use Google's NearLine storage.
+  * Improve ~/.ssh/config modification code to not add trailing spaces
+    to lines it cannot parse.
+  * Fix a crash at direct mode merge time when .git/index doesn't exist
+    yet. Triggered by eg, git-annex sync --no-commit in a fresh clone of
+    a repository.
+  * status: Show added but not yet committed files.
+  * Added stack.yaml to support easy builds from source with stack.
+
+ -- Joey Hess <id@joeyh.name>  Wed, 30 Sep 2015 14:31:52 -0400
+
 git-annex (5.20150916) unstable; urgency=medium
 
   * Fix Windows build to work with ghc 7.10.
diff --git a/doc/bugs/Support_non-default_storage_classes_with_Google_Cloud_Storage.mdwn b/doc/bugs/Support_non-default_storage_classes_with_Google_Cloud_Storage.mdwn
--- a/doc/bugs/Support_non-default_storage_classes_with_Google_Cloud_Storage.mdwn
+++ b/doc/bugs/Support_non-default_storage_classes_with_Google_Cloud_Storage.mdwn
@@ -1,6 +1,9 @@
 ### Please describe the problem.
 
-The S3 remote does not support Google Cloud Storage buckets with the Durable Reduced Availability or Nearline storage classes.  These are less-expensive alternatives to the Standard storage class, which would otherwise be a good fit for git-annex.
+The S3 remote does not support Google Cloud Storage buckets with the
+Durable Reduced Availability or Nearline storage classes.  These are
+less-expensive alternatives to the Standard storage class, which would
+otherwise be a good fit for git-annex.
 
 ### What steps will reproduce the problem?
 
@@ -87,5 +90,3 @@
 [2015-05-31 17:38:22 EDT] Response metadata: S3: request ID=<none>, x-amz-id-2=<none>
 git-annex: S3Error {s3StatusCode = Status {statusCode = 400, statusMessage = "Bad Request"}, s3ErrorCode = "InvalidArgument", s3ErrorMessage = "Invalid argument.", s3ErrorResource = Nothing, s3ErrorHostId = Nothing, s3ErrorAccessKeyId = Nothing, s3ErrorStringToSign = Nothing}
 """]]
-
-> This is a dup of [[todo/Nearline_support]] ; [[done]] --[[Joey]]
diff --git a/doc/bugs/cannot_change_locale___40__en__95__US.UTF-8__41__.mdwn b/doc/bugs/cannot_change_locale___40__en__95__US.UTF-8__41__.mdwn
--- a/doc/bugs/cannot_change_locale___40__en__95__US.UTF-8__41__.mdwn
+++ b/doc/bugs/cannot_change_locale___40__en__95__US.UTF-8__41__.mdwn
@@ -26,7 +26,3 @@
 he_IL.iso88598
 he_IL.utf8
 POSIX
-
-> Closing since I've seen nothing to indicate this is anything other than a
-> misconfigured OS that doesn't have the requested locale available.
-> [[done]] --[[Joey]]
diff --git a/doc/bugs/git-annex_rewrites_.ssh__47__config.mdwn b/doc/bugs/git-annex_rewrites_.ssh__47__config.mdwn
new file mode 100644
--- /dev/null
+++ b/doc/bugs/git-annex_rewrites_.ssh__47__config.mdwn
@@ -0,0 +1,17 @@
+### Please describe the problem.
+Running git annex assistant, my .ssh/config file is rewritten. First, it is a symlink, but then git-annex makes it into an actual file. Second, it adds a trailing whitespace to a generic host block:
+
+    Host
+        ForwardAgent no
+        ...
+
+### What steps will reproduce the problem?
+For the symlink, just make .ssh/config a symlink to the real thing. Have a generic host block will add trailing whitespace. Starting git annex assistant will rewrite .ssh/config.
+
+### What version of git-annex are you using? On what operating system?
+git-annex-5.20140717-8.fc24.x86_64
+
+### Have you had any luck using git-annex before? (Sometimes we get tired of reading bug reports all day and a lil' positive end note does wonders)
+Has worked wonders for syncing keepass files between devices; just now setting up assistant to do things automatically though :) .
+
+> [[fixed|done]] --[[Joey]]
diff --git a/doc/bugs/unannexed_files_are_immediately_re-annexed_by_assistant.mdwn b/doc/bugs/unannexed_files_are_immediately_re-annexed_by_assistant.mdwn
--- a/doc/bugs/unannexed_files_are_immediately_re-annexed_by_assistant.mdwn
+++ b/doc/bugs/unannexed_files_are_immediately_re-annexed_by_assistant.mdwn
@@ -2,3 +2,5 @@
 When using “git annex unlock”, the assistant is clever enough not to immediately re-add the corresponding files. When using “git annex unannex”, however, the assistant goes on to re-add the files right away. It would be convenient if this case were also handled likewise.
 
 git-annex 5.20150508
+
+> [[done]]; cannot be implemented. --[[Joey]]
diff --git a/doc/bugs/windows_installer_seems_have_been_broken.mdwn b/doc/bugs/windows_installer_seems_have_been_broken.mdwn
new file mode 100644
--- /dev/null
+++ b/doc/bugs/windows_installer_seems_have_been_broken.mdwn
@@ -0,0 +1,10 @@
+### Please describe the problem.
+
+decided to upgrade git-annex in our test virtualbox windows... upon upgrade (just running installer again with the default location for git), annex is not longer available:  http://www.onerussian.com/tmp/gkrellShoot_09-17-15_105547.png
+Replicated on another similar instance 
+
+### What steps will reproduce the problem?
+
+download exe from  https://downloads.kitenet.net/git-annex/windows/current/  (btw  I think I noted it reduced in size noteably)
+
+> [[done]] per my comment --[[Joey]]
diff --git a/doc/builds.mdwn b/doc/builds.mdwn
--- a/doc/builds.mdwn
+++ b/doc/builds.mdwn
@@ -12,6 +12,9 @@
 <h2>Linux armel</h2>
 <iframe width=1024 height=20em scrolling=no frameborder=0 marginheight=0 marginwidth=0 src="https://downloads.kitenet.net/git-annex/autobuild/armel/build-version">
 </iframe>
+<h2>Linux i386-ancient</h2>
+<iframe width=1024 height=20em scrolling=no frameborder=0 marginheight=0 marginwidth=0 src="https://downloads.kitenet.net/git-annex/autobuild/i386-ancient/build-version">
+</iframe>
 <h2>Android</h2>
 <iframe width=1024 height=20em scrolling=no frameborder=0 marginheight=0 marginwidth=0 src="https://downloads.kitenet.net/git-annex/autobuild/android/4.3/build-version">
 </iframe>
@@ -33,6 +36,9 @@
 </iframe>
 <h2>Linux armel</h2>
 <iframe width=1024 scrolling=no frameborder=0 marginheight=0 marginwidth=0 src="https://downloads.kitenet.net/git-annex/autobuild/armel/">
+</iframe>
+<h2>Linux i386-ancient</h2>
+<iframe width=1024 scrolling=no frameborder=0 marginheight=0 marginwidth=0 src="https://downloads.kitenet.net/git-annex/autobuild/i386-ancient/">
 </iframe>
 <h2>Android</h2>
 <iframe width=1024 scrolling=no frameborder=0 marginheight=0 marginwidth=0 src="https://downloads.kitenet.net/git-annex/autobuild/android/">
diff --git a/doc/coding_style/comment_3_61c178b997dd044f3531303913f8fa91._comment b/doc/coding_style/comment_3_61c178b997dd044f3531303913f8fa91._comment
new file mode 100644
--- /dev/null
+++ b/doc/coding_style/comment_3_61c178b997dd044f3531303913f8fa91._comment
@@ -0,0 +1,8 @@
+[[!comment format=mdwn
+ username="Don"
+ subject="Style for man pages?"
+ date="2015-09-28T10:00:45Z"
+ content="""
+Could you add some suggestions for editing the .mdwn files?  I'd like to help clean up a few (really minor) things I noticed, but I don't want to make more work for you with the changes I make.  One thing I'm not sure about is where to set my fill column when editing--I can't seem to pick any single value (79? 80?) that doesn't make some paragraphs change when I rewrap them.  Also, it might be helpful to have a quick guide for when you surround commands and other computer-y words with quotes, backticks, or nothing at all.
+   
+"""]]
diff --git a/doc/coding_style/comment_4_433b7ba5e51e746f6b033ebb5c0e50a2._comment b/doc/coding_style/comment_4_433b7ba5e51e746f6b033ebb5c0e50a2._comment
new file mode 100644
--- /dev/null
+++ b/doc/coding_style/comment_4_433b7ba5e51e746f6b033ebb5c0e50a2._comment
@@ -0,0 +1,22 @@
+[[!comment format=mdwn
+ username="joey"
+ subject="""man page style"""
+ date="2015-09-29T15:20:10Z"
+ content="""
+Well, I don't always word-wrap paras when re-editing them, and several
+people have had their hands on the man page and may have different wrapping
+settings. 
+
+My suggestion would be, if you need to re-wrap, or generally make
+whitespace changes, do it in a separate commit from other changes. 
+Similarly, make spelling corrections in a separate commit from any
+substance changes.
+
+Note that you can push man page commits directly to this site via git://
+protocol, so it's not going to use my time as long as there's a reasonable
+commit message.
+
+Use backticks around any command name or fragment of a command line. 
+Use quotes around program output, or other values that are not command
+names or switch names.
+"""]]
diff --git a/doc/design/assistant/polls/prioritizing_special_remotes.mdwn b/doc/design/assistant/polls/prioritizing_special_remotes.mdwn
--- a/doc/design/assistant/polls/prioritizing_special_remotes.mdwn
+++ b/doc/design/assistant/polls/prioritizing_special_remotes.mdwn
@@ -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 18 "Amazon S3 (done)" 13 "Amazon Glacier (done)" 10 "Box.com (done)" 74 "My phone (or MP3 player)" 27 "Tahoe-LAFS" 16 "OpenStack SWIFT" 36 "Google Drive"]]
+[[!poll open=yes 18 "Amazon S3 (done)" 13 "Amazon Glacier (done)" 10 "Box.com (done)" 74 "My phone (or MP3 player)" 27 "Tahoe-LAFS" 16 "OpenStack SWIFT" 37 "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
diff --git a/doc/devblog/day_319__release_day.mdwn b/doc/devblog/day_319__release_day.mdwn
new file mode 100644
--- /dev/null
+++ b/doc/devblog/day_319__release_day.mdwn
@@ -0,0 +1,6 @@
+Made the release this morning, first one in 3 weeks. A fair lot of good
+stuff in there.
+
+Just in time for the release, git-annex has support for
+[Ceph](http://ceph.com/). Thanks to Mesar Hameed for building 
+[the external special remote](https://github.com/mhameed/git-annex-remote-ceph)!
diff --git a/doc/devblog/day_320__caught_up.mdwn b/doc/devblog/day_320__caught_up.mdwn
new file mode 100644
--- /dev/null
+++ b/doc/devblog/day_320__caught_up.mdwn
@@ -0,0 +1,13 @@
+I've mostly been chewing through old and new bug reports and support
+requests that past several days. The backlog is waaay low now -- only 82
+messages! Just in time for me to go on another trip, to Louisville on
+Thursday.
+
+Amazon S3 added an "Infrequent Access" storage class last week, and I got a
+patch into the haskell-aws library to support that, as well as partially
+supporting Google Nearline. That patch was accepted today, and git-annex is
+ready to use the new version of the library as soon as it's released.
+
+At the end of today, I found myself rewriting `git annex status` to parse
+and adjust the output of `git status --short`. This new method makes it
+much more capable than before, including displaying Added files.
diff --git a/doc/encryption/comment_4_fe8b181adef9a39a039ff96a0d587188._comment b/doc/encryption/comment_4_fe8b181adef9a39a039ff96a0d587188._comment
new file mode 100644
--- /dev/null
+++ b/doc/encryption/comment_4_fe8b181adef9a39a039ff96a0d587188._comment
@@ -0,0 +1,11 @@
+[[!comment format=mdwn
+ username="joey"
+ subject="""listing gpg keys"""
+ date="2015-09-17T17:01:38Z"
+ content="""
+Run "git annex info specialremote" and it will describe the encryption
+settings of the remote, including gpg keys where applicable.
+
+Needs a fairly recent git-annex. `git show git-annex:remote.log` can
+also be used.
+"""]]
diff --git a/doc/forum/monitoring_disk_usage_by_different_repos_on_same_drive.mdwn b/doc/forum/monitoring_disk_usage_by_different_repos_on_same_drive.mdwn
new file mode 100644
--- /dev/null
+++ b/doc/forum/monitoring_disk_usage_by_different_repos_on_same_drive.mdwn
@@ -0,0 +1,7 @@
+I've setup a server using gitolite3 to host repositories for our users. All these repos share the same disk (2.5 Tb ;-). They're mainly used as backup of all contents.
+
+I'd like to monitor disk usage (possibly with statistics related to git-annex specificities) for these repos.
+
+Would anyone suggest a solution (web based maybe), for easily monitoring the growth of the repos storage ?
+
+Thanks in advance.
diff --git a/doc/git-annex-status.mdwn b/doc/git-annex-status.mdwn
--- a/doc/git-annex-status.mdwn
+++ b/doc/git-annex-status.mdwn
@@ -9,8 +9,10 @@
 # DESCRIPTION
 
 Similar to `git status --short`, this command displays the status of the files
-in the working tree. Shows files that are not checked into git, files that have
-been deleted, and files that have been modified.
+in the working tree. 
+
+Show files that are not checked into git (?), deleted (D),
+modified (M), added but not committed (A), and type changed/unlocked (T).
 
 Particularly useful in direct mode.
 
diff --git a/doc/install/Linux_standalone.mdwn b/doc/install/Linux_standalone.mdwn
--- a/doc/install/Linux_standalone.mdwn
+++ b/doc/install/Linux_standalone.mdwn
@@ -7,6 +7,7 @@
 
 * x86-32: [download tarball](https://downloads.kitenet.net/git-annex/linux/current/git-annex-standalone-i386.tar.gz)
 * x86-64: [download tarball](https://downloads.kitenet.net/git-annex/linux/current/git-annex-standalone-amd64.tar.gz)
+* x86-32, for ancient kernels: [download tarball](https://downloads.kitenet.net/git-annex/linux/current/git-annex-standalone-i386-ancient.tar.gz)
 * arm: [download tarball](https://downloads.kitenet.net/git-annex/linux/current/git-annex-standalone-armel.tar.gz)
 
 To use, just unpack the tarball, `cd git-annex.linux` and run `./runshell`
@@ -24,6 +25,10 @@
 * [[tips/Synology_NAS_and_git_annex]]
 * [[forum_thread|forum/new_linux_arm_tarball_build]]
 
+The build for ancient kernels is for use with Linux kernel versions
+such as 2.6.32. It is missing some features, like SHA3 support and
+the webapp. It will work on both 32 and 64 bit systems.
+
 ## autobuilds
 
 An hourly autobuild is also available, thanks to Mesar Hameed and the University
@@ -31,6 +36,7 @@
 
 * x86-32: [download tarball](https://downloads.kitenet.net/git-annex/autobuild/i386/git-annex-standalone-i386.tar.gz) ([build logs](https://downloads.kitenet.net/git-annex/autobuild/i386/))
 * x86-64: [download tarball](https://downloads.kitenet.net/git-annex/autobuild/amd64/git-annex-standalone-amd64.tar.gz) ([build logs](https://downloads.kitenet.net/git-annex/autobuild/amd64/))
+* x86-32, for ancient kernels: [download tarball](https://downloads.kitenet.net/git-annex/autobuild/i386-ancient/git-annex-standalone-i386-ancient.tar.gz) ([build logs](https://downloads.kitenet.net/git-annex/autobuild/i386-ancient/))
 
 The arm autobuilder runs daily, and is hosted at [WetKnee Books](http://www.wetknee.com/).
 
diff --git a/doc/install/Windows.mdwn b/doc/install/Windows.mdwn
--- a/doc/install/Windows.mdwn
+++ b/doc/install/Windows.mdwn
@@ -1,8 +1,8 @@
 git-annex now does Windows!
 
-* First, [install msysgit](http://git-scm.com/downloads) (msysgit 1.9 is needed)  
-  _Be sure to tell the installer to add git to the PATH._  
-  That is, select "Use Git from the Windows Command Prompt"
+* First, [install git for Windows](http://git-scm.com/downloads)  
+  Get the 32 bit version not the 64 bit version.  
+  (Note that msysgit is no longer supported.)
 * Then, [install git-annex](https://downloads.kitenet.net/git-annex/windows/current/)
 
 This port is now in reasonably good shape for command-line use of
@@ -19,8 +19,6 @@
 
 A daily build is also available, thanks to Yury V. Zaytsev and
 [NEST](http://nest-initiative.org/).
-
-This daily build now needs git for windows, not msysgit.
 
 * [download](https://downloads.kitenet.net/git-annex/autobuild/windows/) ([build logs](https://qa.nest-initiative.org/view/msysGit/job/msysgit-git-annex-assistant-test/))
 
diff --git a/doc/install/fromsource.mdwn b/doc/install/fromsource.mdwn
--- a/doc/install/fromsource.mdwn
+++ b/doc/install/fromsource.mdwn
@@ -34,17 +34,40 @@
 Now you can build git-annex by running either `make` or `cabal build`
 inside the source tree.
 
-## minimal build with cabal and stackage
+## building from source with stack
 
+Using stack automates nearly everything, will work on many systems,
+and avoids build failures due to fast-changing haskell libraries.
+
+First, [install stack](https://github.com/commercialhaskell/stack/blob/master/doc/install_and_upgrade.md)
+It will be part of the Haskell Platform soon. On Debian unstable/testing:
+
+	sudo apt-get install haskell-stack zlib1g-dev
+
+Use stack to install all dependencies and git-annex:
+
+	stack setup
+	stack install git-annex
+
+Move git-annex into some directory that is in your PATH:
+
+	mv ~/.local/bin/git-annex ~/bin # or /usr/local/bin/ or whatever
+
+Note that this build produces a git-annex without XMPP and DBUS support.
+These optional features are only used by the webapp, and require
+installing additional C libraries. To try to build with these features
+enabled, pass extra parameters when running stack: 
+`--flag git-annex:XMPP --flag git-annex:DBUS`
+
+## minimal build from source with cabal
+
 This can be done anywhere, and builds git-annex without some optional features
 that require harder-to-install C libraries. This is plenty to let you get started with
 git-annex, but it does not include the assistant or webapp.
 
 Be warned that this involves building a lot of Haskell libraries from
 source, and so it has a lot of moving parts, and it's not uncommon for it
-to be broken from time to time. A nice way to avoid such breakage is to
-[configure cabal to use the Stackage repository](http://www.stackage.org/),
-which is a more stable and consistent version of the Hackage repository.
+to be broken from time to time.
 
 Inside the source tree, run:
 
@@ -54,14 +77,12 @@
 	PATH=$HOME/bin:$PATH
 	cabal install --bindir=$HOME/bin
 
-## full build with cabal and stackage
+## full build from source with cabal
 
 To build with all features enabled, including the assistant and webapp,
 you will need to install several C libraries and their headers,
 including libgnutls, libgsasl, libxml2, and zlib. How to do that for
 your OS is beyond the scope of this page. 
-
-Using [Stackage](http://www.stackage.org/) is again a good idea here!
 
 Once the C libraries are installed, run inside the source tree:
 
diff --git a/doc/news/version_5.20150727.mdwn b/doc/news/version_5.20150727.mdwn
deleted file mode 100644
--- a/doc/news/version_5.20150727.mdwn
+++ /dev/null
@@ -1,35 +0,0 @@
-git-annex 5.20150727 released with [[!toggle text="these changes"]]
-[[!toggleable text="""
-   * Fix bug that prevented uploads to remotes using new-style chunking
-     from resuming after the last successfully uploaded chunk.
-   * Switched option parsing to use optparse-applicative. This was a very large
-     and invasive change, and may have caused some minor behavior changes to
-     edge cases of option parsing. (For example, the metadata command no
-     longer accepts the combination of --get and --set, which never actually
-     worked.)
-   * Bash completion file is now included in the git-annex source tree,
-     and installed into Debian package (and any other packages built using make
-     install). This bash completion is generated by the option parser, so it
-     covers all commands, all options, and will never go out of date!
-   * As well as tab completing "git-annex" commands, "git annex" will also tab
-     complete. However, git's bash completion script needs a patch,
-     which I've submitted, for this to work prefectly.
-   * version --raw now works when run outside a git repository.
-   * assistant --startdelay now works when run outside a git repository.
-   * dead now accepts multiple --key options.
-   * addurl now accepts --prefix and --suffix options to adjust the
-     filenames used.
-   * sync --content: Fix bug that caused files to be uploaded to eg,
-     more archive remotes than wanted copies, only to later be dropped
-     to satisfy the preferred content settings.
-   * importfeed: Improve detection of known items whose url has changed,
-     and avoid adding redundant files. Where before this only looked at
-     permalinks in rss feeds, it now also looks at guids.
-   * importfeed: Look at not only permalinks, but now also guids
-     to identify previously downloaded files.
-   * Webapp: Now features easy setup of git-annex repositories on gitlab.com.
-   * Adjust debian build deps: The webapp can now build on arm64, s390x
-     and hurd-i386. WebDAV support is also available on those architectures.
-   * Debian package now maintained by Richard Hartmann.
-   * Support building without persistent database on for systems that
-     lack TH. This removes support for incremental fsck."""]]
diff --git a/doc/news/version_5.20150731.mdwn b/doc/news/version_5.20150731.mdwn
deleted file mode 100644
--- a/doc/news/version_5.20150731.mdwn
+++ /dev/null
@@ -1,13 +0,0 @@
-git-annex 5.20150731 released with [[!toggle text="these changes"]]
-[[!toggleable text="""
-   * webapp: Support enabling known gitlab.com remotes.
-   * Fix rsync special remote to work when -Jn is used for concurrent
-     uploads.
-   * The last release accidentially removed a number of options from the
-     copy command. (-J, file matching options, etc). These have been added
-     back.
-   * init: Detect when the filesystem is crippled such that it ignores
-     attempts to remove the write bit from a file, and enable direct mode.
-     Seen with eg, NTFS fuse on linux.
-   * Fix man page installation by cabal install; all the new man pages are
-     now installed."""]]
diff --git a/doc/news/version_5.20150930.mdwn b/doc/news/version_5.20150930.mdwn
new file mode 100644
--- /dev/null
+++ b/doc/news/version_5.20150930.mdwn
@@ -0,0 +1,19 @@
+git-annex 5.20150930 released with [[!toggle text="these changes"]]
+[[!toggleable text="""
+   * Added new linux standalone "ancient" build to support kernels
+     like 2.6.32.
+   * info: Don't allow use in a non-git-annex repository, since it
+     uses the git-annex branch and would create it if it were missing.
+   * assistant: When updating ~/.ssh/config, preserve any symlinks.
+   * webapp: Remove the "disable remote" feature from the UI.
+   * S3: When built with aws-0.13.0, supports using more storage classes.
+     In particular, storageclass=STANDARD\_IA to use Amazon's
+     new Infrequently Accessed storage, and storageclass=NEARLINE
+     to use Google's NearLine storage.
+   * Improve ~/.ssh/config modification code to not add trailing spaces
+     to lines it cannot parse.
+   * Fix a crash at direct mode merge time when .git/index doesn't exist
+     yet. Triggered by eg, git-annex sync --no-commit in a fresh clone of
+     a repository.
+   * status: Show added but not yet committed files.
+   * Added stack.yaml to support easy builds from source with stack."""]]
diff --git a/doc/special_remotes/S3.mdwn b/doc/special_remotes/S3.mdwn
--- a/doc/special_remotes/S3.mdwn
+++ b/doc/special_remotes/S3.mdwn
@@ -37,9 +37,19 @@
   "us-west-1", "us-west-2", "ap-southeast-1", "ap-southeast-2", and
   "sa-east-1".
 
-* `storageclass` - Default is "STANDARD". If you have configured git-annex
-  to preserve multiple [[copies]], consider setting this to "REDUCED_REDUNDANCY"
-  to save money.
+* `storageclass` - Default is "STANDARD".  
+  Consult S3 provider documentation for pricing details and available
+  storage classes.
+
+  When using Amazon S3, if you have configured git-annex to preserve
+  multiple [[copies]], consider setting this to "REDUCED_REDUNDANCY"
+  to save money. Or, if the remote will be used for backup or archival,
+  and so its files are Infrequently Accessed, "STANDARD_IA" is also a
+  good choice to save money.
+
+  Note that changing the storage class of an existing S3 remote will
+  affect new objects sent to the remote, but not objects already
+  stored there.
 
 * `host` and `port` - Specify in order to use a different, S3 compatable
   service.
diff --git a/doc/tips/public_Amazon_S3_remote.mdwn b/doc/tips/public_Amazon_S3_remote.mdwn
--- a/doc/tips/public_Amazon_S3_remote.mdwn
+++ b/doc/tips/public_Amazon_S3_remote.mdwn
@@ -18,7 +18,7 @@
 	initremote pubs3 (checking bucket) (creating bucket in US) ok
 
 The public=yes is the crtical part; this lets the public read the contents
-of the bucket.
+of the bucket. (This feature needs git-annex 5.20150617 or newer.)
 
 In the above example, no encryption was used, but it will also work
 if you enable encryption=shared. Then files will be encrypted on S3, and
diff --git a/doc/todo/Facilitate_public_pretty_S3_URLs.mdwn b/doc/todo/Facilitate_public_pretty_S3_URLs.mdwn
--- a/doc/todo/Facilitate_public_pretty_S3_URLs.mdwn
+++ b/doc/todo/Facilitate_public_pretty_S3_URLs.mdwn
@@ -14,3 +14,7 @@
 The ideal solution in my mind is for git-annex to track the contents of S3 as they are now, preserving the URLs and tracking the checksums in a separate index file.
 
 Thank you!
+
+> I don't think this is something git-annex can usefully do.
+> Instead, see
+> <http://git-annex.branchable.com/tips/public_Amazon_S3_remote/>. [[done]] --[[Joey]]
diff --git a/doc/todo/Nearline_support.mdwn b/doc/todo/Nearline_support.mdwn
--- a/doc/todo/Nearline_support.mdwn
+++ b/doc/todo/Nearline_support.mdwn
@@ -2,3 +2,11 @@
 
 * [Announcement](http://googlecloudplatform.blogspot.in/2015/03/introducing-Google-Cloud-Storage-Nearline-near-online-data-at-an-offline-price.html)
 * <https://cloud.google.com/storage/docs/nearline-storage>
+
+> This is a dup of
+> [[bugs/Support_non-default_storage_classes_with_Google_Cloud_Storage]],
+> which has more useful info, so [[closing|done]].
+> 
+> However, that about using its S3 compatability API. There's an external
+> special remote just for nearline, which may be a better choice due to
+> using the native API, and already works. --[[Joey]]
diff --git a/doc/todo/deferred_update_mode.mdwn b/doc/todo/deferred_update_mode.mdwn
new file mode 100644
--- /dev/null
+++ b/doc/todo/deferred_update_mode.mdwn
@@ -0,0 +1,28 @@
+`git annex sync` and the assistant do a merge of new revs, and then
+download the content of files. However, this means that broken links can
+show up, when a file has changed, or a new file was added. In some
+workflows, the user would prefer not to ever see such broken links
+(or at least never for files that are in the repo's preferred content).
+
+So, how about a new mode, that defers updating the work tree until
+the content of everything wanted is available?
+
+This could be a annex.merge=downloadfirst setting; it would make sync/assistant
+look at the diff between HEAD and the new rev, and try to get all annexed files
+added in that diff, before merging it. 
+
+Of course, it could take a long time to get to see a new work tree.
+Might have to download a lot of content.
+
+What to do if it fails to download a file's content? Could either
+abort, leaving the current work tree as-is, or could go ahead and merge,
+letting broken links show up in this case. I kind of prefer the abort
+option. But, if the content never reaches any remote, or has gone missing
+entirely, that would make sync never succeed. That could be surprising
+behavior.
+
+Probably best to let the user pick either behavior, so
+annex.merge=trydownloadfirst and annex.merge=reqdownloadfirst
+
+Let `git annex merge` be used to force a merge, even when content is not
+available.
diff --git a/doc/todo/find_unused_in_any_commit.mdwn b/doc/todo/find_unused_in_any_commit.mdwn
--- a/doc/todo/find_unused_in_any_commit.mdwn
+++ b/doc/todo/find_unused_in_any_commit.mdwn
@@ -12,3 +12,6 @@
 gonna be slooow. Another optimisation would be to get only the objects
 changed by the commit, and not look at the whole tree as it appeared on
 each commit. --[[Joey]]
+
+> Closing, --used-refspec allows doing this kind of thing.
+> (It can indeed make it slow!) [[done]] --[[Joey]]
diff --git a/doc/todo/make_status_show_staged_files.mdwn b/doc/todo/make_status_show_staged_files.mdwn
--- a/doc/todo/make_status_show_staged_files.mdwn
+++ b/doc/todo/make_status_show_staged_files.mdwn
@@ -21,3 +21,5 @@
 ### What version of git-annex are you using? On what operating system?
 
 git-annex version: 5.20141024-g613f396
+
+> [[done]] --[[Joey]]
diff --git a/doc/todo/xmpp_removal.mdwn b/doc/todo/xmpp_removal.mdwn
new file mode 100644
--- /dev/null
+++ b/doc/todo/xmpp_removal.mdwn
@@ -0,0 +1,25 @@
+I'd like to eventually remove XMPP support from git-annex. --[[Joey]] 
+
+The XMPP feature makes git-annex harder to build (needs a lot of C
+libraries), and is increasingly rarely used.
+
+For over a year, git-annex-shell has been able to notify clients when a
+change lands in a git repo on a ssh server. This notification is the main
+thing XMPP support was used for. Even users without a ssh server of their
+own don't need XMPP for this; the feature is supported by GitLab.com.
+
+The only other advantages to keeping XMPP support are:
+
+* Supports peer-to-peer git push over XMPP. Except, this hack has never
+  worked very reliably, and exposes the git repo to the XMPP server,
+  and needing an XMPP server is not a pure p2p solution anyway.
+* Friend discovery and easy sharing of git repo to friends.
+
+It would be nice if there were a pure P2P replacement for XMPP, like
+telehash. But, can't wait on that forever..
+
+XMPP support is already disabled by default in some builds of git-annex,
+notably the stack build. It's never worked on Windows.
+
+Next step is probably to default the flag to false by default,
+except for in a few builds like the Debian package and standalone builds.
diff --git a/git-annex.cabal b/git-annex.cabal
--- a/git-annex.cabal
+++ b/git-annex.cabal
@@ -1,5 +1,5 @@
 Name: git-annex
-Version: 5.20150916
+Version: 5.20150930
 Cabal-Version: >= 1.8
 License: GPL-3
 Maintainer: Joey Hess <id@joeyh.name>
diff --git a/man/git-annex-status.1 b/man/git-annex-status.1
--- a/man/git-annex-status.1
+++ b/man/git-annex-status.1
@@ -7,8 +7,10 @@
 .PP
 .SH DESCRIPTION
 Similar to \fBgit status \-\-short\fP, this command displays the status of the files
-in the working tree. Shows files that are not checked into git, files that have
-been deleted, and files that have been modified.
+in the working tree. 
+.PP
+Show files that are not checked into git (?), deleted (D),
+modified (M), added but not committed (A), and type changed/unlocked (T).
 .PP
 Particularly useful in direct mode.
 .PP
diff --git a/stack.yaml b/stack.yaml
new file mode 100644
--- /dev/null
+++ b/stack.yaml
@@ -0,0 +1,31 @@
+flags:
+  git-annex:
+    asciiprogress: false
+    tahoe: true
+    tdfa: true
+    inotify: true
+    feed: true
+    database: true
+    webapp-secure: true
+    production: true
+    ekg: false
+    assistant: true
+    pairing: true
+    cryptonite: true
+    xmpp: false
+    network-uri: true
+    s3: true
+    dbus: false
+    testsuite: true
+    webdav: true
+    torrentparser: true
+    android: false
+    androidsplice: false
+    quvi: true
+    dns: true
+    desktopnotify: true
+    webapp: true
+packages:
+- '.'
+extra-deps: []
+resolver: lts-3.7
diff --git a/templates/repolist.hamlet b/templates/repolist.hamlet
--- a/templates/repolist.hamlet
+++ b/templates/repolist.hamlet
@@ -60,9 +60,6 @@
                       <a href="@{SyncNowRepositoryR $ asUUID repoid}">
                         <span .glyphicon .glyphicon-refresh>
                         \ Sync now
-                      <a href="@{DisableRepositoryR $ asUUID repoid}">
-                        <span .glyphicon .glyphicon-minus>
-                        \ Disable
                       <a href="@{DeleteRepositoryR $ asUUID repoid}">
                         <span .glyphicon .glyphicon-trash>
                         \ Delete
