Mirroring fails when a public repo goes private


It appears mirroring will fail for all repositories when one mirror goes from public to private on GitHub (and you don’t have access once it’s private).

Symptoms shown:

  • No updates synced
  • Trying to add a new mirror: 500 error with DB locked


  • Gogs: (latest available via port on FreeBSD)
  • Go: 1.11.1
  • DB: sqlite3

I’m not able to reproduce this as I don’t have a paid GitHub account.

To identify it, I ran git fetch in the affected .git folder and I was presented with a username/password request. I suspect the mirroring handler doesn’t expect this and gets stuck forever.


Hi, thanks for the feedback! If you don’t mind, please file an issue on GitHub about this scenario, thanks!