@@ -10,11 +10,12 @@ import (
1010 "os/exec"
1111 "path"
1212 "path/filepath"
13- "strconv"
1413 "strings"
1514
1615 "github.com/codegangsta/cli"
1716
17+ "github.com/Unknwon/com"
18+
1819 "github.com/gogits/gogs/models"
1920 "github.com/gogits/gogs/modules/log"
2021 "github.com/gogits/gogs/modules/setting"
@@ -81,22 +82,22 @@ func runServ(k *cli.Context) {
8182 keys := strings .Split (os .Args [2 ], "-" )
8283 if len (keys ) != 2 {
8384 println ("Gogs: auth file format error" )
84- log .GitLogger .Fatal ("Invalid auth file format: %s" , os .Args [2 ])
85+ log .GitLogger .Fatal (2 , "Invalid auth file format: %s" , os .Args [2 ])
8586 }
8687
87- keyId , err := strconv . ParseInt (keys [1 ], 10 , 64 )
88+ keyId , err := com . StrTo (keys [1 ]). Int64 ( )
8889 if err != nil {
8990 println ("Gogs: auth file format error" )
90- log .GitLogger .Fatal ("Invalid auth file format: %v" , err )
91+ log .GitLogger .Fatal (2 , "Invalid auth file format: %v" , err )
9192 }
9293 user , err := models .GetUserByKeyId (keyId )
9394 if err != nil {
9495 if err == models .ErrUserNotKeyOwner {
9596 println ("Gogs: you are not the owner of SSH key" )
96- log .GitLogger .Fatal ("Invalid owner of SSH key: %d" , keyId )
97+ log .GitLogger .Fatal (2 , "Invalid owner of SSH key: %d" , keyId )
9798 }
9899 println ("Gogs: internal error:" , err )
99- log .GitLogger .Fatal ("Fail to get user by key ID(%d): %v" , keyId , err )
100+ log .GitLogger .Fatal (2 , "Fail to get user by key ID(%d): %v" , keyId , err )
100101 }
101102
102103 cmd := os .Getenv ("SSH_ORIGINAL_COMMAND" )
@@ -110,7 +111,7 @@ func runServ(k *cli.Context) {
110111 rr := strings .SplitN (repoPath , "/" , 2 )
111112 if len (rr ) != 2 {
112113 println ("Gogs: unavailable repository" , args )
113- log .GitLogger .Fatal ("Unavailable repository: %v" , args )
114+ log .GitLogger .Fatal (2 , "Unavailable repository: %v" , args )
114115 }
115116 repoUserName := rr [0 ]
116117 repoName := strings .TrimSuffix (rr [1 ], ".git" )
@@ -122,10 +123,10 @@ func runServ(k *cli.Context) {
122123 if err != nil {
123124 if err == models .ErrUserNotExist {
124125 println ("Gogs: given repository owner are not registered" )
125- log .GitLogger .Fatal ("Unregistered owner: %s" , repoUserName )
126+ log .GitLogger .Fatal (2 , "Unregistered owner: %s" , repoUserName )
126127 }
127128 println ("Gogs: internal error:" , err )
128- log .GitLogger .Fatal ("Fail to get repository owner(%s): %v" , repoUserName , err )
129+ log .GitLogger .Fatal (2 , "Fail to get repository owner(%s): %v" , repoUserName , err )
129130 }
130131
131132 // Access check.
@@ -134,20 +135,20 @@ func runServ(k *cli.Context) {
134135 has , err := models .HasAccess (user .Name , path .Join (repoUserName , repoName ), models .WRITABLE )
135136 if err != nil {
136137 println ("Gogs: internal error:" , err )
137- log .GitLogger .Fatal ("Fail to check write access:" , err )
138+ log .GitLogger .Fatal (2 , "Fail to check write access:" , err )
138139 } else if ! has {
139140 println ("You have no right to write this repository" )
140- log .GitLogger .Fatal ("User %s has no right to write repository %s" , user .Name , repoPath )
141+ log .GitLogger .Fatal (2 , "User %s has no right to write repository %s" , user .Name , repoPath )
141142 }
142143 case isRead :
143144 repo , err := models .GetRepositoryByName (repoUser .Id , repoName )
144145 if err != nil {
145146 if err == models .ErrRepoNotExist {
146147 println ("Gogs: given repository does not exist" )
147- log .GitLogger .Fatal ("Repository does not exist: %s/%s" , repoUser .Name , repoName )
148+ log .GitLogger .Fatal (2 , "Repository does not exist: %s/%s" , repoUser .Name , repoName )
148149 }
149150 println ("Gogs: internal error:" , err )
150- log .GitLogger .Fatal ("Fail to get repository: %v" , err )
151+ log .GitLogger .Fatal (2 , "Fail to get repository: %v" , err )
151152 }
152153
153154 if ! repo .IsPrivate {
@@ -157,10 +158,10 @@ func runServ(k *cli.Context) {
157158 has , err := models .HasAccess (user .Name , path .Join (repoUserName , repoName ), models .READABLE )
158159 if err != nil {
159160 println ("Gogs: internal error:" , err )
160- log .GitLogger .Fatal ("Fail to check read access:" , err )
161+ log .GitLogger .Fatal (2 , "Fail to check read access:" , err )
161162 } else if ! has {
162163 println ("You have no right to access this repository" )
163- log .GitLogger .Fatal ("User %s has no right to read repository %s" , user .Name , repoPath )
164+ log .GitLogger .Fatal (2 , "User %s has no right to read repository %s" , user .Name , repoPath )
164165 }
165166 default :
166167 println ("Unknown command" )
@@ -175,29 +176,27 @@ func runServ(k *cli.Context) {
175176 gitcmd .Stdout = os .Stdout
176177 gitcmd .Stdin = os .Stdin
177178 gitcmd .Stderr = os .Stderr
178- err = gitcmd .Run ()
179- if err != nil {
180- println ("Gogs: internal error:" , err )
181- log .GitLogger .Fatal ("Fail to execute git command: %v" , err )
179+ if err = gitcmd .Run (); err != nil {
180+ println ("Gogs: internal error:" , err .Error ())
181+ log .GitLogger .Fatal (2 , "Fail to execute git command: %v" , err )
182182 }
183183
184184 if isWrite {
185185 tasks , err := models .GetUpdateTasksByUuid (uuid )
186186 if err != nil {
187- log .GitLogger .Fatal ("Fail to get update task: %v" , err )
187+ log .GitLogger .Fatal (2 , "Fail to get update task: %v" , err )
188188 }
189189
190190 for _ , task := range tasks {
191191 err = models .Update (task .RefName , task .OldCommitId , task .NewCommitId ,
192192 user .Name , repoUserName , repoName , user .Id )
193193 if err != nil {
194- log .GitLogger .Fatal ("Fail to update: %v" , err )
194+ log .GitLogger .Fatal (2 , "Fail to update: %v" , err )
195195 }
196196 }
197197
198- err = models .DelUpdateTasksByUuid (uuid )
199- if err != nil {
200- log .GitLogger .Fatal ("Fail to del update task: %v" , err )
198+ if err = models .DelUpdateTasksByUuid (uuid ); err != nil {
199+ log .GitLogger .Fatal (2 , "Fail to del update task: %v" , err )
201200 }
202201 }
203202}
0 commit comments