diff --git a/doc/bugs/annex-checkuuid_renders_remotes_inaccessible/comment_1_451498fab01ae745eb33d42da8682ad3._comment b/doc/bugs/annex-checkuuid_renders_remotes_inaccessible/comment_1_451498fab01ae745eb33d42da8682ad3._comment new file mode 100644 index 0000000000..b88e5f7d87 --- /dev/null +++ b/doc/bugs/annex-checkuuid_renders_remotes_inaccessible/comment_1_451498fab01ae745eb33d42da8682ad3._comment @@ -0,0 +1,28 @@ +[[!comment format=mdwn + username="joey" + subject="""comment 1""" + date="2018-06-04T16:44:39Z" + content=""" +I think checkuuid=false has always had this problem; it's never been +actually usable. + +Problem is that checkuuid=false prevents reading the git config, so +the Repo is LocalUnknown, and such repositories are assumed to not be +currently available to use. + +To get from LocalUnknown to Local, it would have to read the repo's +config to determine if the repo is bare or not. But reading the repo's +config every time is exactly what checkuuid=false is intended to prevent. + +Only path I can see is to make the DeferredUUIDCheck that's done +with checkuuid=false return the Local Repo. That could be done in +Remote.Git. But, other modules use Remote.repo to look at the Repo too, +including Command.Sync, and Assistant.TransferSlots. Remote.repo can't +be updated after it's constructed without some mess of updating the remote +list, which does not seem like a good idea. Seems that Remote.repo would +need to be converted to an IO action. + +(So would Remote.gitconfig, which incidentally doesn't contain the config +of the remote when checkuuid=false, which could also be considered a bug +with checkuuid=false.) +"""]]