webapp: Avoid confusing display of dead remotes.

This commit is contained in:
Joey Hess 2016-05-12 16:12:16 -04:00
parent a261a05c15
commit dd260706af
Failed to extract signature
3 changed files with 28 additions and 1 deletions

View file

@ -138,7 +138,10 @@ repoList reposelector
liftAnnex $ do
unwanted <- S.fromList
<$> filterM inUnwantedGroup (map Remote.uuid syncremotes)
rs <- filter selectedrepo . concat . Remote.byCost
trustmap <- trustMap
rs <- filter (\r -> M.lookup (Remote.uuid r) trustmap /= Just DeadTrusted)
. filter selectedrepo
. concat . Remote.byCost
<$> Remote.remoteList
let l = flip map (map mkRepoId rs) $ \r -> case r of
(RepoUUID u)

1
debian/changelog vendored
View file

@ -2,6 +2,7 @@ git-annex (6.20160512) UNRELEASED; urgency=medium
* Change git annex info remote encryption description to use wording
closer to what's used in initremote.
* webapp: Avoid confusing display of dead remotes.
-- Joey Hess <id@joeyh.name> Wed, 11 May 2016 16:08:38 -0400

View file

@ -0,0 +1,23 @@
[[!comment format=mdwn
username="joey"
subject="""comment 3"""
date="2016-05-12T19:52:49Z"
content="""
Looking at the code, the RepoList looks at syncRemotes to decide if a
remote is syncing or not. The edit form instead looks at remoteAnnexSync
from the remote's gitconfig. So, seems syncRemotes for some reason does
not include this remote, despite its gitconfig saying to sync with it.
Well, calcSyncRemotes starts with remoteAnnexSync but also excludes Dead
repos. And indeed, when a repo is dead, it behaves as shown.
So, `git annex semitrust Kapsel` should get it back to syncing with that
remote. Assuming it's not dead for a reason.
The webapp UI doesn't currently indicate when a remote is dead. I think you
can only get into this state by running `git annex dead` at the command line
though.
Simple fix is to not make the webapp display dead remotes in the
RepoList at all. Done.
"""]]