From b55499d039c5e35130057b8af16401c558e79e79 Mon Sep 17 00:00:00 2001 From: Unknwon Date: Sun, 8 Nov 2015 14:31:49 -0500 Subject: go vet and fix #1890 --- cmd/serve.go | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'cmd') diff --git a/cmd/serve.go b/cmd/serve.go index c3c66318..301a0c74 100644 --- a/cmd/serve.go +++ b/cmd/serve.go @@ -74,7 +74,14 @@ var ( func fail(userMessage, logMessage string, args ...interface{}) { fmt.Fprintln(os.Stderr, "Gogs:", userMessage) - log.GitLogger.Fatal(3, logMessage, args...) + + if len(logMessage) > 0 { + log.GitLogger.Fatal(3, logMessage, args...) + return + } + + log.GitLogger.Close() + os.Exit(1) } func handleUpdateTask(uuid string, user *models.User, repoUserName, repoName string) { @@ -161,6 +168,11 @@ func runServ(c *cli.Context) { fail("Unknown git command", "Unknown git command %s", verb) } + // Prohibit push to mirror repositories. + if requestedMode > models.ACCESS_MODE_READ && repo.IsMirror { + fail("mirror repository is read-only", "") + } + // Allow anonymous clone for public repositories. var ( keyID int64 -- cgit v1.2.3