mirror of https://github.com/gogs/gogs.git
log: migrate to unknwon.dev/clog/v2 (#5927)
* Add unknwon.dev/clog/v2 * Update all placespull/5932/head
parent
422a206484
commit
1c09373b4f
|
@ -113,14 +113,14 @@ admin_password = Password
|
|||
confirm_password = Confirm Password
|
||||
admin_email = Admin Email
|
||||
install_gogs = Install Gogs
|
||||
test_git_failed = Fail to test 'git' command: %v
|
||||
test_git_failed = Failed to test 'git' command: %v
|
||||
sqlite3_not_available = Your release version does not support SQLite3, please download the official binary version from %s, NOT the gobuild version.
|
||||
invalid_db_setting = Database setting is not correct: %v
|
||||
invalid_repo_path = Repository root path is invalid: %v
|
||||
run_user_not_match = Run user isn't the current user: %s -> %s
|
||||
smtp_host_missing_port = SMTP Host port missing from address.
|
||||
invalid_smtp_from = SMTP From field is invalid: %v
|
||||
save_config_failed = Fail to save configuration: %v
|
||||
save_config_failed = Failed to save configuration: %v
|
||||
invalid_admin_setting = Admin account setting is invalid: %v
|
||||
install_success = Welcome! We're glad that you chose Gogs, have fun and take care.
|
||||
invalid_log_root_path = Log root path is invalid: %v
|
||||
|
@ -1231,7 +1231,7 @@ config.mailer_subject_prefix = Subject Prefix
|
|||
config.mailer_host = Host
|
||||
config.mailer_user = User
|
||||
config.send_test_mail = Send Test Email
|
||||
config.test_mail_failed = Fail to send test email to '%s': %v
|
||||
config.test_mail_failed = Failed to send test email to '%s': %v
|
||||
config.test_mail_sent = Test email has been sent to '%s'.
|
||||
|
||||
config.oauth_config = OAuth Configuration
|
||||
|
|
8
go.mod
8
go.mod
|
@ -6,7 +6,7 @@ require (
|
|||
github.com/bgentry/speakeasy v0.1.0 // indirect
|
||||
github.com/denisenkom/go-mssqldb v0.0.0-20191001013358-cfbb681360f0
|
||||
github.com/editorconfig/editorconfig-core-go/v2 v2.2.1
|
||||
github.com/fatih/color v1.7.0 // indirect
|
||||
github.com/fatih/color v1.9.0 // indirect
|
||||
github.com/go-macaron/binding v1.0.1
|
||||
github.com/go-macaron/cache v0.0.0-20190810181446-10f7c57e2196
|
||||
github.com/go-macaron/captcha v0.0.0-20190813234938-24f40749f36d
|
||||
|
@ -30,8 +30,7 @@ require (
|
|||
github.com/klauspost/compress v1.8.6 // indirect
|
||||
github.com/klauspost/cpuid v1.2.1 // indirect
|
||||
github.com/lib/pq v1.2.0
|
||||
github.com/mattn/go-colorable v0.1.4 // indirect
|
||||
github.com/mattn/go-isatty v0.0.10 // indirect
|
||||
github.com/mattn/go-isatty v0.0.12 // indirect
|
||||
github.com/mattn/go-runewidth v0.0.4 // indirect
|
||||
github.com/mattn/go-sqlite3 v1.11.0
|
||||
github.com/mcuadros/go-version v0.0.0-20190830083331-035f6764e8d2
|
||||
|
@ -56,14 +55,15 @@ require (
|
|||
github.com/urfave/cli v1.22.1
|
||||
golang.org/x/crypto v0.0.0-20200214034016-1d94cc7ab1c6
|
||||
golang.org/x/net v0.0.0-20191014212845-da9a3fd4c582
|
||||
golang.org/x/sys v0.0.0-20200219091948-cb0a6d8edb6c // indirect
|
||||
golang.org/x/text v0.3.2
|
||||
gopkg.in/alexcesaro/quotedprintable.v3 v3.0.0-20150716171945-2caba252f4dc // indirect
|
||||
gopkg.in/asn1-ber.v1 v1.0.0-20181015200546-f715ec2f112d // indirect
|
||||
gopkg.in/clog.v1 v1.2.0
|
||||
gopkg.in/gomail.v2 v2.0.0-20160411212932-81ebce5c23df
|
||||
gopkg.in/ini.v1 v1.52.0
|
||||
gopkg.in/ldap.v2 v2.5.1
|
||||
gopkg.in/macaron.v1 v1.3.4
|
||||
unknwon.dev/clog/v2 v2.1.0
|
||||
xorm.io/builder v0.3.6
|
||||
xorm.io/core v0.7.2
|
||||
xorm.io/xorm v0.8.0
|
||||
|
|
29
go.sum
29
go.sum
|
@ -13,6 +13,7 @@ github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24
|
|||
github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8=
|
||||
github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM=
|
||||
github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw=
|
||||
github.com/bgentry/speakeasy v0.1.0 h1:ByYyxL9InA1OWqxJqqp2A5pYHUrCiAL6K3J+LKSsQkY=
|
||||
github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs=
|
||||
github.com/blang/semver v3.5.1+incompatible h1:cQNTCjp13qL8KC3Nbxr/y2Bqb63oX6wdnnjpJbkM4JQ=
|
||||
github.com/blang/semver v3.5.1+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk=
|
||||
|
@ -43,6 +44,8 @@ github.com/editorconfig/editorconfig-core-go/v2 v2.2.1/go.mod h1:6XDmqAZsQu8ikS+
|
|||
github.com/edsrzf/mmap-go v1.0.0/go.mod h1:YO35OhQPt3KJa3ryjFM5Bs14WD66h8eGKpfaBNrHW5M=
|
||||
github.com/fatih/color v1.7.0 h1:DkWD4oS2D8LGGgTQ6IvwJJXSL5Vp2ffcQg58nFV38Ys=
|
||||
github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4=
|
||||
github.com/fatih/color v1.9.0 h1:8xPHl4/q1VyqGIPif1F+1V3Y3lSmrq01EabUW3CoW5s=
|
||||
github.com/fatih/color v1.9.0/go.mod h1:eQcE1qtQxscV5RaZvpXrrb8Drkc3/DdQ+uUYCNjL+zU=
|
||||
github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
|
||||
github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as=
|
||||
github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as=
|
||||
|
@ -69,6 +72,7 @@ github.com/go-macaron/toolbox v0.0.0-20190813233741-94defb8383c6/go.mod h1:YFNJ/
|
|||
github.com/go-sql-driver/mysql v1.4.1 h1:g24URVg0OFbNUTx9qqY1IRZ9D9z3iPyi5zKhQZpNwpA=
|
||||
github.com/go-sql-driver/mysql v1.4.1/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w=
|
||||
github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
|
||||
github.com/go-xorm/sqlfiddle v0.0.0-20180821085327-62ce714f951a h1:9wScpmSP5A3Bk8V3XHWUcJmYTh+ZnlHVyc+A4oZYS3Y=
|
||||
github.com/go-xorm/sqlfiddle v0.0.0-20180821085327-62ce714f951a/go.mod h1:56xuuqnHyryaerycW3BfssRdxQstACi0Epw/yC5E2xM=
|
||||
github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ=
|
||||
github.com/gogo/protobuf v1.2.0/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ=
|
||||
|
@ -82,6 +86,7 @@ github.com/gogs/go-gogs-client v0.0.0-20200128182646-c69cb7680fd4 h1:C7NryI/RQhs
|
|||
github.com/gogs/go-gogs-client v0.0.0-20200128182646-c69cb7680fd4/go.mod h1:fR6z1Ie6rtF7kl/vBYMfgD5/G5B1blui7z426/sj2DU=
|
||||
github.com/gogs/go-libravatar v0.0.0-20191106065024-33a75213d0a0 h1:K02vod+sn3M1OOkdqi2tPxN2+xESK4qyITVQ3JkGEv4=
|
||||
github.com/gogs/go-libravatar v0.0.0-20191106065024-33a75213d0a0/go.mod h1:Zas3BtO88pk1cwUfEYlvnl/CRwh0ybDxRWSwRjG8I3w=
|
||||
github.com/gogs/minwinsvc v0.0.0-20170301035411-95be6356811a h1:8DZwxETOVWIinYxDK+i6L+rMb7eGATGaakD6ZucfHVk=
|
||||
github.com/gogs/minwinsvc v0.0.0-20170301035411-95be6356811a/go.mod h1:TUIZ+29jodWQ8Gk6Pvtg4E09aMsc3C/VLZiVYfUhWQU=
|
||||
github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe h1:lXe2qZdvpiX5WZkZR4hgp4KJVfY3nMkvmwbVkpv1rVY=
|
||||
github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe/go.mod h1:8vg3r2VgvsThLBIFL93Qb5yWzgyZWhEmBwUJWevAkK0=
|
||||
|
@ -96,6 +101,7 @@ github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod h1:/XxbfmMg8l
|
|||
github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
|
||||
github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
|
||||
github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M=
|
||||
github.com/google/go-cmp v0.3.0 h1:crn/baboCvb5fXaQ0IJ1SGTsTVrWpDsCWC8EGETZijY=
|
||||
github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
|
||||
github.com/google/go-github v17.0.0+incompatible h1:N0LgJ1j65A7kfXrZnUDaYCs/Sf4rEjNlfyDHW9dolSY=
|
||||
github.com/google/go-github v17.0.0+incompatible/go.mod h1:zLgOLi98H3fifZn+44m+umXrS52loVEgC2AApnigrVQ=
|
||||
|
@ -107,11 +113,13 @@ github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OI
|
|||
github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg=
|
||||
github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY=
|
||||
github.com/gopherjs/gopherjs v0.0.0-20181103185306-d547d1d9531e/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY=
|
||||
github.com/gopherjs/gopherjs v0.0.0-20190430165422-3e4dfb77656c h1:7lF+Vz0LqiRidnzC1Oq86fpX1q/iEv2KJdrCtttYjT4=
|
||||
github.com/gopherjs/gopherjs v0.0.0-20190430165422-3e4dfb77656c/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY=
|
||||
github.com/gorilla/context v1.1.1/go.mod h1:kBGZzfjB9CEq2AlWe17Uuf7NDRt0dE0s8S51q0aT7Yg=
|
||||
github.com/gorilla/mux v1.6.2/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs=
|
||||
github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
|
||||
github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU=
|
||||
github.com/issue9/assert v1.3.1 h1:L8pRpbnzMIPFJqrMKR/oG03uWrtVeZyYBpI2U2Jx1JE=
|
||||
github.com/issue9/assert v1.3.1/go.mod h1:9Ger+iz8X7r1zMYYwEhh++2wMGWcNN2oVI+zIQXxcio=
|
||||
github.com/issue9/identicon v1.0.1 h1:pCDfjMDM6xWK0Chxo8Lif+ST/nOEtmXgMITgV1YA9Og=
|
||||
github.com/issue9/identicon v1.0.1/go.mod h1:UKNVkUFI68RPz/RlLhsAr1aX6bBSaYEWRHVfdjrMUmk=
|
||||
|
@ -132,8 +140,10 @@ github.com/klauspost/cpuid v1.2.1 h1:vJi+O/nMdFt0vqm8NZBI6wzALWdA2X+egi0ogNyrC/w
|
|||
github.com/klauspost/cpuid v1.2.1/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek=
|
||||
github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
|
||||
github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc=
|
||||
github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI=
|
||||
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
|
||||
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
|
||||
github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE=
|
||||
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
|
||||
github.com/lib/pq v1.0.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo=
|
||||
github.com/lib/pq v1.2.0 h1:LXpIM/LZ5xGFhOpXAQUIMM1HdyqzVYM13zNdjCEEcA0=
|
||||
|
@ -145,9 +155,13 @@ github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVc
|
|||
github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s=
|
||||
github.com/mattn/go-isatty v0.0.10 h1:qxFzApOv4WsAL965uUPIsXzAKCZxN2p9UqdhFS4ZW10=
|
||||
github.com/mattn/go-isatty v0.0.10/go.mod h1:qgIWMr58cqv1PHHyhnkY9lrL7etaEgOFcMEpPG5Rm84=
|
||||
github.com/mattn/go-isatty v0.0.11/go.mod h1:PhnuNfih5lzO57/f3n+odYbM4JtupLOxQOAqxQCu2WE=
|
||||
github.com/mattn/go-isatty v0.0.12 h1:wuysRhFDzyxgEmMf5xjvJ2M9dZoWAXNNr5LSBS7uHXY=
|
||||
github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU=
|
||||
github.com/mattn/go-runewidth v0.0.4 h1:2BvfKmzob6Bmd4YsL0zygOqfdFnK7GR4QL06Do4/p7Y=
|
||||
github.com/mattn/go-runewidth v0.0.4/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU=
|
||||
github.com/mattn/go-sqlite3 v1.10.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc=
|
||||
github.com/mattn/go-sqlite3 v1.11.0 h1:LDdKkqtYlom37fkvqs8rMPFKAMe8+SgjbwZ6ex1/A/Q=
|
||||
github.com/mattn/go-sqlite3 v1.11.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc=
|
||||
github.com/matttproud/golang_protobuf_extensions v1.0.1 h1:4hp9jkHxhMHkqkrB3Ix0jegS5sx/RkqARlsWZ6pIwiU=
|
||||
github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0=
|
||||
|
@ -162,6 +176,7 @@ github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJ
|
|||
github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
|
||||
github.com/modern-go/reflect2 v1.0.1 h1:9f412s+6RmYXLWZSEzVVgPGK7C2PphHj5RJrvfx9AWI=
|
||||
github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
|
||||
github.com/msteinert/pam v0.0.0-20190215180659-f29b9f28d6f9 h1:ZivaaKmjs9q90zi6I4gTLW6tbVGtlBjellr3hMYaly0=
|
||||
github.com/msteinert/pam v0.0.0-20190215180659-f29b9f28d6f9/go.mod h1:np1wUFZ6tyoke22qDJZY40URn9Ae51gX7ljIWXN5TJs=
|
||||
github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U=
|
||||
github.com/nfnt/resize v0.0.0-20180221191011-83c6a9932646 h1:zYyBkD/k9seD2A7fsi6Oo2LfFZAehjjQMERAvZLEDnQ=
|
||||
|
@ -208,6 +223,7 @@ github.com/russross/blackfriday v1.5.2 h1:HyvC0ARfnZBqnXwABFeSZHpKvJHJJfPz81GNue
|
|||
github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g=
|
||||
github.com/russross/blackfriday/v2 v2.0.1 h1:lPqVAte+HuHNfhJ/0LC98ESWRz8afy9tM/0RK8m9o+Q=
|
||||
github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
|
||||
github.com/saintfish/chardet v0.0.0-20120816061221-3af4cd4741ca h1:NugYot0LIVPxTvN8n+Kvkn6TrbMyxQiuvKdEwFdR9vI=
|
||||
github.com/saintfish/chardet v0.0.0-20120816061221-3af4cd4741ca/go.mod h1:uugorj2VCxiV1x+LzaIdVa9b4S4qGAcH6cbhh4qVxOU=
|
||||
github.com/satori/go.uuid v1.2.0 h1:0uYX9dsZ2yD7q2RtLRtPSdGDWzjeM3TbMJP9utgA0ww=
|
||||
github.com/satori/go.uuid v1.2.0/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdhQKdks0=
|
||||
|
@ -249,6 +265,7 @@ github.com/unknwon/paginater v0.0.0-20170405233947-45e5d631308e h1:Qf3QQl/zmEbWD
|
|||
github.com/unknwon/paginater v0.0.0-20170405233947-45e5d631308e/go.mod h1:TBwoao3Q4Eb/cp+dHbXDfRTrZSsj/k7kLr2j1oWRWC0=
|
||||
github.com/urfave/cli v1.22.1 h1:+mkCCcOFKPnCmVYVcURKps1Xe+3zP90gSYGNfRkjoIY=
|
||||
github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0=
|
||||
github.com/ziutek/mymysql v1.5.4 h1:GB0qdRGsTwQSBVYuVShFBKaXSnSnYYC2d9knnE1LHFs=
|
||||
github.com/ziutek/mymysql v1.5.4/go.mod h1:LMSpPZ6DbqWFxNCHW77HeMg9I646SAhApZ/wKdgO/C0=
|
||||
go.opencensus.io v0.20.1/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk=
|
||||
golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
|
||||
|
@ -297,7 +314,12 @@ golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7w
|
|||
golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20190804053845-51ab0e2deafa/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20191008105621-543471e840be/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20191010194322-b09406accb47 h1:/XfQ9z7ib8eEJX2hdgFTZJ/ntt0swNk5oYBziWeTCvY=
|
||||
golang.org/x/sys v0.0.0-20191010194322-b09406accb47/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20200219091948-cb0a6d8edb6c h1:jceGD5YNJGgGMkJz79agzOln1K9TaZUjv5ird16qniQ=
|
||||
golang.org/x/sys v0.0.0-20200219091948-cb0a6d8edb6c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
||||
golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
||||
golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs=
|
||||
|
@ -316,6 +338,7 @@ google.golang.org/api v0.3.1/go.mod h1:6wY9I6uQWHQ8EM57III9mq/AjF+i8G65rmVagqKMt
|
|||
google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
|
||||
google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
|
||||
google.golang.org/appengine v1.6.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
|
||||
google.golang.org/appengine v1.6.1 h1:QzqyMA1tlu6CgqCDUtU9V+ZKhLFT2dkJuANu5QaxI3I=
|
||||
google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0=
|
||||
google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
|
||||
google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
|
||||
|
@ -323,15 +346,15 @@ google.golang.org/genproto v0.0.0-20190404172233-64821d5d2107/go.mod h1:VzzqZJRn
|
|||
google.golang.org/grpc v1.17.0/go.mod h1:6QZJwpn2B+Zp71q/5VxRsJ6NXXVCE5NRUHRo+f3cWCs=
|
||||
google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
|
||||
gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw=
|
||||
gopkg.in/alexcesaro/quotedprintable.v3 v3.0.0-20150716171945-2caba252f4dc h1:2gGKlE2+asNV9m7xrywl36YYNnBG5ZQ0r/BOOxqPpmk=
|
||||
gopkg.in/alexcesaro/quotedprintable.v3 v3.0.0-20150716171945-2caba252f4dc/go.mod h1:m7x9LTH6d71AHyAX77c9yqWCCa3UKHcVEj9y7hAtKDk=
|
||||
gopkg.in/asn1-ber.v1 v1.0.0-20181015200546-f715ec2f112d h1:TxyelI5cVkbREznMhfzycHdkp5cLA7DpE+GKjSslYhM=
|
||||
gopkg.in/asn1-ber.v1 v1.0.0-20181015200546-f715ec2f112d/go.mod h1:cuepJuh7vyXfUyUwEgHQXw849cJrilpS5NeIjOWESAw=
|
||||
gopkg.in/bufio.v1 v1.0.0-20140618132640-567b2bfa514e h1:wGA78yza6bu/mWcc4QfBuIEHEtc06xdiU0X8sY36yUU=
|
||||
gopkg.in/bufio.v1 v1.0.0-20140618132640-567b2bfa514e/go.mod h1:xsQCaysVCudhrYTfzYWe577fCe7Ceci+6qjO2Rdc0Z4=
|
||||
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY=
|
||||
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||
gopkg.in/clog.v1 v1.2.0 h1:BHfwHRNQy497iBNsRBassPixSAxRbn2z5KVkdBFbwxc=
|
||||
gopkg.in/clog.v1 v1.2.0/go.mod h1:L6fgdpdhFgKX4eGuDvt+N6X2GwZE160NRrIHzvaF8ZM=
|
||||
gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys=
|
||||
gopkg.in/gomail.v2 v2.0.0-20160411212932-81ebce5c23df h1:n7WqCuqOuCbNr617RXOY0AWRXxgwEyPp2z+p0+hgMuE=
|
||||
gopkg.in/gomail.v2 v2.0.0-20160411212932-81ebce5c23df/go.mod h1:LRQQ+SO6ZHR7tOkpBDuZnXENFzX8qRjMDMyPD6BRkCw=
|
||||
|
@ -352,6 +375,8 @@ gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
|
|||
honnef.co/go/tools v0.0.0-20180728063816-88497007e858/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
|
||||
honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
|
||||
honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
|
||||
unknwon.dev/clog/v2 v2.1.0 h1:4iXteBnL9ESvxoNkiaWx4UTU6yEgEmDxFaMANyiq4b8=
|
||||
unknwon.dev/clog/v2 v2.1.0/go.mod h1:zvUlyibDHI4mykYdWyWje2G9nF/nBzfDOqRo2my4mWc=
|
||||
xorm.io/builder v0.3.6 h1:ha28mQ2M+TFx96Hxo+iq6tQgnkC9IZkM6D8w9sKHHF8=
|
||||
xorm.io/builder v0.3.6/go.mod h1:LEFAPISnRzG+zxaxj2vPicRwz67BdhFreKg8yv8/TgU=
|
||||
xorm.io/core v0.7.2 h1:mEO22A2Z7a3fPaZMk6gKL/jMD80iiyNwRrX5HOv3XLw=
|
||||
|
|
4
gogs.go
4
gogs.go
|
@ -11,7 +11,7 @@ import (
|
|||
"os"
|
||||
|
||||
"github.com/urfave/cli"
|
||||
log "gopkg.in/clog.v1"
|
||||
log "unknwon.dev/clog/v2"
|
||||
|
||||
"gogs.io/gogs/internal/cmd"
|
||||
"gogs.io/gogs/internal/setting"
|
||||
|
@ -39,6 +39,6 @@ func main() {
|
|||
cmd.Restore,
|
||||
}
|
||||
if err := app.Run(os.Args); err != nil {
|
||||
log.Fatal(2, "Failed to run: %v", err)
|
||||
log.Fatal("Failed to start application: %v", err)
|
||||
}
|
||||
}
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -2432,7 +2432,7 @@ func repoView_fileTmpl() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "repo/view_file.tmpl", size: 4983, mode: os.FileMode(0644), modTime: time.Unix(1571173927, 0)}
|
||||
info := bindataFileInfo{name: "repo/view_file.tmpl", size: 4983, mode: os.FileMode(0644), modTime: time.Unix(1582133193, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xa2, 0x6f, 0xd7, 0xaa, 0xde, 0x42, 0x19, 0xb3, 0x6e, 0xe6, 0x56, 0xa5, 0x78, 0x70, 0xda, 0x65, 0x6, 0xf7, 0x52, 0xa7, 0x53, 0x56, 0xec, 0xcb, 0x8e, 0x59, 0x94, 0x0, 0x44, 0x4b, 0xb5, 0x23}}
|
||||
return a, nil
|
||||
}
|
||||
|
|
|
@ -10,8 +10,8 @@ import (
|
|||
|
||||
"github.com/go-macaron/session"
|
||||
gouuid "github.com/satori/go.uuid"
|
||||
log "gopkg.in/clog.v1"
|
||||
"gopkg.in/macaron.v1"
|
||||
log "unknwon.dev/clog/v2"
|
||||
|
||||
"gogs.io/gogs/internal/db"
|
||||
"gogs.io/gogs/internal/db/errors"
|
||||
|
@ -52,13 +52,13 @@ func SignedInID(c *macaron.Context, sess session.Store) (_ int64, isTokenAuth bo
|
|||
t, err := db.GetAccessTokenBySHA(tokenSHA)
|
||||
if err != nil {
|
||||
if !db.IsErrAccessTokenNotExist(err) && !db.IsErrAccessTokenEmpty(err) {
|
||||
log.Error(2, "GetAccessTokenBySHA: %v", err)
|
||||
log.Error("GetAccessTokenBySHA: %v", err)
|
||||
}
|
||||
return 0, false
|
||||
}
|
||||
t.Updated = time.Now()
|
||||
if err = db.UpdateAccessToken(t); err != nil {
|
||||
log.Error(2, "UpdateAccessToken: %v", err)
|
||||
log.Error("UpdateAccessToken: %v", err)
|
||||
}
|
||||
return t.UID, true
|
||||
}
|
||||
|
@ -71,7 +71,7 @@ func SignedInID(c *macaron.Context, sess session.Store) (_ int64, isTokenAuth bo
|
|||
if id, ok := uid.(int64); ok {
|
||||
if _, err := db.GetUserByID(id); err != nil {
|
||||
if !errors.IsUserNotExist(err) {
|
||||
log.Error(2, "GetUserByID: %v", err)
|
||||
log.Error("GetUserByID: %v", err)
|
||||
}
|
||||
return 0, false
|
||||
}
|
||||
|
@ -96,7 +96,7 @@ func SignedInUser(ctx *macaron.Context, sess session.Store) (_ *db.User, isBasic
|
|||
u, err := db.GetUserByName(webAuthUser)
|
||||
if err != nil {
|
||||
if !errors.IsUserNotExist(err) {
|
||||
log.Error(2, "GetUserByName: %v", err)
|
||||
log.Error("GetUserByName: %v", err)
|
||||
return nil, false, false
|
||||
}
|
||||
|
||||
|
@ -110,7 +110,7 @@ func SignedInUser(ctx *macaron.Context, sess session.Store) (_ *db.User, isBasic
|
|||
}
|
||||
if err = db.CreateUser(u); err != nil {
|
||||
// FIXME: should I create a system notice?
|
||||
log.Error(2, "CreateUser: %v", err)
|
||||
log.Error("CreateUser: %v", err)
|
||||
return nil, false, false
|
||||
} else {
|
||||
return u, false, false
|
||||
|
@ -131,7 +131,7 @@ func SignedInUser(ctx *macaron.Context, sess session.Store) (_ *db.User, isBasic
|
|||
u, err := db.UserLogin(uname, passwd, -1)
|
||||
if err != nil {
|
||||
if !errors.IsUserNotExist(err) {
|
||||
log.Error(2, "UserLogin: %v", err)
|
||||
log.Error("UserLogin: %v", err)
|
||||
}
|
||||
return nil, false, false
|
||||
}
|
||||
|
@ -144,7 +144,7 @@ func SignedInUser(ctx *macaron.Context, sess session.Store) (_ *db.User, isBasic
|
|||
|
||||
u, err := db.GetUserByID(uid)
|
||||
if err != nil {
|
||||
log.Error(2, "GetUserByID: %v", err)
|
||||
log.Error("GetUserByID: %v", err)
|
||||
return nil, false, false
|
||||
}
|
||||
return u, false, isTokenAuth
|
||||
|
|
|
@ -11,8 +11,8 @@ import (
|
|||
"fmt"
|
||||
"strings"
|
||||
|
||||
log "gopkg.in/clog.v1"
|
||||
"gopkg.in/ldap.v2"
|
||||
log "unknwon.dev/clog/v2"
|
||||
)
|
||||
|
||||
type SecurityProtocol int
|
||||
|
@ -130,7 +130,7 @@ func (ls *Source) findUserDN(l *ldap.Conn, name string) (string, bool) {
|
|||
|
||||
userDN := sr.Entries[0].DN
|
||||
if userDN == "" {
|
||||
log.Error(2, "LDAP: Search was successful, but found no DN!")
|
||||
log.Error("LDAP: Search was successful, but found no DN!")
|
||||
return "", false
|
||||
}
|
||||
|
||||
|
@ -183,7 +183,7 @@ func (ls *Source) SearchEntry(name, passwd string, directBind bool) (string, str
|
|||
}
|
||||
l, err := dial(ls)
|
||||
if err != nil {
|
||||
log.Error(2, "LDAP connect failed for '%s': %v", ls.Host, err)
|
||||
log.Error("LDAP connect failed for '%s': %v", ls.Host, err)
|
||||
return "", "", "", "", false, false
|
||||
}
|
||||
defer l.Close()
|
||||
|
@ -229,7 +229,7 @@ func (ls *Source) SearchEntry(name, passwd string, directBind bool) (string, str
|
|||
|
||||
sr, err := l.Search(search)
|
||||
if err != nil {
|
||||
log.Error(2, "LDAP: User search failed: %v", err)
|
||||
log.Error("LDAP: User search failed: %v", err)
|
||||
return "", "", "", "", false, false
|
||||
} else if len(sr.Entries) < 1 {
|
||||
if directBind {
|
||||
|
@ -266,7 +266,7 @@ func (ls *Source) SearchEntry(name, passwd string, directBind bool) (string, str
|
|||
|
||||
srg, err := l.Search(groupSearch)
|
||||
if err != nil {
|
||||
log.Error(2, "LDAP: Group search failed: %v", err)
|
||||
log.Error("LDAP: Group search failed: %v", err)
|
||||
return "", "", "", "", false, false
|
||||
} else if len(srg.Entries) < 1 {
|
||||
log.Trace("LDAP: Group search returned no entries")
|
||||
|
@ -308,7 +308,7 @@ func (ls *Source) SearchEntry(name, passwd string, directBind bool) (string, str
|
|||
|
||||
sr, err = l.Search(search)
|
||||
if err != nil {
|
||||
log.Error(2, "LDAP: Admin search failed: %v", err)
|
||||
log.Error("LDAP: Admin search failed: %v", err)
|
||||
} else if len(sr.Entries) < 1 {
|
||||
log.Trace("LDAP: Admin search returned no entries")
|
||||
} else {
|
||||
|
|
|
@ -144,7 +144,7 @@ func runCreateUser(c *cli.Context) error {
|
|||
setting.CustomConf = c.String("config")
|
||||
}
|
||||
|
||||
setting.NewContext()
|
||||
setting.Init()
|
||||
db.LoadConfigs()
|
||||
db.SetEngine()
|
||||
|
||||
|
@ -168,7 +168,7 @@ func adminDashboardOperation(operation func() error, successMessage string) func
|
|||
setting.CustomConf = c.String("config")
|
||||
}
|
||||
|
||||
setting.NewContext()
|
||||
setting.Init()
|
||||
db.LoadConfigs()
|
||||
db.SetEngine()
|
||||
|
||||
|
|
|
@ -14,8 +14,8 @@ import (
|
|||
"github.com/unknwon/cae/zip"
|
||||
"github.com/unknwon/com"
|
||||
"github.com/urfave/cli"
|
||||
log "gopkg.in/clog.v1"
|
||||
"gopkg.in/ini.v1"
|
||||
log "unknwon.dev/clog/v2"
|
||||
|
||||
"gogs.io/gogs/internal/db"
|
||||
"gogs.io/gogs/internal/setting"
|
||||
|
@ -47,17 +47,17 @@ func runBackup(c *cli.Context) error {
|
|||
if c.IsSet("config") {
|
||||
setting.CustomConf = c.String("config")
|
||||
}
|
||||
setting.NewContext()
|
||||
setting.Init()
|
||||
db.LoadConfigs()
|
||||
db.SetEngine()
|
||||
|
||||
tmpDir := c.String("tempdir")
|
||||
if !com.IsExist(tmpDir) {
|
||||
log.Fatal(0, "'--tempdir' does not exist: %s", tmpDir)
|
||||
log.Fatal("'--tempdir' does not exist: %s", tmpDir)
|
||||
}
|
||||
rootDir, err := ioutil.TempDir(tmpDir, "gogs-backup-")
|
||||
if err != nil {
|
||||
log.Fatal(0, "Fail to create backup root directory '%s': %v", rootDir, err)
|
||||
log.Fatal("Failed to create backup root directory '%s': %v", rootDir, err)
|
||||
}
|
||||
log.Info("Backup root directory: %s", rootDir)
|
||||
|
||||
|
@ -68,7 +68,7 @@ func runBackup(c *cli.Context) error {
|
|||
metadata.Section("").Key("DATE_TIME").SetValue(time.Now().String())
|
||||
metadata.Section("").Key("GOGS_VERSION").SetValue(setting.AppVersion)
|
||||
if err = metadata.SaveTo(metaFile); err != nil {
|
||||
log.Fatal(0, "Fail to save metadata '%s': %v", metaFile, err)
|
||||
log.Fatal("Failed to save metadata '%s': %v", metaFile, err)
|
||||
}
|
||||
|
||||
archiveName := path.Join(c.String("target"), c.String("archive-name"))
|
||||
|
@ -76,25 +76,25 @@ func runBackup(c *cli.Context) error {
|
|||
|
||||
z, err := zip.Create(archiveName)
|
||||
if err != nil {
|
||||
log.Fatal(0, "Fail to create backup archive '%s': %v", archiveName, err)
|
||||
log.Fatal("Failed to create backup archive '%s': %v", archiveName, err)
|
||||
}
|
||||
if err = z.AddFile(_ARCHIVE_ROOT_DIR+"/metadata.ini", metaFile); err != nil {
|
||||
log.Fatal(0, "Fail to include 'metadata.ini': %v", err)
|
||||
log.Fatal("Failed to include 'metadata.ini': %v", err)
|
||||
}
|
||||
|
||||
// Database
|
||||
dbDir := path.Join(rootDir, "db")
|
||||
if err = db.DumpDatabase(dbDir); err != nil {
|
||||
log.Fatal(0, "Fail to dump database: %v", err)
|
||||
log.Fatal("Failed to dump database: %v", err)
|
||||
}
|
||||
if err = z.AddDir(_ARCHIVE_ROOT_DIR+"/db", dbDir); err != nil {
|
||||
log.Fatal(0, "Fail to include 'db': %v", err)
|
||||
log.Fatal("Failed to include 'db': %v", err)
|
||||
}
|
||||
|
||||
// Custom files
|
||||
if !c.Bool("database-only") {
|
||||
if err = z.AddDir(_ARCHIVE_ROOT_DIR+"/custom", setting.CustomPath); err != nil {
|
||||
log.Fatal(0, "Fail to include 'custom': %v", err)
|
||||
log.Fatal("Failed to include 'custom': %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -107,7 +107,7 @@ func runBackup(c *cli.Context) error {
|
|||
}
|
||||
|
||||
if err = z.AddDir(path.Join(_ARCHIVE_ROOT_DIR+"/data", dir), dirPath); err != nil {
|
||||
log.Fatal(0, "Fail to include 'data': %v", err)
|
||||
log.Fatal("Failed to include 'data': %v", err)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -117,21 +117,21 @@ func runBackup(c *cli.Context) error {
|
|||
reposDump := path.Join(rootDir, "repositories.zip")
|
||||
log.Info("Dumping repositories in '%s'", setting.RepoRootPath)
|
||||
if err = zip.PackTo(setting.RepoRootPath, reposDump, true); err != nil {
|
||||
log.Fatal(0, "Fail to dump repositories: %v", err)
|
||||
log.Fatal("Failed to dump repositories: %v", err)
|
||||
}
|
||||
log.Info("Repositories dumped to: %s", reposDump)
|
||||
|
||||
if err = z.AddFile(_ARCHIVE_ROOT_DIR+"/repositories.zip", reposDump); err != nil {
|
||||
log.Fatal(0, "Fail to include 'repositories.zip': %v", err)
|
||||
log.Fatal("Failed to include 'repositories.zip': %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
if err = z.Close(); err != nil {
|
||||
log.Fatal(0, "Fail to save backup archive '%s': %v", archiveName, err)
|
||||
log.Fatal("Failed to save backup archive '%s': %v", archiveName, err)
|
||||
}
|
||||
|
||||
os.RemoveAll(rootDir)
|
||||
log.Info("Backup succeed! Archive is located at: %s", archiveName)
|
||||
log.Shutdown()
|
||||
log.Stop()
|
||||
return nil
|
||||
}
|
||||
|
|
|
@ -16,7 +16,7 @@ import (
|
|||
|
||||
"github.com/unknwon/com"
|
||||
"github.com/urfave/cli"
|
||||
log "gopkg.in/clog.v1"
|
||||
log "unknwon.dev/clog/v2"
|
||||
|
||||
"github.com/gogs/git-module"
|
||||
|
||||
|
@ -129,7 +129,7 @@ func runHookPreReceive(c *cli.Context) error {
|
|||
output, err := git.NewCommand("rev-list", "--max-count=1", oldCommitID, "^"+newCommitID).
|
||||
RunInDir(db.RepoPath(os.Getenv(db.ENV_REPO_OWNER_NAME), os.Getenv(db.ENV_REPO_NAME)))
|
||||
if err != nil {
|
||||
fail("Internal error", "Fail to detect force push: %v", err)
|
||||
fail("Internal error", "Failed to detect force push: %v", err)
|
||||
} else if len(output) > 0 {
|
||||
fail(fmt.Sprintf("Branch '%s' is protected from force push", branchName), "")
|
||||
}
|
||||
|
@ -151,7 +151,7 @@ func runHookPreReceive(c *cli.Context) error {
|
|||
hookCmd.Stdin = buf
|
||||
hookCmd.Stderr = os.Stderr
|
||||
if err := hookCmd.Run(); err != nil {
|
||||
fail("Internal error", "Fail to execute custom pre-receive hook: %v", err)
|
||||
fail("Internal error", "Failed to execute custom pre-receive hook: %v", err)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
@ -185,7 +185,7 @@ func runHookUpdate(c *cli.Context) error {
|
|||
hookCmd.Stdin = os.Stdin
|
||||
hookCmd.Stderr = os.Stderr
|
||||
if err := hookCmd.Run(); err != nil {
|
||||
fail("Internal error", "Fail to execute custom pre-receive hook: %v", err)
|
||||
fail("Internal error", "Failed to execute custom pre-receive hook: %v", err)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
@ -229,7 +229,7 @@ func runHookPostReceive(c *cli.Context) error {
|
|||
RepoName: os.Getenv(db.ENV_REPO_NAME),
|
||||
}
|
||||
if err := db.PushUpdate(options); err != nil {
|
||||
log.Error(2, "PushUpdate: %v", err)
|
||||
log.Error("PushUpdate: %v", err)
|
||||
}
|
||||
|
||||
// Ask for running deliver hook and test pull request tasks
|
||||
|
@ -245,10 +245,10 @@ func runHookPostReceive(c *cli.Context) error {
|
|||
if err == nil {
|
||||
resp.Body.Close()
|
||||
if resp.StatusCode/100 != 2 {
|
||||
log.Error(2, "Fail to trigger task: not 2xx response code")
|
||||
log.Error("Failed to trigger task: not 2xx response code")
|
||||
}
|
||||
} else {
|
||||
log.Error(2, "Fail to trigger task: %v", err)
|
||||
log.Error("Failed to trigger task: %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -268,7 +268,7 @@ func runHookPostReceive(c *cli.Context) error {
|
|||
hookCmd.Stdin = buf
|
||||
hookCmd.Stderr = os.Stderr
|
||||
if err := hookCmd.Run(); err != nil {
|
||||
fail("Internal error", "Fail to execute custom post-receive hook: %v", err)
|
||||
fail("Internal error", "Failed to execute custom post-receive hook: %v", err)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
|
|
@ -58,7 +58,7 @@ func runImportLocale(c *cli.Context) error {
|
|||
setting.CustomConf = c.String("config")
|
||||
}
|
||||
|
||||
setting.NewContext()
|
||||
setting.Init()
|
||||
|
||||
now := time.Now()
|
||||
|
||||
|
|
|
@ -12,8 +12,8 @@ import (
|
|||
"github.com/unknwon/cae/zip"
|
||||
"github.com/unknwon/com"
|
||||
"github.com/urfave/cli"
|
||||
log "gopkg.in/clog.v1"
|
||||
"gopkg.in/ini.v1"
|
||||
log "unknwon.dev/clog/v2"
|
||||
|
||||
"gogs.io/gogs/internal/db"
|
||||
"gogs.io/gogs/internal/setting"
|
||||
|
@ -48,12 +48,12 @@ func runRestore(c *cli.Context) error {
|
|||
|
||||
tmpDir := c.String("tempdir")
|
||||
if !com.IsExist(tmpDir) {
|
||||
log.Fatal(0, "'--tempdir' does not exist: %s", tmpDir)
|
||||
log.Fatal("'--tempdir' does not exist: %s", tmpDir)
|
||||
}
|
||||
|
||||
log.Info("Restore backup from: %s", c.String("from"))
|
||||
if err := zip.ExtractTo(c.String("from"), tmpDir); err != nil {
|
||||
log.Fatal(0, "Failed to extract backup archive: %v", err)
|
||||
log.Fatal("Failed to extract backup archive: %v", err)
|
||||
}
|
||||
archivePath := path.Join(tmpDir, _ARCHIVE_ROOT_DIR)
|
||||
defer os.RemoveAll(archivePath)
|
||||
|
@ -61,22 +61,22 @@ func runRestore(c *cli.Context) error {
|
|||
// Check backup version
|
||||
metaFile := path.Join(archivePath, "metadata.ini")
|
||||
if !com.IsExist(metaFile) {
|
||||
log.Fatal(0, "File 'metadata.ini' is missing")
|
||||
log.Fatal("File 'metadata.ini' is missing")
|
||||
}
|
||||
metadata, err := ini.Load(metaFile)
|
||||
if err != nil {
|
||||
log.Fatal(0, "Failed to load metadata '%s': %v", metaFile, err)
|
||||
log.Fatal("Failed to load metadata '%s': %v", metaFile, err)
|
||||
}
|
||||
backupVersion := metadata.Section("").Key("GOGS_VERSION").MustString("999.0")
|
||||
if version.Compare(setting.AppVersion, backupVersion, "<") {
|
||||
log.Fatal(0, "Current Gogs version is lower than backup version: %s < %s", setting.AppVersion, backupVersion)
|
||||
log.Fatal("Current Gogs version is lower than backup version: %s < %s", setting.AppVersion, backupVersion)
|
||||
}
|
||||
formatVersion := metadata.Section("").Key("VERSION").MustInt()
|
||||
if formatVersion == 0 {
|
||||
log.Fatal(0, "Failed to determine the backup format version from metadata '%s': %s", metaFile, "VERSION is not presented")
|
||||
log.Fatal("Failed to determine the backup format version from metadata '%s': %s", metaFile, "VERSION is not presented")
|
||||
}
|
||||
if formatVersion != _CURRENT_BACKUP_FORMAT_VERSION {
|
||||
log.Fatal(0, "Backup format version found is %d but this binary only supports %d\nThe last known version that is able to import your backup is %s",
|
||||
log.Fatal("Backup format version found is %d but this binary only supports %d\nThe last known version that is able to import your backup is %s",
|
||||
formatVersion, _CURRENT_BACKUP_FORMAT_VERSION, lastSupportedVersionOfFormat[formatVersion])
|
||||
}
|
||||
|
||||
|
@ -86,29 +86,29 @@ func runRestore(c *cli.Context) error {
|
|||
if c.IsSet("config") {
|
||||
setting.CustomConf = c.String("config")
|
||||
} else if !com.IsExist(configFile) {
|
||||
log.Fatal(0, "'--config' is not specified and custom config file is not found in backup")
|
||||
log.Fatal("'--config' is not specified and custom config file is not found in backup")
|
||||
} else {
|
||||
setting.CustomConf = configFile
|
||||
}
|
||||
setting.NewContext()
|
||||
setting.Init()
|
||||
db.LoadConfigs()
|
||||
db.SetEngine()
|
||||
|
||||
// Database
|
||||
dbDir := path.Join(archivePath, "db")
|
||||
if err = db.ImportDatabase(dbDir, c.Bool("verbose")); err != nil {
|
||||
log.Fatal(0, "Failed to import database: %v", err)
|
||||
log.Fatal("Failed to import database: %v", err)
|
||||
}
|
||||
|
||||
// Custom files
|
||||
if !c.Bool("database-only") {
|
||||
if com.IsExist(setting.CustomPath) {
|
||||
if err = os.Rename(setting.CustomPath, setting.CustomPath+".bak"); err != nil {
|
||||
log.Fatal(0, "Failed to backup current 'custom': %v", err)
|
||||
log.Fatal("Failed to backup current 'custom': %v", err)
|
||||
}
|
||||
}
|
||||
if err = os.Rename(path.Join(archivePath, "custom"), setting.CustomPath); err != nil {
|
||||
log.Fatal(0, "Failed to import 'custom': %v", err)
|
||||
log.Fatal("Failed to import 'custom': %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -125,11 +125,11 @@ func runRestore(c *cli.Context) error {
|
|||
dirPath := path.Join(setting.AppDataPath, dir)
|
||||
if com.IsExist(dirPath) {
|
||||
if err = os.Rename(dirPath, dirPath+".bak"); err != nil {
|
||||
log.Fatal(0, "Failed to backup current 'data': %v", err)
|
||||
log.Fatal("Failed to backup current 'data': %v", err)
|
||||
}
|
||||
}
|
||||
if err = os.Rename(srcPath, dirPath); err != nil {
|
||||
log.Fatal(0, "Failed to import 'data': %v", err)
|
||||
log.Fatal("Failed to import 'data': %v", err)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -138,11 +138,11 @@ func runRestore(c *cli.Context) error {
|
|||
reposPath := path.Join(archivePath, "repositories.zip")
|
||||
if !c.Bool("exclude-repos") && !c.Bool("database-only") && com.IsExist(reposPath) {
|
||||
if err := zip.ExtractTo(reposPath, path.Dir(setting.RepoRootPath)); err != nil {
|
||||
log.Fatal(0, "Failed to extract 'repositories.zip': %v", err)
|
||||
log.Fatal("Failed to extract 'repositories.zip': %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
log.Info("Restore succeed!")
|
||||
log.Shutdown()
|
||||
log.Stop()
|
||||
return nil
|
||||
}
|
||||
|
|
|
@ -14,7 +14,7 @@ import (
|
|||
|
||||
"github.com/unknwon/com"
|
||||
"github.com/urfave/cli"
|
||||
log "gopkg.in/clog.v1"
|
||||
log "unknwon.dev/clog/v2"
|
||||
|
||||
"gogs.io/gogs/internal/db"
|
||||
"gogs.io/gogs/internal/db/errors"
|
||||
|
@ -42,7 +42,7 @@ func fail(userMessage, logMessage string, args ...interface{}) {
|
|||
if !setting.ProdMode {
|
||||
fmt.Fprintf(os.Stderr, logMessage+"\n", args...)
|
||||
}
|
||||
log.Fatal(3, logMessage, args...)
|
||||
log.Fatal(logMessage, args...)
|
||||
}
|
||||
|
||||
os.Exit(1)
|
||||
|
@ -55,13 +55,14 @@ func setup(c *cli.Context, logPath string, connectDB bool) {
|
|||
setting.CustomConf = c.GlobalString("config")
|
||||
}
|
||||
|
||||
setting.NewContext()
|
||||
setting.Init()
|
||||
|
||||
level := log.TRACE
|
||||
level := log.LevelTrace
|
||||
if setting.ProdMode {
|
||||
level = log.ERROR
|
||||
level = log.LevelError
|
||||
}
|
||||
log.New(log.FILE, log.FileConfig{
|
||||
|
||||
err := log.NewFile(log.FileConfig{
|
||||
Level: level,
|
||||
Filename: filepath.Join(setting.LogRootPath, logPath),
|
||||
FileRotationConfig: log.FileRotationConfig{
|
||||
|
@ -70,7 +71,11 @@ func setup(c *cli.Context, logPath string, connectDB bool) {
|
|||
MaxDays: 3,
|
||||
},
|
||||
})
|
||||
log.Delete(log.CONSOLE) // Remove primary logger
|
||||
if err != nil {
|
||||
log.Fatal("Failed to init file logger: %v", err)
|
||||
return
|
||||
}
|
||||
log.Remove(log.DefaultConsoleName) // Remove the primary logger
|
||||
|
||||
if !connectDB {
|
||||
return
|
||||
|
@ -156,7 +161,7 @@ func runServ(c *cli.Context) error {
|
|||
if errors.IsUserNotExist(err) {
|
||||
fail("Repository owner does not exist", "Unregistered owner: %s", ownerName)
|
||||
}
|
||||
fail("Internal error", "Fail to get repository owner '%s': %v", ownerName, err)
|
||||
fail("Internal error", "Failed to get repository owner '%s': %v", ownerName, err)
|
||||
}
|
||||
|
||||
repo, err := db.GetRepositoryByName(owner.ID, repoName)
|
||||
|
@ -164,7 +169,7 @@ func runServ(c *cli.Context) error {
|
|||
if errors.IsRepoNotExist(err) {
|
||||
fail(_ACCESS_DENIED_MESSAGE, "Repository does not exist: %s/%s", owner.Name, repoName)
|
||||
}
|
||||
fail("Internal error", "Fail to get repository: %v", err)
|
||||
fail("Internal error", "Failed to get repository: %v", err)
|
||||
}
|
||||
repo.Owner = owner
|
||||
|
||||
|
@ -196,12 +201,12 @@ func runServ(c *cli.Context) error {
|
|||
} else {
|
||||
user, err = db.GetUserByKeyID(key.ID)
|
||||
if err != nil {
|
||||
fail("Internal error", "Fail to get user by key ID '%d': %v", key.ID, err)
|
||||
fail("Internal error", "Failed to get user by key ID '%d': %v", key.ID, err)
|
||||
}
|
||||
|
||||
mode, err := db.UserAccessMode(user.ID, repo)
|
||||
if err != nil {
|
||||
fail("Internal error", "Fail to check access: %v", err)
|
||||
fail("Internal error", "Failed to check access: %v", err)
|
||||
}
|
||||
|
||||
if mode < requestMode {
|
||||
|
@ -265,7 +270,7 @@ func runServ(c *cli.Context) error {
|
|||
gitCmd.Stdin = os.Stdin
|
||||
gitCmd.Stderr = os.Stderr
|
||||
if err = gitCmd.Run(); err != nil {
|
||||
fail("Internal error", "Fail to execute git command: %v", err)
|
||||
fail("Internal error", "Failed to execute git command: %v", err)
|
||||
}
|
||||
|
||||
return nil
|
||||
|
|
|
@ -26,8 +26,8 @@ import (
|
|||
"github.com/prometheus/client_golang/prometheus/promhttp"
|
||||
"github.com/unknwon/com"
|
||||
"github.com/urfave/cli"
|
||||
log "gopkg.in/clog.v1"
|
||||
"gopkg.in/macaron.v1"
|
||||
log "unknwon.dev/clog/v2"
|
||||
|
||||
"gogs.io/gogs/internal/assets/conf"
|
||||
"gogs.io/gogs/internal/assets/public"
|
||||
|
@ -119,7 +119,7 @@ func newMacaron() *macaron.Macaron {
|
|||
|
||||
localeNames, err := conf.AssetDir("conf/locale")
|
||||
if err != nil {
|
||||
log.Fatal(4, "Fail to list locale files: %v", err)
|
||||
log.Fatal("Failed to list locale files: %v", err)
|
||||
}
|
||||
localFiles := make(map[string][]byte)
|
||||
for _, name := range localeNames {
|
||||
|
@ -741,15 +741,15 @@ func runWeb(c *cli.Context) error {
|
|||
// FIXME: add proper implementation of signal capture on all protocols
|
||||
// execute this on SIGTERM or SIGINT: listener.Close()
|
||||
if err = os.Chmod(listenAddr, os.FileMode(setting.UnixSocketPermission)); err != nil {
|
||||
log.Fatal(4, "Failed to set permission of unix socket: %v", err)
|
||||
log.Fatal("Failed to set permission of unix socket: %v", err)
|
||||
}
|
||||
err = http.Serve(listener, m)
|
||||
default:
|
||||
log.Fatal(4, "Invalid protocol: %s", setting.Protocol)
|
||||
log.Fatal("Invalid protocol: %s", setting.Protocol)
|
||||
}
|
||||
|
||||
if err != nil {
|
||||
log.Fatal(4, "Failed to start server: %v", err)
|
||||
log.Fatal("Failed to start server: %v", err)
|
||||
}
|
||||
|
||||
return nil
|
||||
|
|
|
@ -10,8 +10,8 @@ import (
|
|||
"strings"
|
||||
|
||||
"github.com/unknwon/paginater"
|
||||
log "gopkg.in/clog.v1"
|
||||
"gopkg.in/macaron.v1"
|
||||
log "unknwon.dev/clog/v2"
|
||||
|
||||
"gogs.io/gogs/internal/setting"
|
||||
)
|
||||
|
@ -39,7 +39,7 @@ func (c *APIContext) Error(status int, title string, obj interface{}) {
|
|||
}
|
||||
|
||||
if status == http.StatusInternalServerError {
|
||||
log.Error(3, "%s: %s", title, message)
|
||||
log.Error("%s: %s", title, message)
|
||||
}
|
||||
|
||||
c.JSON(status, map[string]string{
|
||||
|
|
|
@ -17,8 +17,8 @@ import (
|
|||
"github.com/go-macaron/i18n"
|
||||
"github.com/go-macaron/session"
|
||||
"github.com/unknwon/com"
|
||||
log "gopkg.in/clog.v1"
|
||||
"gopkg.in/macaron.v1"
|
||||
log "unknwon.dev/clog/v2"
|
||||
|
||||
"gogs.io/gogs/internal/auth"
|
||||
"gogs.io/gogs/internal/db"
|
||||
|
@ -173,7 +173,7 @@ func (c *Context) Handle(status int, msg string, err error) {
|
|||
c.Data["Title"] = "Page Not Found"
|
||||
case http.StatusInternalServerError:
|
||||
c.Data["Title"] = "Internal Server Error"
|
||||
log.Error(3, "%s: %v", msg, err)
|
||||
log.Error("%s: %v", msg, err)
|
||||
if !setting.ProdMode || (c.IsLogged && c.User.IsAdmin) {
|
||||
c.Data["ErrorMsg"] = err
|
||||
}
|
||||
|
|
|
@ -9,7 +9,7 @@ import (
|
|||
"path"
|
||||
|
||||
"github.com/unknwon/com"
|
||||
log "gopkg.in/clog.v1"
|
||||
log "unknwon.dev/clog/v2"
|
||||
|
||||
"gogs.io/gogs/internal/markup"
|
||||
"gogs.io/gogs/internal/setting"
|
||||
|
@ -26,14 +26,14 @@ func (c *Context) renderNoticeBanner() {
|
|||
|
||||
f, err := os.Open(fpath)
|
||||
if err != nil {
|
||||
log.Error(2, "Failed to open file %q: %v", fpath, err)
|
||||
log.Error("Failed to open file %q: %v", fpath, err)
|
||||
return
|
||||
}
|
||||
defer f.Close()
|
||||
|
||||
fi, err := f.Stat()
|
||||
if err != nil {
|
||||
log.Error(2, "Failed to stat file %q: %v", fpath, err)
|
||||
log.Error("Failed to stat file %q: %v", fpath, err)
|
||||
return
|
||||
}
|
||||
|
||||
|
@ -48,7 +48,7 @@ func (c *Context) renderNoticeBanner() {
|
|||
buf := make([]byte, maxSize)
|
||||
n, err := f.Read(buf)
|
||||
if err != nil {
|
||||
log.Error(2, "Failed to read file %q: %v", fpath, err)
|
||||
log.Error("Failed to read file %q: %v", fpath, err)
|
||||
return
|
||||
}
|
||||
buf = buf[:n]
|
||||
|
|
|
@ -7,7 +7,7 @@ package cron
|
|||
import (
|
||||
"time"
|
||||
|
||||
log "gopkg.in/clog.v1"
|
||||
log "unknwon.dev/clog/v2"
|
||||
|
||||
"github.com/gogs/cron"
|
||||
|
||||
|
@ -25,7 +25,7 @@ func NewContext() {
|
|||
if setting.Cron.UpdateMirror.Enabled {
|
||||
entry, err = c.AddFunc("Update mirrors", setting.Cron.UpdateMirror.Schedule, db.MirrorUpdate)
|
||||
if err != nil {
|
||||
log.Fatal(2, "Cron.(update mirrors): %v", err)
|
||||
log.Fatal("Cron.(update mirrors): %v", err)
|
||||
}
|
||||
if setting.Cron.UpdateMirror.RunAtStart {
|
||||
entry.Prev = time.Now()
|
||||
|
@ -36,7 +36,7 @@ func NewContext() {
|
|||
if setting.Cron.RepoHealthCheck.Enabled {
|
||||
entry, err = c.AddFunc("Repository health check", setting.Cron.RepoHealthCheck.Schedule, db.GitFsck)
|
||||
if err != nil {
|
||||
log.Fatal(2, "Cron.(repository health check): %v", err)
|
||||
log.Fatal("Cron.(repository health check): %v", err)
|
||||
}
|
||||
if setting.Cron.RepoHealthCheck.RunAtStart {
|
||||
entry.Prev = time.Now()
|
||||
|
@ -47,7 +47,7 @@ func NewContext() {
|
|||
if setting.Cron.CheckRepoStats.Enabled {
|
||||
entry, err = c.AddFunc("Check repository statistics", setting.Cron.CheckRepoStats.Schedule, db.CheckRepoStats)
|
||||
if err != nil {
|
||||
log.Fatal(2, "Cron.(check repository statistics): %v", err)
|
||||
log.Fatal("Cron.(check repository statistics): %v", err)
|
||||
}
|
||||
if setting.Cron.CheckRepoStats.RunAtStart {
|
||||
entry.Prev = time.Now()
|
||||
|
@ -58,7 +58,7 @@ func NewContext() {
|
|||
if setting.Cron.RepoArchiveCleanup.Enabled {
|
||||
entry, err = c.AddFunc("Repository archive cleanup", setting.Cron.RepoArchiveCleanup.Schedule, db.DeleteOldRepositoryArchives)
|
||||
if err != nil {
|
||||
log.Fatal(2, "Cron.(repository archive cleanup): %v", err)
|
||||
log.Fatal("Cron.(repository archive cleanup): %v", err)
|
||||
}
|
||||
if setting.Cron.RepoArchiveCleanup.RunAtStart {
|
||||
entry.Prev = time.Now()
|
||||
|
|
|
@ -7,7 +7,7 @@ package db
|
|||
import (
|
||||
"fmt"
|
||||
|
||||
log "gopkg.in/clog.v1"
|
||||
log "unknwon.dev/clog/v2"
|
||||
|
||||
"gogs.io/gogs/internal/db/errors"
|
||||
)
|
||||
|
@ -111,7 +111,7 @@ func (u *User) GetRepositoryAccesses() (map[*Repository]AccessMode, error) {
|
|||
repo, err := GetRepositoryByID(access.RepoID)
|
||||
if err != nil {
|
||||
if errors.IsRepoNotExist(err) {
|
||||
log.Error(2, "GetRepositoryByID: %v", err)
|
||||
log.Error("GetRepositoryByID: %v", err)
|
||||
continue
|
||||
}
|
||||
return nil, err
|
||||
|
|
|
@ -13,7 +13,7 @@ import (
|
|||
|
||||
"github.com/json-iterator/go"
|
||||
"github.com/unknwon/com"
|
||||
log "gopkg.in/clog.v1"
|
||||
log "unknwon.dev/clog/v2"
|
||||
"xorm.io/xorm"
|
||||
|
||||
"github.com/gogs/git-module"
|
||||
|
@ -160,7 +160,7 @@ func (a *Action) GetIssueTitle() string {
|
|||
index := com.StrTo(a.GetIssueInfos()[0]).MustInt64()
|
||||
issue, err := GetIssueByIndex(a.RepoID, index)
|
||||
if err != nil {
|
||||
log.Error(4, "GetIssueByIndex: %v", err)
|
||||
log.Error("GetIssueByIndex: %v", err)
|
||||
return "500 when get issue"
|
||||
}
|
||||
return issue.Title
|
||||
|
@ -170,7 +170,7 @@ func (a *Action) GetIssueContent() string {
|
|||
index := com.StrTo(a.GetIssueInfos()[0]).MustInt64()
|
||||
issue, err := GetIssueByIndex(a.RepoID, index)
|
||||
if err != nil {
|
||||
log.Error(4, "GetIssueByIndex: %v", err)
|
||||
log.Error("GetIssueByIndex: %v", err)
|
||||
return "500 when get issue"
|
||||
}
|
||||
return issue.Content
|
||||
|
@ -305,7 +305,7 @@ func (push *PushCommits) AvatarLink(email string) string {
|
|||
if err != nil {
|
||||
push.avatars[email] = tool.AvatarLink(email)
|
||||
if !errors.IsUserNotExist(err) {
|
||||
log.Error(4, "GetUserByEmail: %v", err)
|
||||
log.Error("GetUserByEmail: %v", err)
|
||||
}
|
||||
} else {
|
||||
push.avatars[email] = u.RelAvatarLink()
|
||||
|
@ -490,7 +490,7 @@ func CommitRepoAction(opts CommitRepoActionOptions) error {
|
|||
// Only update issues via commits when internal issue tracker is enabled
|
||||
if repo.EnableIssues && !repo.EnableExternalTracker {
|
||||
if err = UpdateIssuesCommit(pusher, repo, opts.Commits.Commits); err != nil {
|
||||
log.Error(2, "UpdateIssuesCommit: %v", err)
|
||||
log.Error("UpdateIssuesCommit: %v", err)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -11,7 +11,7 @@ import (
|
|||
"time"
|
||||
|
||||
"github.com/unknwon/com"
|
||||
log "gopkg.in/clog.v1"
|
||||
log "unknwon.dev/clog/v2"
|
||||
"xorm.io/xorm"
|
||||
|
||||
"gogs.io/gogs/internal/tool"
|
||||
|
@ -75,7 +75,7 @@ func RemoveAllWithNotice(title, path string) {
|
|||
desc := fmt.Sprintf("%s [%s]: %v", title, path, err)
|
||||
log.Warn(desc)
|
||||
if err = CreateRepositoryNotice(desc); err != nil {
|
||||
log.Error(2, "CreateRepositoryNotice: %v", err)
|
||||
log.Error("CreateRepositoryNotice: %v", err)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -10,7 +10,7 @@ import (
|
|||
"time"
|
||||
|
||||
"github.com/unknwon/com"
|
||||
log "gopkg.in/clog.v1"
|
||||
log "unknwon.dev/clog/v2"
|
||||
"xorm.io/xorm"
|
||||
|
||||
api "github.com/gogs/go-gogs-client"
|
||||
|
@ -180,7 +180,7 @@ func (cmt *Comment) mailParticipants(e Engine, opType ActionType, issue *Issue)
|
|||
issue.Content = fmt.Sprintf("Reopened #%d", issue.Index)
|
||||
}
|
||||
if err = mailIssueCommentToParticipants(issue, cmt.Poster, mentions); err != nil {
|
||||
log.Error(2, "mailIssueCommentToParticipants: %v", err)
|
||||
log.Error("mailIssueCommentToParticipants: %v", err)
|
||||
}
|
||||
|
||||
return nil
|
||||
|
@ -282,10 +282,10 @@ func createComment(e *xorm.Session, opts *CreateCommentOptions) (_ *Comment, err
|
|||
// Notify watchers for whatever action comes in, ignore if no action type.
|
||||
if act.OpType > 0 {
|
||||
if err = notifyWatchers(e, act); err != nil {
|
||||
log.Error(2, "notifyWatchers: %v", err)
|
||||
log.Error("notifyWatchers: %v", err)
|
||||
}
|
||||
if err = comment.mailParticipants(e, act.OpType, opts.Issue); err != nil {
|
||||
log.Error(2, "MailParticipants: %v", err)
|
||||
log.Error("MailParticipants: %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -356,7 +356,7 @@ func CreateIssueComment(doer *User, repo *Repository, issue *Issue, content stri
|
|||
Repository: repo.APIFormat(nil),
|
||||
Sender: doer.APIFormat(),
|
||||
}); err != nil {
|
||||
log.Error(2, "PrepareWebhooks [comment_id: %d]: %v", comment.ID, err)
|
||||
log.Error("PrepareWebhooks [comment_id: %d]: %v", comment.ID, err)
|
||||
}
|
||||
|
||||
return comment, nil
|
||||
|
@ -465,7 +465,7 @@ func UpdateComment(doer *User, c *Comment, oldContent string) (err error) {
|
|||
}
|
||||
|
||||
if err = c.Issue.LoadAttributes(); err != nil {
|
||||
log.Error(2, "Issue.LoadAttributes [issue_id: %d]: %v", c.IssueID, err)
|
||||
log.Error("Issue.LoadAttributes [issue_id: %d]: %v", c.IssueID, err)
|
||||
} else if err = PrepareWebhooks(c.Issue.Repo, HOOK_EVENT_ISSUE_COMMENT, &api.IssueCommentPayload{
|
||||
Action: api.HOOK_ISSUE_COMMENT_EDITED,
|
||||
Issue: c.Issue.APIFormat(),
|
||||
|
@ -478,7 +478,7 @@ func UpdateComment(doer *User, c *Comment, oldContent string) (err error) {
|
|||
Repository: c.Issue.Repo.APIFormat(nil),
|
||||
Sender: doer.APIFormat(),
|
||||
}); err != nil {
|
||||
log.Error(2, "PrepareWebhooks [comment_id: %d]: %v", c.ID, err)
|
||||
log.Error("PrepareWebhooks [comment_id: %d]: %v", c.ID, err)
|
||||
}
|
||||
|
||||
return nil
|
||||
|
@ -516,11 +516,11 @@ func DeleteCommentByID(doer *User, id int64) error {
|
|||
|
||||
_, err = DeleteAttachmentsByComment(comment.ID, true)
|
||||
if err != nil {
|
||||
log.Error(2, "Failed to delete attachments by comment[%d]: %v", comment.ID, err)
|
||||
log.Error("Failed to delete attachments by comment[%d]: %v", comment.ID, err)
|
||||
}
|
||||
|
||||
if err = comment.Issue.LoadAttributes(); err != nil {
|
||||
log.Error(2, "Issue.LoadAttributes [issue_id: %d]: %v", comment.IssueID, err)
|
||||
log.Error("Issue.LoadAttributes [issue_id: %d]: %v", comment.IssueID, err)
|
||||
} else if err = PrepareWebhooks(comment.Issue.Repo, HOOK_EVENT_ISSUE_COMMENT, &api.IssueCommentPayload{
|
||||
Action: api.HOOK_ISSUE_COMMENT_DELETED,
|
||||
Issue: comment.Issue.APIFormat(),
|
||||
|
@ -528,7 +528,7 @@ func DeleteCommentByID(doer *User, id int64) error {
|
|||
Repository: comment.Issue.Repo.APIFormat(nil),
|
||||
Sender: doer.APIFormat(),
|
||||
}); err != nil {
|
||||
log.Error(2, "PrepareWebhooks [comment_id: %d]: %v", comment.ID, err)
|
||||
log.Error("PrepareWebhooks [comment_id: %d]: %v", comment.ID, err)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
|
|
@ -10,7 +10,7 @@ import (
|
|||
"time"
|
||||
|
||||
"github.com/unknwon/com"
|
||||
log "gopkg.in/clog.v1"
|
||||
log "unknwon.dev/clog/v2"
|
||||
"xorm.io/xorm"
|
||||
|
||||
api "github.com/gogs/go-gogs-client"
|
||||
|
@ -231,7 +231,7 @@ func (issue *Issue) sendLabelUpdatedWebhook(doer *User) {
|
|||
if issue.IsPull {
|
||||
err = issue.PullRequest.LoadIssue()
|
||||
if err != nil {
|
||||
log.Error(2, "LoadIssue: %v", err)
|
||||
log.Error("LoadIssue: %v", err)
|
||||
return
|
||||
}
|
||||
err = PrepareWebhooks(issue.Repo, HOOK_EVENT_PULL_REQUEST, &api.PullRequestPayload{
|
||||
|
@ -251,7 +251,7 @@ func (issue *Issue) sendLabelUpdatedWebhook(doer *User) {
|
|||
})
|
||||
}
|
||||
if err != nil {
|
||||
log.Error(2, "PrepareWebhooks [is_pull: %v]: %v", issue.IsPull, err)
|
||||
log.Error("PrepareWebhooks [is_pull: %v]: %v", issue.IsPull, err)
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -346,7 +346,7 @@ func (issue *Issue) ClearLabels(doer *User) (err error) {
|
|||
if issue.IsPull {
|
||||
err = issue.PullRequest.LoadIssue()
|
||||
if err != nil {
|
||||
log.Error(2, "LoadIssue: %v", err)
|
||||
log.Error("LoadIssue: %v", err)
|
||||
return
|
||||
}
|
||||
err = PrepareWebhooks(issue.Repo, HOOK_EVENT_PULL_REQUEST, &api.PullRequestPayload{
|
||||
|
@ -366,7 +366,7 @@ func (issue *Issue) ClearLabels(doer *User) (err error) {
|
|||
})
|
||||
}
|
||||
if err != nil {
|
||||
log.Error(2, "PrepareWebhooks [is_pull: %v]: %v", issue.IsPull, err)
|
||||
log.Error("PrepareWebhooks [is_pull: %v]: %v", issue.IsPull, err)
|
||||
}
|
||||
|
||||
return nil
|
||||
|
@ -503,7 +503,7 @@ func (issue *Issue) ChangeStatus(doer *User, repo *Repository, isClosed bool) (e
|
|||
err = PrepareWebhooks(repo, HOOK_EVENT_ISSUES, apiIssues)
|
||||
}
|
||||
if err != nil {
|
||||
log.Error(2, "PrepareWebhooks [is_pull: %v, is_closed: %v]: %v", issue.IsPull, isClosed, err)
|
||||
log.Error("PrepareWebhooks [is_pull: %v, is_closed: %v]: %v", issue.IsPull, isClosed, err)
|
||||
}
|
||||
|
||||
return nil
|
||||
|
@ -545,7 +545,7 @@ func (issue *Issue) ChangeTitle(doer *User, title string) (err error) {
|
|||
})
|
||||
}
|
||||
if err != nil {
|
||||
log.Error(2, "PrepareWebhooks [is_pull: %v]: %v", issue.IsPull, err)
|
||||
log.Error("PrepareWebhooks [is_pull: %v]: %v", issue.IsPull, err)
|
||||
}
|
||||
|
||||
return nil
|
||||
|
@ -587,7 +587,7 @@ func (issue *Issue) ChangeContent(doer *User, content string) (err error) {
|
|||
})
|
||||
}
|
||||
if err != nil {
|
||||
log.Error(2, "PrepareWebhooks [is_pull: %v]: %v", issue.IsPull, err)
|
||||
log.Error("PrepareWebhooks [is_pull: %v]: %v", issue.IsPull, err)
|
||||
}
|
||||
|
||||
return nil
|
||||
|
@ -601,7 +601,7 @@ func (issue *Issue) ChangeAssignee(doer *User, assigneeID int64) (err error) {
|
|||
|
||||
issue.Assignee, err = GetUserByID(issue.AssigneeID)
|
||||
if err != nil && !errors.IsUserNotExist(err) {
|
||||
log.Error(4, "GetUserByID [assignee_id: %v]: %v", issue.AssigneeID, err)
|
||||
log.Error("GetUserByID [assignee_id: %v]: %v", issue.AssigneeID, err)
|
||||
return nil
|
||||
}
|
||||
|
||||
|
@ -636,7 +636,7 @@ func (issue *Issue) ChangeAssignee(doer *User, assigneeID int64) (err error) {
|
|||
err = PrepareWebhooks(issue.Repo, HOOK_EVENT_ISSUES, apiIssues)
|
||||
}
|
||||
if err != nil {
|
||||
log.Error(4, "PrepareWebhooks [is_pull: %v, remove_assignee: %v]: %v", issue.IsPull, isRemoveAssignee, err)
|
||||
log.Error("PrepareWebhooks [is_pull: %v, remove_assignee: %v]: %v", issue.IsPull, isRemoveAssignee, err)
|
||||
}
|
||||
|
||||
return nil
|
||||
|
@ -777,10 +777,10 @@ func NewIssue(repo *Repository, issue *Issue, labelIDs []int64, uuids []string)
|
|||
RepoName: repo.Name,
|
||||
IsPrivate: repo.IsPrivate,
|
||||
}); err != nil {
|
||||
log.Error(2, "NotifyWatchers: %v", err)
|
||||
log.Error("NotifyWatchers: %v", err)
|
||||
}
|
||||
if err = issue.MailParticipants(); err != nil {
|
||||
log.Error(2, "MailParticipants: %v", err)
|
||||
log.Error("MailParticipants: %v", err)
|
||||
}
|
||||
|
||||
if err = PrepareWebhooks(repo, HOOK_EVENT_ISSUES, &api.IssuesPayload{
|
||||
|
@ -790,7 +790,7 @@ func NewIssue(repo *Repository, issue *Issue, labelIDs []int64, uuids []string)
|
|||
Repository: repo.APIFormat(nil),
|
||||
Sender: issue.Poster.APIFormat(),
|
||||
}); err != nil {
|
||||
log.Error(2, "PrepareWebhooks: %v", err)
|
||||
log.Error("PrepareWebhooks: %v", err)
|
||||
}
|
||||
|
||||
return nil
|
||||
|
|
|
@ -8,7 +8,7 @@ import (
|
|||
"fmt"
|
||||
|
||||
"github.com/unknwon/com"
|
||||
log "gopkg.in/clog.v1"
|
||||
log "unknwon.dev/clog/v2"
|
||||
|
||||
"gogs.io/gogs/internal/mailer"
|
||||
"gogs.io/gogs/internal/markup"
|
||||
|
@ -173,7 +173,7 @@ func (issue *Issue) MailParticipants() (err error) {
|
|||
}
|
||||
|
||||
if err = mailIssueCommentToParticipants(issue, issue.Poster, mentions); err != nil {
|
||||
log.Error(2, "mailIssueCommentToParticipants: %v", err)
|
||||
log.Error("mailIssueCommentToParticipants: %v", err)
|
||||
}
|
||||
|
||||
return nil
|
||||
|
|
|
@ -19,8 +19,8 @@ import (
|
|||
"github.com/go-macaron/binding"
|
||||
"github.com/json-iterator/go"
|
||||
"github.com/unknwon/com"
|
||||
log "gopkg.in/clog.v1"
|
||||
"gopkg.in/ini.v1"
|
||||
log "unknwon.dev/clog/v2"
|
||||
"xorm.io/core"
|
||||
"xorm.io/xorm"
|
||||
|
||||
|
@ -469,7 +469,7 @@ func LoadAuthSources() {
|
|||
|
||||
paths, err := com.GetFileListBySuffix(authdPath, ".conf")
|
||||
if err != nil {
|
||||
log.Fatal(2, "Failed to list authentication sources: %v", err)
|
||||
log.Fatal("Failed to list authentication sources: %v", err)
|
||||
}
|
||||
|
||||
localLoginSources.sources = make([]*LoginSource, 0, len(paths))
|
||||
|
@ -477,7 +477,7 @@ func LoadAuthSources() {
|
|||
for _, fpath := range paths {
|
||||
authSource, err := ini.Load(fpath)
|
||||
if err != nil {
|
||||
log.Fatal(2, "Failed to load authentication source: %v", err)
|
||||
log.Fatal("Failed to load authentication source: %v", err)
|
||||
}
|
||||
authSource.NameMapper = ini.TitleUnderscore
|
||||
|
||||
|
@ -496,7 +496,7 @@ func LoadAuthSources() {
|
|||
|
||||
fi, err := os.Stat(fpath)
|
||||
if err != nil {
|
||||
log.Fatal(2, "Failed to load authentication source: %v", err)
|
||||
log.Fatal("Failed to load authentication source: %v", err)
|
||||
}
|
||||
loginSource.Updated = fi.ModTime()
|
||||
|
||||
|
@ -519,11 +519,11 @@ func LoadAuthSources() {
|
|||
loginSource.Type = LOGIN_GITHUB
|
||||
loginSource.Cfg = &GitHubConfig{}
|
||||
default:
|
||||
log.Fatal(2, "Failed to load authentication source: unknown type '%s'", authType)
|
||||
log.Fatal("Failed to load authentication source: unknown type '%s'", authType)
|
||||
}
|
||||
|
||||
if err = authSource.Section("config").MapTo(loginSource.Cfg); err != nil {
|
||||
log.Fatal(2, "Failed to parse authentication source 'config': %v", err)
|
||||
log.Fatal("Failed to parse authentication source 'config': %v", err)
|
||||
}
|
||||
|
||||
localLoginSources.sources = append(localLoginSources.sources, loginSource)
|
||||
|
|
|
@ -10,7 +10,7 @@ import (
|
|||
"time"
|
||||
|
||||
"github.com/unknwon/com"
|
||||
log "gopkg.in/clog.v1"
|
||||
log "unknwon.dev/clog/v2"
|
||||
"xorm.io/xorm"
|
||||
|
||||
"gogs.io/gogs/internal/tool"
|
||||
|
@ -93,7 +93,7 @@ func Migrate(x *xorm.Engine) error {
|
|||
|
||||
v := currentVersion.Version
|
||||
if _MIN_DB_VER > v {
|
||||
log.Fatal(0, `
|
||||
log.Fatal(`
|
||||
Hi there, thank you for using Gogs for so long!
|
||||
However, Gogs has stopped supporting auto-migration from your previously installed version.
|
||||
But the good news is, it's very easy to fix this problem!
|
||||
|
|
|
@ -12,7 +12,7 @@ import (
|
|||
"strings"
|
||||
|
||||
"github.com/unknwon/com"
|
||||
log "gopkg.in/clog.v1"
|
||||
log "unknwon.dev/clog/v2"
|
||||
"xorm.io/xorm"
|
||||
|
||||
"gogs.io/gogs/internal/osutil"
|
||||
|
|
|
@ -9,8 +9,8 @@ import (
|
|||
"path/filepath"
|
||||
"strings"
|
||||
|
||||
log "unknwon.dev/clog/v2"
|
||||
"xorm.io/xorm"
|
||||
log "gopkg.in/clog.v1"
|
||||
|
||||
"github.com/gogs/git-module"
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@ import (
|
|||
"fmt"
|
||||
"time"
|
||||
|
||||
log "gopkg.in/clog.v1"
|
||||
log "unknwon.dev/clog/v2"
|
||||
"xorm.io/xorm"
|
||||
|
||||
api "github.com/gogs/go-gogs-client"
|
||||
|
@ -336,7 +336,7 @@ func ChangeMilestoneAssign(doer *User, issue *Issue, oldMilestoneID int64) (err
|
|||
if issue.IsPull {
|
||||
err = issue.PullRequest.LoadIssue()
|
||||
if err != nil {
|
||||
log.Error(2, "LoadIssue: %v", err)
|
||||
log.Error("LoadIssue: %v", err)
|
||||
return
|
||||
}
|
||||
err = PrepareWebhooks(issue.Repo, HOOK_EVENT_PULL_REQUEST, &api.PullRequestPayload{
|
||||
|
@ -356,7 +356,7 @@ func ChangeMilestoneAssign(doer *User, issue *Issue, oldMilestoneID int64) (err
|
|||
})
|
||||
}
|
||||
if err != nil {
|
||||
log.Error(2, "PrepareWebhooks [is_pull: %v]: %v", issue.IsPull, err)
|
||||
log.Error("PrepareWebhooks [is_pull: %v]: %v", issue.IsPull, err)
|
||||
}
|
||||
|
||||
return nil
|
||||
|
|
|
@ -12,8 +12,8 @@ import (
|
|||
"time"
|
||||
|
||||
"github.com/unknwon/com"
|
||||
log "gopkg.in/clog.v1"
|
||||
"gopkg.in/ini.v1"
|
||||
log "unknwon.dev/clog/v2"
|
||||
"xorm.io/xorm"
|
||||
|
||||
"github.com/gogs/git-module"
|
||||
|
@ -58,7 +58,7 @@ func (m *Mirror) AfterSet(colName string, _ xorm.Cell) {
|
|||
case "repo_id":
|
||||
m.Repo, err = GetRepositoryByID(m.RepoID)
|
||||
if err != nil {
|
||||
log.Error(3, "GetRepositoryByID [%d]: %v", m.ID, err)
|
||||
log.Error("GetRepositoryByID [%d]: %v", m.ID, err)
|
||||
}
|
||||
case "updated_unix":
|
||||
m.LastSync = time.Unix(m.LastSyncUnix, 0).Local()
|
||||
|
@ -119,7 +119,7 @@ func (m *Mirror) readAddress() {
|
|||
|
||||
cfg, err := ini.Load(m.Repo.GitConfigPath())
|
||||
if err != nil {
|
||||
log.Error(2, "Load: %v", err)
|
||||
log.Error("Load: %v", err)
|
||||
return
|
||||
}
|
||||
m.address = cfg.Section("remote \"origin\"").Key("url").Value()
|
||||
|
@ -233,12 +233,12 @@ func parseRemoteUpdateOutput(output string) []*mirrorSyncResult {
|
|||
case strings.HasPrefix(lines[i], " "): // New commits of a reference
|
||||
delimIdx := strings.Index(lines[i][3:], " ")
|
||||
if delimIdx == -1 {
|
||||
log.Error(2, "SHA delimiter not found: %q", lines[i])
|
||||
log.Error("SHA delimiter not found: %q", lines[i])
|
||||
continue
|
||||
}
|
||||
shas := strings.Split(lines[i][3:delimIdx+3], "..")
|
||||
if len(shas) != 2 {
|
||||
log.Error(2, "Expect two SHAs but not what found: %q", lines[i])
|
||||
log.Error("Expect two SHAs but not what found: %q", lines[i])
|
||||
continue
|
||||
}
|
||||
results = append(results, &mirrorSyncResult{
|
||||
|
@ -268,7 +268,7 @@ func (m *Mirror) runSync() ([]*mirrorSyncResult, bool) {
|
|||
}) {
|
||||
desc := fmt.Sprintf("Source URL of mirror repository '%s' is not accessible: %s", m.Repo.FullName(), m.MosaicsAddress())
|
||||
if err := CreateRepositoryNotice(desc); err != nil {
|
||||
log.Error(2, "CreateRepositoryNotice: %v", err)
|
||||
log.Error("CreateRepositoryNotice: %v", err)
|
||||
}
|
||||
return nil, false
|
||||
}
|
||||
|
@ -281,17 +281,17 @@ func (m *Mirror) runSync() ([]*mirrorSyncResult, bool) {
|
|||
timeout, repoPath, fmt.Sprintf("Mirror.runSync: %s", repoPath),
|
||||
"git", gitArgs...)
|
||||
if err != nil {
|
||||
desc := fmt.Sprintf("Fail to update mirror repository '%s': %s", repoPath, stderr)
|
||||
log.Error(2, desc)
|
||||
desc := fmt.Sprintf("Failed to update mirror repository '%s': %s", repoPath, stderr)
|
||||
log.Error(desc)
|
||||
if err = CreateRepositoryNotice(desc); err != nil {
|
||||
log.Error(2, "CreateRepositoryNotice: %v", err)
|
||||
log.Error("CreateRepositoryNotice: %v", err)
|
||||
}
|
||||
return nil, false
|
||||
}
|
||||
output := stderr
|
||||
|
||||
if err := m.Repo.UpdateSize(); err != nil {
|
||||
log.Error(2, "UpdateSize [repo_id: %d]: %v", m.Repo.ID, err)
|
||||
log.Error("UpdateSize [repo_id: %d]: %v", m.Repo.ID, err)
|
||||
}
|
||||
|
||||
if m.Repo.HasWiki() {
|
||||
|
@ -299,10 +299,10 @@ func (m *Mirror) runSync() ([]*mirrorSyncResult, bool) {
|
|||
if _, stderr, err := process.ExecDir(
|
||||
timeout, wikiPath, fmt.Sprintf("Mirror.runSync: %s", wikiPath),
|
||||
"git", "remote", "update", "--prune"); err != nil {
|
||||
desc := fmt.Sprintf("Fail to update mirror wiki repository '%s': %s", wikiPath, stderr)
|
||||
log.Error(2, desc)
|
||||
desc := fmt.Sprintf("Failed to update mirror wiki repository '%s': %s", wikiPath, stderr)
|
||||
log.Error(desc)
|
||||
if err = CreateRepositoryNotice(desc); err != nil {
|
||||
log.Error(2, "CreateRepositoryNotice: %v", err)
|
||||
log.Error("CreateRepositoryNotice: %v", err)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -353,14 +353,14 @@ func MirrorUpdate() {
|
|||
if err := x.Where("next_update_unix<=?", time.Now().Unix()).Iterate(new(Mirror), func(idx int, bean interface{}) error {
|
||||
m := bean.(*Mirror)
|
||||
if m.Repo == nil {
|
||||
log.Error(2, "Disconnected mirror repository found: %d", m.ID)
|
||||
log.Error("Disconnected mirror repository found: %d", m.ID)
|
||||
return nil
|
||||
}
|
||||
|
||||
MirrorQueue.Add(m.RepoID)
|
||||
return nil
|
||||
}); err != nil {
|
||||
log.Error(2, "MirrorUpdate: %v", err)
|
||||
log.Error("MirrorUpdate: %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -374,7 +374,7 @@ func SyncMirrors() {
|
|||
|
||||
m, err := GetMirrorByRepoID(com.StrTo(repoID).MustInt64())
|
||||
if err != nil {
|
||||
log.Error(2, "GetMirrorByRepoID [%d]: %v", m.RepoID, err)
|
||||
log.Error("GetMirrorByRepoID [%d]: %v", m.RepoID, err)
|
||||
continue
|
||||
}
|
||||
|
||||
|
@ -385,7 +385,7 @@ func SyncMirrors() {
|
|||
|
||||
m.ScheduleNextSync()
|
||||
if err = UpdateMirror(m); err != nil {
|
||||
log.Error(2, "UpdateMirror [%d]: %v", m.RepoID, err)
|
||||
log.Error("UpdateMirror [%d]: %v", m.RepoID, err)
|
||||
continue
|
||||
}
|
||||
|
||||
|
@ -399,7 +399,7 @@ func SyncMirrors() {
|
|||
} else {
|
||||
gitRepo, err = git.OpenRepository(m.Repo.RepoPath())
|
||||
if err != nil {
|
||||
log.Error(2, "OpenRepository [%d]: %v", m.RepoID, err)
|
||||
log.Error("OpenRepository [%d]: %v", m.RepoID, err)
|
||||
continue
|
||||
}
|
||||
}
|
||||
|
@ -413,7 +413,7 @@ func SyncMirrors() {
|
|||
// Delete reference
|
||||
if result.newCommitID == GIT_SHORT_EMPTY_SHA {
|
||||
if err = MirrorSyncDeleteAction(m.Repo, result.refName); err != nil {
|
||||
log.Error(2, "MirrorSyncDeleteAction [repo_id: %d]: %v", m.RepoID, err)
|
||||
log.Error("MirrorSyncDeleteAction [repo_id: %d]: %v", m.RepoID, err)
|
||||
}
|
||||
continue
|
||||
}
|
||||
|
@ -422,7 +422,7 @@ func SyncMirrors() {
|
|||
isNewRef := false
|
||||
if result.oldCommitID == GIT_SHORT_EMPTY_SHA {
|
||||
if err = MirrorSyncCreateAction(m.Repo, result.refName); err != nil {
|
||||
log.Error(2, "MirrorSyncCreateAction [repo_id: %d]: %v", m.RepoID, err)
|
||||
log.Error("MirrorSyncCreateAction [repo_id: %d]: %v", m.RepoID, err)
|
||||
continue
|
||||
}
|
||||
isNewRef = true
|
||||
|
@ -435,33 +435,33 @@ func SyncMirrors() {
|
|||
if !isNewRef {
|
||||
oldCommitID, err = git.GetFullCommitID(gitRepo.Path, result.oldCommitID)
|
||||
if err != nil {
|
||||
log.Error(2, "GetFullCommitID [%d]: %v", m.RepoID, err)
|
||||
log.Error("GetFullCommitID [%d]: %v", m.RepoID, err)
|
||||
continue
|
||||
}
|
||||
newCommitID, err = git.GetFullCommitID(gitRepo.Path, result.newCommitID)
|
||||
if err != nil {
|
||||
log.Error(2, "GetFullCommitID [%d]: %v", m.RepoID, err)
|
||||
log.Error("GetFullCommitID [%d]: %v", m.RepoID, err)
|
||||
continue
|
||||
}
|
||||
commits, err = gitRepo.CommitsBetweenIDs(newCommitID, oldCommitID)
|
||||
if err != nil {
|
||||
log.Error(2, "CommitsBetweenIDs [repo_id: %d, new_commit_id: %s, old_commit_id: %s]: %v", m.RepoID, newCommitID, oldCommitID, err)
|
||||
log.Error("CommitsBetweenIDs [repo_id: %d, new_commit_id: %s, old_commit_id: %s]: %v", m.RepoID, newCommitID, oldCommitID, err)
|
||||
continue
|
||||
}
|
||||
} else {
|
||||
refNewCommitID, err := gitRepo.GetBranchCommitID(result.refName)
|
||||
if err != nil {
|
||||
log.Error(2, "GetFullCommitID [%d]: %v", m.RepoID, err)
|
||||
log.Error("GetFullCommitID [%d]: %v", m.RepoID, err)
|
||||
continue
|
||||
}
|
||||
if newCommit, err := gitRepo.GetCommit(refNewCommitID); err != nil {
|
||||
log.Error(2, "GetCommit [repo_id: %d, commit_id: %s]: %v", m.RepoID, refNewCommitID, err)
|
||||
log.Error("GetCommit [repo_id: %d, commit_id: %s]: %v", m.RepoID, refNewCommitID, err)
|
||||
continue
|
||||
} else {
|
||||
// TODO: Get the commits for the new ref until the closest ancestor branch like Github does
|
||||
commits, err = newCommit.CommitsBeforeLimit(10)
|
||||
if err != nil {
|
||||
log.Error(2, "CommitsBeforeLimit [repo_id: %d, commit_id: %s]: %v", m.RepoID, refNewCommitID, err)
|
||||
log.Error("CommitsBeforeLimit [repo_id: %d, commit_id: %s]: %v", m.RepoID, refNewCommitID, err)
|
||||
}
|
||||
oldCommitID = git.EMPTY_SHA
|
||||
newCommitID = refNewCommitID
|
||||
|
@ -473,13 +473,13 @@ func SyncMirrors() {
|
|||
NewCommitID: newCommitID,
|
||||
Commits: ListToPushCommits(commits),
|
||||
}); err != nil {
|
||||
log.Error(2, "MirrorSyncPushAction [repo_id: %d]: %v", m.RepoID, err)
|
||||
log.Error("MirrorSyncPushAction [repo_id: %d]: %v", m.RepoID, err)
|
||||
continue
|
||||
}
|
||||
}
|
||||
|
||||
if _, err = x.Exec("UPDATE mirror SET updated_unix = ? WHERE repo_id = ?", time.Now().Unix(), m.RepoID); err != nil {
|
||||
log.Error(2, "Update 'mirror.updated_unix' [%d]: %v", m.RepoID, err)
|
||||
log.Error("Update 'mirror.updated_unix' [%d]: %v", m.RepoID, err)
|
||||
continue
|
||||
}
|
||||
|
||||
|
@ -487,14 +487,14 @@ func SyncMirrors() {
|
|||
// update if latest commit date is newer.
|
||||
commitDate, err := git.GetLatestCommitDate(m.Repo.RepoPath(), "")
|
||||
if err != nil {
|
||||
log.Error(2, "GetLatestCommitDate [%d]: %v", m.RepoID, err)
|
||||
log.Error("GetLatestCommitDate [%d]: %v", m.RepoID, err)
|
||||
continue
|
||||
} else if commitDate.Before(m.Repo.Updated) {
|
||||
continue
|
||||
}
|
||||
|
||||
if _, err = x.Exec("UPDATE repository SET updated_unix = ? WHERE id = ?", commitDate.Unix(), m.RepoID); err != nil {
|
||||
log.Error(2, "Update 'repository.updated_unix' [%d]: %v", m.RepoID, err)
|
||||
log.Error("Update 'repository.updated_unix' [%d]: %v", m.RepoID, err)
|
||||
continue
|
||||
}
|
||||
}
|
||||
|
|
|
@ -20,7 +20,7 @@ import (
|
|||
"github.com/json-iterator/go"
|
||||
_ "github.com/lib/pq"
|
||||
"github.com/unknwon/com"
|
||||
log "gopkg.in/clog.v1"
|
||||
log "unknwon.dev/clog/v2"
|
||||
"xorm.io/core"
|
||||
"xorm.io/xorm"
|
||||
|
||||
|
@ -370,20 +370,20 @@ func ImportDatabase(dirPath string, verbose bool) (err error) {
|
|||
|
||||
meta := make(map[string]interface{})
|
||||
if err = jsoniter.Unmarshal(scanner.Bytes(), &meta); err != nil {
|
||||
log.Error(2, "Failed to unmarshal to map: %v", err)
|
||||
log.Error("Failed to unmarshal to map: %v", err)
|
||||
}
|
||||
|
||||
// Reset created_unix back to the date save in archive because Insert method updates its value
|
||||
if isInsertProcessor && !skipInsertProcessors[rawTableName] {
|
||||
if _, err = x.Exec("UPDATE "+rawTableName+" SET created_unix=? WHERE id=?", meta["CreatedUnix"], meta["ID"]); err != nil {
|
||||
log.Error(2, "Failed to reset 'created_unix': %v", err)
|
||||
log.Error("Failed to reset 'created_unix': %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
switch rawTableName {
|
||||
case "milestone":
|
||||
if _, err = x.Exec("UPDATE "+rawTableName+" SET deadline_unix=?, closed_date_unix=? WHERE id=?", meta["DeadlineUnix"], meta["ClosedDateUnix"], meta["ID"]); err != nil {
|
||||
log.Error(2, "Failed to reset 'milestone.deadline_unix', 'milestone.closed_date_unix': %v", err)
|
||||
log.Error("Failed to reset 'milestone.deadline_unix', 'milestone.closed_date_unix': %v", err)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -12,7 +12,7 @@ import (
|
|||
"time"
|
||||
|
||||
"github.com/unknwon/com"
|
||||
log "gopkg.in/clog.v1"
|
||||
log "unknwon.dev/clog/v2"
|
||||
"xorm.io/xorm"
|
||||
|
||||
"github.com/gogs/git-module"
|
||||
|
@ -331,12 +331,12 @@ func (pr *PullRequest) Merge(doer *User, baseGitRepo *git.Repository, mergeStyle
|
|||
}
|
||||
|
||||
if err = MergePullRequestAction(doer, pr.Issue.Repo, pr.Issue); err != nil {
|
||||
log.Error(2, "MergePullRequestAction [%d]: %v", pr.ID, err)
|
||||
log.Error("MergePullRequestAction [%d]: %v", pr.ID, err)
|
||||
}
|
||||
|
||||
// Reload pull request information.
|
||||
if err = pr.LoadAttributes(); err != nil {
|
||||
log.Error(2, "LoadAttributes: %v", err)
|
||||
log.Error("LoadAttributes: %v", err)
|
||||
return nil
|
||||
}
|
||||
if err = PrepareWebhooks(pr.Issue.Repo, HOOK_EVENT_PULL_REQUEST, &api.PullRequestPayload{
|
||||
|
@ -346,13 +346,13 @@ func (pr *PullRequest) Merge(doer *User, baseGitRepo *git.Repository, mergeStyle
|
|||
Repository: pr.Issue.Repo.APIFormat(nil),
|
||||
Sender: doer.APIFormat(),
|
||||
}); err != nil {
|
||||
log.Error(2, "PrepareWebhooks: %v", err)
|
||||
log.Error("PrepareWebhooks: %v", err)
|
||||
return nil
|
||||
}
|
||||
|
||||
l, err := headGitRepo.CommitsBetweenIDs(pr.MergedCommitID, pr.MergeBase)
|
||||
if err != nil {
|
||||
log.Error(2, "CommitsBetweenIDs: %v", err)
|
||||
log.Error("CommitsBetweenIDs: %v", err)
|
||||
return nil
|
||||
}
|
||||
|
||||
|
@ -361,7 +361,7 @@ func (pr *PullRequest) Merge(doer *User, baseGitRepo *git.Repository, mergeStyle
|
|||
// to avoid strange diff commits produced.
|
||||
mergeCommit, err := baseGitRepo.GetBranchCommit(pr.BaseBranch)
|
||||
if err != nil {
|
||||
log.Error(2, "GetBranchCommit: %v", err)
|
||||
log.Error("GetBranchCommit: %v", err)
|
||||
return nil
|
||||
}
|
||||
if mergeStyle == MERGE_STYLE_REGULAR {
|
||||
|
@ -370,7 +370,7 @@ func (pr *PullRequest) Merge(doer *User, baseGitRepo *git.Repository, mergeStyle
|
|||
|
||||
commits, err := ListToPushCommits(l).ToApiPayloadCommits(pr.BaseRepo.RepoPath(), pr.BaseRepo.HTMLURL())
|
||||
if err != nil {
|
||||
log.Error(2, "ToApiPayloadCommits: %v", err)
|
||||
log.Error("ToApiPayloadCommits: %v", err)
|
||||
return nil
|
||||
}
|
||||
|
||||
|
@ -385,7 +385,7 @@ func (pr *PullRequest) Merge(doer *User, baseGitRepo *git.Repository, mergeStyle
|
|||
Sender: doer.APIFormat(),
|
||||
}
|
||||
if err = PrepareWebhooks(pr.BaseRepo, HOOK_EVENT_PUSH, p); err != nil {
|
||||
log.Error(2, "PrepareWebhooks: %v", err)
|
||||
log.Error("PrepareWebhooks: %v", err)
|
||||
return nil
|
||||
}
|
||||
return nil
|
||||
|
@ -490,10 +490,10 @@ func NewPullRequest(repo *Repository, pull *Issue, labelIDs []int64, uuids []str
|
|||
RepoName: repo.Name,
|
||||
IsPrivate: repo.IsPrivate,
|
||||
}); err != nil {
|
||||
log.Error(2, "NotifyWatchers: %v", err)
|
||||
log.Error("NotifyWatchers: %v", err)
|
||||
}
|
||||
if err = pull.MailParticipants(); err != nil {
|
||||
log.Error(2, "MailParticipants: %v", err)
|
||||
log.Error("MailParticipants: %v", err)
|
||||
}
|
||||
|
||||
pr.Issue = pull
|
||||
|
@ -505,7 +505,7 @@ func NewPullRequest(repo *Repository, pull *Issue, labelIDs []int64, uuids []str
|
|||
Repository: repo.APIFormat(nil),
|
||||
Sender: pull.Poster.APIFormat(),
|
||||
}); err != nil {
|
||||
log.Error(2, "PrepareWebhooks: %v", err)
|
||||
log.Error("PrepareWebhooks: %v", err)
|
||||
}
|
||||
|
||||
return nil
|
||||
|
@ -667,7 +667,7 @@ func (pr *PullRequest) AddToTaskQueue() {
|
|||
go PullRequestQueue.AddFunc(pr.ID, func() {
|
||||
pr.Status = PULL_REQUEST_STATUS_CHECKING
|
||||
if err := pr.UpdateCols("status"); err != nil {
|
||||
log.Error(3, "AddToTaskQueue.UpdateCols[%d].(add to queue): %v", pr.ID, err)
|
||||
log.Error("AddToTaskQueue.UpdateCols[%d].(add to queue): %v", pr.ID, err)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
@ -717,10 +717,10 @@ func addHeadRepoTasks(prs []*PullRequest) {
|
|||
for _, pr := range prs {
|
||||
log.Trace("addHeadRepoTasks[%d]: composing new test task", pr.ID)
|
||||
if err := pr.UpdatePatch(); err != nil {
|
||||
log.Error(4, "UpdatePatch: %v", err)
|
||||
log.Error("UpdatePatch: %v", err)
|
||||
continue
|
||||
} else if err := pr.PushToBaseRepo(); err != nil {
|
||||
log.Error(4, "PushToBaseRepo: %v", err)
|
||||
log.Error("PushToBaseRepo: %v", err)
|
||||
continue
|
||||
}
|
||||
|
||||
|
@ -734,20 +734,20 @@ func AddTestPullRequestTask(doer *User, repoID int64, branch string, isSync bool
|
|||
log.Trace("AddTestPullRequestTask [head_repo_id: %d, head_branch: %s]: finding pull requests", repoID, branch)
|
||||
prs, err := GetUnmergedPullRequestsByHeadInfo(repoID, branch)
|
||||
if err != nil {
|
||||
log.Error(2, "Find pull requests [head_repo_id: %d, head_branch: %s]: %v", repoID, branch, err)
|
||||
log.Error("Find pull requests [head_repo_id: %d, head_branch: %s]: %v", repoID, branch, err)
|
||||
return
|
||||
}
|
||||
|
||||
if isSync {
|
||||
if err = PullRequestList(prs).LoadAttributes(); err != nil {
|
||||
log.Error(2, "PullRequestList.LoadAttributes: %v", err)
|
||||
log.Error("PullRequestList.LoadAttributes: %v", err)
|
||||
}
|
||||
|
||||
if err == nil {
|
||||
for _, pr := range prs {
|
||||
pr.Issue.PullRequest = pr
|
||||
if err = pr.Issue.LoadAttributes(); err != nil {
|
||||
log.Error(2, "LoadAttributes: %v", err)
|
||||
log.Error("LoadAttributes: %v", err)
|
||||
continue
|
||||
}
|
||||
if err = PrepareWebhooks(pr.Issue.Repo, HOOK_EVENT_PULL_REQUEST, &api.PullRequestPayload{
|
||||
|
@ -757,7 +757,7 @@ func AddTestPullRequestTask(doer *User, repoID int64, branch string, isSync bool
|
|||
Repository: pr.Issue.Repo.APIFormat(nil),
|
||||
Sender: doer.APIFormat(),
|
||||
}); err != nil {
|
||||
log.Error(2, "PrepareWebhooks [pull_id: %v]: %v", pr.ID, err)
|
||||
log.Error("PrepareWebhooks [pull_id: %v]: %v", pr.ID, err)
|
||||
continue
|
||||
}
|
||||
}
|
||||
|
@ -769,7 +769,7 @@ func AddTestPullRequestTask(doer *User, repoID int64, branch string, isSync bool
|
|||
log.Trace("AddTestPullRequestTask [base_repo_id: %d, base_branch: %s]: finding pull requests", repoID, branch)
|
||||
prs, err = GetUnmergedPullRequestsByBaseInfo(repoID, branch)
|
||||
if err != nil {
|
||||
log.Error(2, "Find pull requests [base_repo_id: %d, base_branch: %s]: %v", repoID, branch, err)
|
||||
log.Error("Find pull requests [base_repo_id: %d, base_branch: %s]: %v", repoID, branch, err)
|
||||
return
|
||||
}
|
||||
for _, pr := range prs {
|
||||
|
@ -796,7 +796,7 @@ func (pr *PullRequest) checkAndUpdateStatus() {
|
|||
// Make sure there is no waiting test to process before levaing the checking status.
|
||||
if !PullRequestQueue.Exist(pr.ID) {
|
||||
if err := pr.UpdateCols("status"); err != nil {
|
||||
log.Error(4, "Update[%d]: %v", pr.ID, err)
|
||||
log.Error("Update[%d]: %v", pr.ID, err)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -812,12 +812,12 @@ func TestPullRequests() {
|
|||
pr := bean.(*PullRequest)
|
||||
|
||||
if err := pr.LoadAttributes(); err != nil {
|
||||
log.Error(3, "LoadAttributes: %v", err)
|
||||
log.Error("LoadAttributes: %v", err)
|
||||
return nil
|
||||
}
|
||||
|
||||
if err := pr.testPatch(); err != nil {
|
||||
log.Error(3, "testPatch: %v", err)
|
||||
log.Error("testPatch: %v", err)
|
||||
return nil
|
||||
}
|
||||
prs = append(prs, pr)
|
||||
|
@ -836,10 +836,10 @@ func TestPullRequests() {
|
|||
|
||||
pr, err := GetPullRequestByID(com.StrTo(prID).MustInt64())
|
||||
if err != nil {
|
||||
log.Error(4, "GetPullRequestByID[%s]: %v", prID, err)
|
||||
log.Error("GetPullRequestByID[%s]: %v", prID, err)
|
||||
continue
|
||||
} else if err = pr.testPatch(); err != nil {
|
||||
log.Error(4, "testPatch[%d]: %v", pr.ID, err)
|
||||
log.Error("testPatch[%d]: %v", pr.ID, err)
|
||||
continue
|
||||
}
|
||||
|
||||
|
|
|
@ -10,7 +10,7 @@ import (
|
|||
"strings"
|
||||
"time"
|
||||
|
||||
log "gopkg.in/clog.v1"
|
||||
log "unknwon.dev/clog/v2"
|
||||
"xorm.io/xorm"
|
||||
|
||||
"github.com/gogs/git-module"
|
||||
|
@ -156,7 +156,7 @@ func (r *Release) preparePublishWebhooks() {
|
|||
Repository: r.Repo.APIFormat(nil),
|
||||
Sender: r.Publisher.APIFormat(),
|
||||
}); err != nil {
|
||||
log.Error(2, "PrepareWebhooks: %v", err)
|
||||
log.Error("PrepareWebhooks: %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -23,8 +23,8 @@ import (
|
|||
"github.com/nfnt/resize"
|
||||
"github.com/unknwon/cae/zip"
|
||||
"github.com/unknwon/com"
|
||||
log "gopkg.in/clog.v1"
|
||||
"gopkg.in/ini.v1"
|
||||
log "unknwon.dev/clog/v2"
|
||||
"xorm.io/xorm"
|
||||
|
||||
"github.com/gogs/git-module"
|
||||
|
@ -59,13 +59,13 @@ func LoadRepoConfig() {
|
|||
for i, t := range types {
|
||||
files, err := conf.AssetDir("conf/" + t)
|
||||
if err != nil {
|
||||
log.Fatal(4, "Fail to get %s files: %v", t, err)
|
||||
log.Fatal("Failed to get %s files: %v", t, err)
|
||||
}
|
||||
customPath := path.Join(setting.CustomPath, "conf", t)
|
||||
if com.IsDir(customPath) {
|
||||
customFiles, err := com.StatDir(customPath)
|
||||
if err != nil {
|
||||
log.Fatal(4, "Fail to get custom %s files: %v", t, err)
|
||||
log.Fatal("Failed to get custom %s files: %v", t, err)
|
||||
}
|
||||
|
||||
for _, f := range customFiles {
|
||||
|
@ -106,19 +106,19 @@ func NewRepoContext() {
|
|||
|
||||
// Check Git installation.
|
||||
if _, err := exec.LookPath("git"); err != nil {
|
||||
log.Fatal(2, "Failed to test 'git' command: %v (forgotten install?)", err)
|
||||
log.Fatal("Failed to test 'git' command: %v (forgotten install?)", err)
|
||||
}
|
||||
|
||||
// Check Git version.
|
||||
var err error
|
||||
setting.Git.Version, err = git.BinVersion()
|
||||
if err != nil {
|
||||
log.Fatal(2, "Failed to get Git version: %v", err)
|
||||
log.Fatal("Failed to get Git version: %v", err)
|
||||
}
|
||||
|
||||
log.Trace("Git version: %s", setting.Git.Version)
|
||||
if version.Compare("1.8.3", setting.Git.Version, ">") {
|
||||
log.Fatal(2, "Gogs requires Git version greater or equal to 1.8.3")
|
||||
log.Fatal("Gogs requires Git version greater or equal to 1.8.3")
|
||||
}
|
||||
git.HookDir = "custom_hooks"
|
||||
git.HookSampleDir = "hooks"
|
||||
|
@ -130,11 +130,11 @@ func NewRepoContext() {
|
|||
// ExitError indicates this config is not set
|
||||
if _, ok := err.(*exec.ExitError); ok || strings.TrimSpace(stdout) == "" {
|
||||
if _, stderr, gerr := process.Exec("NewRepoContext(set "+configKey+")", "git", "config", "--global", configKey, defaultValue); gerr != nil {
|
||||
log.Fatal(4, "Fail to set git %s(%s): %s", configKey, gerr, stderr)
|
||||
log.Fatal("Failed to set git %s(%s): %s", configKey, gerr, stderr)
|
||||
}
|
||||
log.Info("Git config %s set to %s", configKey, defaultValue)
|
||||
} else {
|
||||
log.Fatal(4, "Fail to get git %s(%s): %s", configKey, err, stderr)
|
||||
log.Fatal("Failed to get git %s(%s): %s", configKey, err, stderr)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -142,7 +142,7 @@ func NewRepoContext() {
|
|||
// Set git some configurations.
|
||||
if _, stderr, err := process.Exec("NewRepoContext(git config --global core.quotepath false)",
|
||||
"git", "config", "--global", "core.quotepath", "false"); err != nil {
|
||||
log.Fatal(2, "Fail to execute 'git config --global core.quotepath false': %v - %s", err, stderr)
|
||||
log.Fatal("Failed to execute 'git config --global core.quotepath false': %v - %s", err, stderr)
|
||||
}
|
||||
|
||||
RemoveAllWithNotice("Clean up repository temporary data", filepath.Join(setting.AppDataPath, "tmp"))
|
||||
|
@ -783,7 +783,7 @@ func MigrateRepository(doer, owner *User, opts MigrateRepoOptions) (*Repository,
|
|||
Quiet: true,
|
||||
Timeout: migrateTimeout,
|
||||
}); err != nil {
|
||||
log.Trace("Fail to clone wiki: %v", err)
|
||||
log.Trace("Failed to clone wiki: %v", err)
|
||||
RemoveAllWithNotice("Delete repository wiki for initialization failure", wikiPath)
|
||||
}
|
||||
}
|
||||
|
@ -813,7 +813,7 @@ func MigrateRepository(doer, owner *User, opts MigrateRepoOptions) (*Repository,
|
|||
}
|
||||
|
||||
if err = repo.UpdateSize(); err != nil {
|
||||
log.Error(2, "UpdateSize [repo_id: %d]: %v", repo.ID, err)
|
||||
log.Error("UpdateSize [repo_id: %d]: %v", repo.ID, err)
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1163,7 +1163,7 @@ func countRepositories(userID int64, private bool) int64 {
|
|||
|
||||
count, err := sess.Count(new(Repository))
|
||||
if err != nil {
|
||||
log.Error(4, "countRepositories: %v", err)
|
||||
log.Error("countRepositories: %v", err)
|
||||
}
|
||||
return count
|
||||
}
|
||||
|
@ -1436,11 +1436,11 @@ func updateRepository(e Engine, repo *Repository, visibilityChanged bool) (err e
|
|||
daemonExportFile := path.Join(repo.RepoPath(), "git-daemon-export-ok")
|
||||
if repo.IsPrivate && com.IsExist(daemonExportFile) {
|
||||
if err = os.Remove(daemonExportFile); err != nil {
|
||||
log.Error(4, "Failed to remove %s: %v", daemonExportFile, err)
|
||||
log.Error("Failed to remove %s: %v", daemonExportFile, err)
|
||||
}
|
||||
} else if !repo.IsPrivate && !com.IsExist(daemonExportFile) {
|
||||
if f, err := os.Create(daemonExportFile); err != nil {
|
||||
log.Error(4, "Failed to create %s: %v", daemonExportFile, err)
|
||||
log.Error("Failed to create %s: %v", daemonExportFile, err)
|
||||
} else {
|
||||
f.Close()
|
||||
}
|
||||
|
@ -1592,7 +1592,7 @@ func DeleteRepository(uid, repoID int64) error {
|
|||
|
||||
if repo.NumForks > 0 {
|
||||
if _, err = x.Exec("UPDATE `repository` SET fork_id=0,is_fork=? WHERE fork_id=?", false, repo.ID); err != nil {
|
||||
log.Error(4, "reset 'fork_id' and 'is_fork': %v", err)
|
||||
log.Error("reset 'fork_id' and 'is_fork': %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1781,14 +1781,14 @@ func DeleteOldRepositoryArchives() {
|
|||
|
||||
dir, err := os.Open(dirPath)
|
||||
if err != nil {
|
||||
log.Error(3, "Fail to open directory '%s': %v", dirPath, err)
|
||||
log.Error("Failed to open directory '%s': %v", dirPath, err)
|
||||
continue
|
||||
}
|
||||
|
||||
fis, err := dir.Readdir(0)
|
||||
dir.Close()
|
||||
if err != nil {
|
||||
log.Error(3, "Fail to read directory '%s': %v", dirPath, err)
|
||||
log.Error("Failed to read directory '%s': %v", dirPath, err)
|
||||
continue
|
||||
}
|
||||
|
||||
|
@ -1799,10 +1799,10 @@ func DeleteOldRepositoryArchives() {
|
|||
|
||||
archivePath := filepath.Join(dirPath, fi.Name())
|
||||
if err = os.Remove(archivePath); err != nil {
|
||||
desc := fmt.Sprintf("Fail to health delete archive '%s': %v", archivePath, err)
|
||||
desc := fmt.Sprintf("Failed to health delete archive '%s': %v", archivePath, err)
|
||||
log.Warn(desc)
|
||||
if err = CreateRepositoryNotice(desc); err != nil {
|
||||
log.Error(3, "CreateRepositoryNotice: %v", err)
|
||||
log.Error("CreateRepositoryNotice: %v", err)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1810,7 +1810,7 @@ func DeleteOldRepositoryArchives() {
|
|||
|
||||
return nil
|
||||
}); err != nil {
|
||||
log.Error(2, "DeleteOldRepositoryArchives: %v", err)
|
||||
log.Error("DeleteOldRepositoryArchives: %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1935,12 +1935,12 @@ func GitFsck() {
|
|||
desc := fmt.Sprintf("Failed to perform health check on repository '%s': %v", repoPath, err)
|
||||
log.Warn(desc)
|
||||
if err = CreateRepositoryNotice(desc); err != nil {
|
||||
log.Error(3, "CreateRepositoryNotice: %v", err)
|
||||
log.Error("CreateRepositoryNotice: %v", err)
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}); err != nil {
|
||||
log.Error(2, "GitFsck: %v", err)
|
||||
log.Error("GitFsck: %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1971,7 +1971,7 @@ type repoChecker struct {
|
|||
func repoStatsCheck(checker *repoChecker) {
|
||||
results, err := x.Query(checker.querySQL)
|
||||
if err != nil {
|
||||
log.Error(2, "Select %s: %v", checker.desc, err)
|
||||
log.Error("Select %s: %v", checker.desc, err)
|
||||
return
|
||||
}
|
||||
for _, result := range results {
|
||||
|
@ -1979,7 +1979,7 @@ func repoStatsCheck(checker *repoChecker) {
|
|||
log.Trace("Updating %s: %d", checker.desc, id)
|
||||
_, err = x.Exec(checker.correctSQL, id, id)
|
||||
if err != nil {
|
||||
log.Error(2, "Update %s[%d]: %v", checker.desc, id, err)
|
||||
log.Error("Update %s[%d]: %v", checker.desc, id, err)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -2033,14 +2033,14 @@ func CheckRepoStats() {
|
|||
desc := "repository count 'num_closed_issues'"
|
||||
results, err := x.Query("SELECT repo.id FROM `repository` repo WHERE repo.num_closed_issues!=(SELECT COUNT(*) FROM `issue` WHERE repo_id=repo.id AND is_closed=? AND is_pull=?)", true, false)
|
||||
if err != nil {
|
||||
log.Error(2, "Select %s: %v", desc, err)
|
||||
log.Error("Select %s: %v", desc, err)
|
||||
} else {
|
||||
for _, result := range results {
|
||||
id := com.StrTo(result["id"]).MustInt64()
|
||||
log.Trace("Updating %s: %d", desc, id)
|
||||
_, err = x.Exec("UPDATE `repository` SET num_closed_issues=(SELECT COUNT(*) FROM `issue` WHERE repo_id=? AND is_closed=? AND is_pull=?) WHERE id=?", id, true, false, id)
|
||||
if err != nil {
|
||||
log.Error(2, "Update %s[%d]: %v", desc, id, err)
|
||||
log.Error("Update %s[%d]: %v", desc, id, err)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -2050,7 +2050,7 @@ func CheckRepoStats() {
|
|||
// ***** START: Repository.NumForks *****
|
||||
results, err = x.Query("SELECT repo.id FROM `repository` repo WHERE repo.num_forks!=(SELECT COUNT(*) FROM `repository` WHERE fork_id=repo.id)")
|
||||
if err != nil {
|
||||
log.Error(2, "Select repository count 'num_forks': %v", err)
|
||||
log.Error("Select repository count 'num_forks': %v", err)
|
||||
} else {
|
||||
for _, result := range results {
|
||||
id := com.StrTo(result["id"]).MustInt64()
|
||||
|
@ -2058,19 +2058,19 @@ func CheckRepoStats() {
|
|||
|
||||
repo, err := GetRepositoryByID(id)
|
||||
if err != nil {
|
||||
log.Error(2, "GetRepositoryByID[%d]: %v", id, err)
|
||||
log.Error("GetRepositoryByID[%d]: %v", id, err)
|
||||
continue
|
||||
}
|
||||
|
||||
rawResult, err := x.Query("SELECT COUNT(*) FROM `repository` WHERE fork_id=?", repo.ID)
|
||||
if err != nil {
|
||||
log.Error(2, "Select count of forks[%d]: %v", repo.ID, err)
|
||||
log.Error("Select count of forks[%d]: %v", repo.ID, err)
|
||||
continue
|
||||
}
|
||||
repo.NumForks = int(parseCountResult(rawResult))
|
||||
|
||||
if err = UpdateRepository(repo, false); err != nil {
|
||||
log.Error(2, "UpdateRepository[%d]: %v", id, err)
|
||||
log.Error("UpdateRepository[%d]: %v", id, err)
|
||||
continue
|
||||
}
|
||||
}
|
||||
|
@ -2410,14 +2410,14 @@ func ForkRepository(doer, owner *User, baseRepo *Repository, name, desc string)
|
|||
}
|
||||
|
||||
if err = repo.UpdateSize(); err != nil {
|
||||
log.Error(2, "UpdateSize [repo_id: %d]: %v", repo.ID, err)
|
||||
log.Error("UpdateSize [repo_id: %d]: %v", repo.ID, err)
|
||||
}
|
||||
if err = PrepareWebhooks(baseRepo, HOOK_EVENT_FORK, &api.ForkPayload{
|
||||
Forkee: repo.APIFormat(nil),
|
||||
Repo: baseRepo.APIFormat(nil),
|
||||
Sender: doer.APIFormat(),
|
||||
}); err != nil {
|
||||
log.Error(2, "PrepareWebhooks [repo_id: %d]: %v", baseRepo.ID, err)
|
||||
log.Error("PrepareWebhooks [repo_id: %d]: %v", baseRepo.ID, err)
|
||||
}
|
||||
return repo, nil
|
||||
}
|
||||
|
|
|
@ -7,7 +7,7 @@ package db
|
|||
import (
|
||||
"fmt"
|
||||
|
||||
log "gopkg.in/clog.v1"
|
||||
log "unknwon.dev/clog/v2"
|
||||
|
||||
api "github.com/gogs/go-gogs-client"
|
||||
)
|
||||
|
@ -41,7 +41,7 @@ func IsCollaborator(repoID, userID int64) bool {
|
|||
}
|
||||
has, err := x.Get(collaboration)
|
||||
if err != nil {
|
||||
log.Error(2, "get collaboration [repo_id: %d, user_id: %d]: %v", repoID, userID, err)
|
||||
log.Error("get collaboration [repo_id: %d, user_id: %d]: %v", repoID, userID, err)
|
||||
return false
|
||||
}
|
||||
return has
|
||||
|
|
|
@ -20,7 +20,7 @@ import (
|
|||
|
||||
"github.com/unknwon/com"
|
||||
"golang.org/x/crypto/ssh"
|
||||
log "gopkg.in/clog.v1"
|
||||
log "unknwon.dev/clog/v2"
|
||||
"xorm.io/xorm"
|
||||
|
||||
"gogs.io/gogs/internal/process"
|
||||
|
@ -341,7 +341,7 @@ func appendAuthorizedKeysToFile(keys ...*PublicKey) error {
|
|||
|
||||
// .ssh directory should have mode 700, and authorized_keys file should have mode 600.
|
||||
if fi.Mode().Perm() > 0600 {
|
||||
log.Error(4, "authorized_keys file has unusual permission flags: %s - setting to -rw-------", fi.Mode().Perm().String())
|
||||
log.Error("authorized_keys file has unusual permission flags: %s - setting to -rw-------", fi.Mode().Perm().String())
|
||||
if err = f.Chmod(0600); err != nil {
|
||||
return err
|
||||
}
|
||||
|
|
|
@ -15,7 +15,7 @@ import (
|
|||
)
|
||||
|
||||
func init() {
|
||||
setting.NewContext()
|
||||
setting.Init()
|
||||
}
|
||||
|
||||
func Test_SSHParsePublicKey(t *testing.T) {
|
||||
|
|
|
@ -12,7 +12,7 @@ import (
|
|||
|
||||
"github.com/pquerna/otp/totp"
|
||||
"github.com/unknwon/com"
|
||||
log "gopkg.in/clog.v1"
|
||||
log "unknwon.dev/clog/v2"
|
||||
"xorm.io/xorm"
|
||||
|
||||
"gogs.io/gogs/internal/db/errors"
|
||||
|
@ -58,7 +58,7 @@ func (t *TwoFactor) ValidateTOTP(passcode string) (bool, error) {
|
|||
func IsUserEnabledTwoFactor(userID int64) bool {
|
||||
has, err := x.Where("user_id = ?", userID).Get(new(TwoFactor))
|
||||
if err != nil {
|
||||
log.Error(2, "IsUserEnabledTwoFactor [user_id: %d]: %v", userID, err)
|
||||
log.Error("IsUserEnabledTwoFactor [user_id: %d]: %v", userID, err)
|
||||
}
|
||||
return has
|
||||
}
|
||||
|
|
|
@ -67,7 +67,7 @@ func PushUpdate(opts PushUpdateOptions) (err error) {
|
|||
gitUpdate := exec.Command("git", "update-server-info")
|
||||
gitUpdate.Dir = repoPath
|
||||
if err = gitUpdate.Run(); err != nil {
|
||||
return fmt.Errorf("Fail to call 'git update-server-info': %v", err)
|
||||
return fmt.Errorf("run 'git update-server-info': %v", err)
|
||||
}
|
||||
|
||||
gitRepo, err := git.OpenRepository(repoPath)
|
||||
|
|
|
@ -23,7 +23,7 @@ import (
|
|||
"github.com/nfnt/resize"
|
||||
"github.com/unknwon/com"
|
||||
"golang.org/x/crypto/pbkdf2"
|
||||
log "gopkg.in/clog.v1"
|
||||
log "unknwon.dev/clog/v2"
|
||||
"xorm.io/xorm"
|
||||
|
||||
"github.com/gogs/git-module"
|
||||
|
@ -265,7 +265,7 @@ func (u *User) RelAvatarLink() string {
|
|||
case setting.DisableGravatar, setting.OfflineMode:
|
||||
if !com.IsExist(u.CustomAvatarPath()) {
|
||||
if err := u.GenerateRandomAvatar(); err != nil {
|
||||
log.Error(3, "GenerateRandomAvatar: %v", err)
|
||||
log.Error("GenerateRandomAvatar: %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -371,7 +371,7 @@ func (u *User) DeleteAvatar() error {
|
|||
func (u *User) IsAdminOfRepo(repo *Repository) bool {
|
||||
has, err := HasAccess(u.ID, repo, ACCESS_MODE_ADMIN)
|
||||
if err != nil {
|
||||
log.Error(2, "HasAccess: %v", err)
|
||||
log.Error("HasAccess: %v", err)
|
||||
}
|
||||
return has
|
||||
}
|
||||
|
@ -380,7 +380,7 @@ func (u *User) IsAdminOfRepo(repo *Repository) bool {
|
|||
func (u *User) IsWriterOfRepo(repo *Repository) bool {
|
||||
has, err := HasAccess(u.ID, repo, ACCESS_MODE_WRITE)
|
||||
if err != nil {
|
||||
log.Error(2, "HasAccess: %v", err)
|
||||
log.Error("HasAccess: %v", err)
|
||||
}
|
||||
return has
|
||||
}
|
||||
|
@ -608,7 +608,7 @@ func parseUserFromCode(code string) (user *User) {
|
|||
if user, err = GetUserByName(string(b)); user != nil {
|
||||
return user
|
||||
} else if !errors.IsUserNotExist(err) {
|
||||
log.Error(2, "GetUserByName: %v", err)
|
||||
log.Error("GetUserByName: %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -16,7 +16,7 @@ import (
|
|||
|
||||
"github.com/json-iterator/go"
|
||||
gouuid "github.com/satori/go.uuid"
|
||||
log "gopkg.in/clog.v1"
|
||||
log "unknwon.dev/clog/v2"
|
||||
"xorm.io/xorm"
|
||||
|
||||
api "github.com/gogs/go-gogs-client"
|
||||
|
@ -127,7 +127,7 @@ func (w *Webhook) AfterSet(colName string, _ xorm.Cell) {
|
|||
case "events":
|
||||
w.HookEvent = &HookEvent{}
|
||||
if err = jsoniter.Unmarshal([]byte(w.Events), w.HookEvent); err != nil {
|
||||
log.Error(3, "Unmarshal [%d]: %v", w.ID, err)
|
||||
log.Error("Unmarshal [%d]: %v", w.ID, err)
|
||||
}
|
||||
case "created_unix":
|
||||
w.Created = time.Unix(w.CreatedUnix, 0).Local()
|
||||
|
@ -139,7 +139,7 @@ func (w *Webhook) AfterSet(colName string, _ xorm.Cell) {
|
|||
func (w *Webhook) GetSlackHook() *SlackMeta {
|
||||
s := &SlackMeta{}
|
||||
if err := jsoniter.Unmarshal([]byte(w.Meta), s); err != nil {
|
||||
log.Error(2, "GetSlackHook [%d]: %v", w.ID, err)
|
||||
log.Error("GetSlackHook [%d]: %v", w.ID, err)
|
||||
}
|
||||
return s
|
||||
}
|
||||
|
@ -457,7 +457,7 @@ func (t *HookTask) AfterSet(colName string, _ xorm.Cell) {
|
|||
|
||||
t.RequestInfo = &HookRequest{}
|
||||
if err = jsoniter.Unmarshal([]byte(t.RequestContent), t.RequestInfo); err != nil {
|
||||
log.Error(3, "Unmarshal[%d]: %v", t.ID, err)
|
||||
log.Error("Unmarshal[%d]: %v", t.ID, err)
|
||||
}
|
||||
|
||||
case "response_content":
|
||||
|
@ -467,7 +467,7 @@ func (t *HookTask) AfterSet(colName string, _ xorm.Cell) {
|
|||
|
||||
t.ResponseInfo = &HookResponse{}
|
||||
if err = jsoniter.Unmarshal([]byte(t.ResponseContent), t.ResponseInfo); err != nil {
|
||||
log.Error(3, "Unmarshal [%d]: %v", t.ID, err)
|
||||
log.Error("Unmarshal [%d]: %v", t.ID, err)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -475,7 +475,7 @@ func (t *HookTask) AfterSet(colName string, _ xorm.Cell) {
|
|||
func (t *HookTask) MarshalJSON(v interface{}) string {
|
||||
p, err := jsoniter.Marshal(v)
|
||||
if err != nil {
|
||||
log.Error(3, "Marshal [%d]: %v", t.ID, err)
|
||||
log.Error("Marshal [%d]: %v", t.ID, err)
|
||||
}
|
||||
return string(p)
|
||||
}
|
||||
|
@ -588,7 +588,7 @@ func prepareHookTasks(e Engine, repo *Repository, event HookEventType, p api.Pay
|
|||
if len(w.Secret) > 0 {
|
||||
data, err := payloader.JSONPayload()
|
||||
if err != nil {
|
||||
log.Error(2, "prepareWebhooks.JSONPayload: %v", err)
|
||||
log.Error("prepareWebhooks.JSONPayload: %v", err)
|
||||
}
|
||||
sig := hmac.New(sha256.New, []byte(w.Secret))
|
||||
sig.Write(data)
|
||||
|
@ -691,7 +691,7 @@ func (t *HookTask) deliver() {
|
|||
// Update webhook last delivery status.
|
||||
w, err := GetWebhookByID(t.HookID)
|
||||
if err != nil {
|
||||
log.Error(3, "GetWebhookByID: %v", err)
|
||||
log.Error("GetWebhookByID: %v", err)
|
||||
return
|
||||
}
|
||||
if t.IsSucceed {
|
||||
|
@ -700,7 +700,7 @@ func (t *HookTask) deliver() {
|
|||
w.LastStatus = HOOK_STATUS_FAILED
|
||||
}
|
||||
if err = UpdateWebhook(w); err != nil {
|
||||
log.Error(3, "UpdateWebhook: %v", err)
|
||||
log.Error("UpdateWebhook: %v", err)
|
||||
return
|
||||
}
|
||||
}()
|
||||
|
@ -742,7 +742,7 @@ func DeliverHooks() {
|
|||
// Update hook task status.
|
||||
for _, t := range tasks {
|
||||
if err := UpdateHookTask(t); err != nil {
|
||||
log.Error(4, "UpdateHookTask [%d]: %v", t.ID, err)
|
||||
log.Error("UpdateHookTask [%d]: %v", t.ID, err)
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -753,13 +753,13 @@ func DeliverHooks() {
|
|||
|
||||
tasks = make([]*HookTask, 0, 5)
|
||||
if err := x.Where("repo_id = ?", repoID).And("is_delivered = ?", false).Find(&tasks); err != nil {
|
||||
log.Error(4, "Get repository [%s] hook tasks: %v", repoID, err)
|
||||
log.Error("Get repository [%s] hook tasks: %v", repoID, err)
|
||||
continue
|
||||
}
|
||||
for _, t := range tasks {
|
||||
t.deliver()
|
||||
if err := UpdateHookTask(t); err != nil {
|
||||
log.Error(4, "UpdateHookTask [%d]: %v", t.ID, err)
|
||||
log.Error("UpdateHookTask [%d]: %v", t.ID, err)
|
||||
continue
|
||||
}
|
||||
}
|
||||
|
|
|
@ -11,9 +11,9 @@ import (
|
|||
"sync"
|
||||
"time"
|
||||
|
||||
log "gopkg.in/clog.v1"
|
||||
"gopkg.in/gomail.v2"
|
||||
"gopkg.in/macaron.v1"
|
||||
log "unknwon.dev/clog/v2"
|
||||
|
||||
"gogs.io/gogs/internal/assets/templates"
|
||||
"gogs.io/gogs/internal/markup"
|
||||
|
@ -111,7 +111,7 @@ func SendUserMail(c *macaron.Context, u User, tpl, code, subject, info string) {
|
|||
}
|
||||
body, err := render(tpl, data)
|
||||
if err != nil {
|
||||
log.Error(2, "render: %v", err)
|
||||
log.Error("render: %v", err)
|
||||
return
|
||||
}
|
||||
|
||||
|
@ -139,7 +139,7 @@ func SendActivateEmailMail(c *macaron.Context, u User, email string) {
|
|||
}
|
||||
body, err := render(MAIL_AUTH_ACTIVATE_EMAIL, data)
|
||||
if err != nil {
|
||||
log.Error(3, "HTMLString: %v", err)
|
||||
log.Error("HTMLString: %v", err)
|
||||
return
|
||||
}
|
||||
|
||||
|
@ -156,7 +156,7 @@ func SendRegisterNotifyMail(c *macaron.Context, u User) {
|
|||
}
|
||||
body, err := render(MAIL_AUTH_REGISTER_NOTIFY, data)
|
||||
if err != nil {
|
||||
log.Error(3, "HTMLString: %v", err)
|
||||
log.Error("HTMLString: %v", err)
|
||||
return
|
||||
}
|
||||
|
||||
|
@ -177,7 +177,7 @@ func SendCollaboratorMail(u, doer User, repo Repository) {
|
|||
}
|
||||
body, err := render(MAIL_NOTIFY_COLLABORATOR, data)
|
||||
if err != nil {
|
||||
log.Error(3, "HTMLString: %v", err)
|
||||
log.Error("HTMLString: %v", err)
|
||||
return
|
||||
}
|
||||
|
||||
|
@ -202,7 +202,7 @@ func composeIssueMessage(issue Issue, repo Repository, doer User, tplName string
|
|||
data["Doer"] = doer
|
||||
content, err := render(tplName, data)
|
||||
if err != nil {
|
||||
log.Error(3, "HTMLString (%s): %v", tplName, err)
|
||||
log.Error("HTMLString (%s): %v", tplName, err)
|
||||
}
|
||||
from := gomail.NewMessage().FormatAddress(setting.MailService.FromEmail, doer.DisplayName())
|
||||
msg := NewMessageFrom(tos, from, subject, content)
|
||||
|
|
|
@ -15,8 +15,8 @@ import (
|
|||
"time"
|
||||
|
||||
"github.com/jaytaylor/html2text"
|
||||
log "gopkg.in/clog.v1"
|
||||
"gopkg.in/gomail.v2"
|
||||
log "unknwon.dev/clog/v2"
|
||||
|
||||
"gogs.io/gogs/internal/setting"
|
||||
)
|
||||
|
@ -43,7 +43,7 @@ func NewMessageFrom(to []string, from, subject, htmlBody string) *Message {
|
|||
if setting.MailService.UsePlainText || setting.MailService.AddPlainTextAlt {
|
||||
plainBody, err := html2text.FromString(htmlBody)
|
||||
if err != nil {
|
||||
log.Error(2, "html2text.FromString: %v", err)
|
||||
log.Error("html2text.FromString: %v", err)
|
||||
} else {
|
||||
contentType = "text/plain"
|
||||
body = plainBody
|
||||
|
@ -209,7 +209,7 @@ func processMailQueue() {
|
|||
case msg := <-mailQueue:
|
||||
log.Trace("New e-mail sending request %s: %s", msg.GetHeader("To"), msg.Info)
|
||||
if err := gomail.Send(sender, msg.Message); err != nil {
|
||||
log.Error(3, "Fail to send emails %s: %s - %v", msg.GetHeader("To"), msg.Info, err)
|
||||
log.Error("Failed to send emails %s: %s - %v", msg.GetHeader("To"), msg.Info, err)
|
||||
} else {
|
||||
log.Trace("E-mails sent %s: %s", msg.GetHeader("To"), msg.Info)
|
||||
}
|
||||
|
|
|
@ -12,11 +12,11 @@ import (
|
|||
"sync"
|
||||
"time"
|
||||
|
||||
log "gopkg.in/clog.v1"
|
||||
log "unknwon.dev/clog/v2"
|
||||
)
|
||||
|
||||
var (
|
||||
ErrExecTimeout = errors.New("Process execution timeout")
|
||||
ErrExecTimeout = errors.New("process execution timeout")
|
||||
)
|
||||
|
||||
const DEFAULT_TIMEOUT = 60 * time.Second
|
||||
|
@ -101,7 +101,7 @@ func ExecDir(timeout time.Duration, dir, desc, cmdName string, args ...string) (
|
|||
select {
|
||||
case <-time.After(timeout):
|
||||
if errKill := Kill(pid); errKill != nil {
|
||||
log.Error(2, "Fail to kill timeout process [pid: %d, desc: %s]: %v", pid, desc, errKill)
|
||||
log.Error("Failed to kill timeout process [pid: %d, desc: %s]: %v", pid, desc, errKill)
|
||||
}
|
||||
<-done
|
||||
return "", ErrExecTimeout.Error(), ErrExecTimeout
|
||||
|
|
|
@ -10,7 +10,7 @@ import (
|
|||
"strings"
|
||||
|
||||
"github.com/unknwon/com"
|
||||
log "gopkg.in/clog.v1"
|
||||
log "unknwon.dev/clog/v2"
|
||||
"xorm.io/core"
|
||||
|
||||
"gogs.io/gogs/internal/auth/ldap"
|
||||
|
|
|
@ -7,7 +7,7 @@ package admin
|
|||
import (
|
||||
"github.com/unknwon/com"
|
||||
"github.com/unknwon/paginater"
|
||||
log "gopkg.in/clog.v1"
|
||||
log "unknwon.dev/clog/v2"
|
||||
|
||||
"gogs.io/gogs/internal/context"
|
||||
"gogs.io/gogs/internal/db"
|
||||
|
|
|
@ -6,7 +6,7 @@ package admin
|
|||
|
||||
import (
|
||||
"github.com/unknwon/paginater"
|
||||
log "gopkg.in/clog.v1"
|
||||
log "unknwon.dev/clog/v2"
|
||||
|
||||
"gogs.io/gogs/internal/context"
|
||||
"gogs.io/gogs/internal/db"
|
||||
|
|
|
@ -8,7 +8,7 @@ import (
|
|||
"strings"
|
||||
|
||||
"github.com/unknwon/com"
|
||||
log "gopkg.in/clog.v1"
|
||||
log "unknwon.dev/clog/v2"
|
||||
|
||||
"gogs.io/gogs/internal/context"
|
||||
"gogs.io/gogs/internal/db"
|
||||
|
|
|
@ -5,10 +5,9 @@
|
|||
package admin
|
||||
|
||||
import (
|
||||
user2 "gogs.io/gogs/internal/route/api/v1/user"
|
||||
"net/http"
|
||||
|
||||
log "gopkg.in/clog.v1"
|
||||
log "unknwon.dev/clog/v2"
|
||||
|
||||
api "github.com/gogs/go-gogs-client"
|
||||
|
||||
|
@ -16,6 +15,7 @@ import (
|
|||
"gogs.io/gogs/internal/db"
|
||||
"gogs.io/gogs/internal/db/errors"
|
||||
"gogs.io/gogs/internal/mailer"
|
||||
"gogs.io/gogs/internal/route/api/v1/user"
|
||||
"gogs.io/gogs/internal/setting"
|
||||
)
|
||||
|
||||
|
@ -76,7 +76,7 @@ func CreateUser(c *context.APIContext, form api.CreateUserOption) {
|
|||
}
|
||||
|
||||
func EditUser(c *context.APIContext, form api.EditUserOption) {
|
||||
u := user2.GetUserByParams(c)
|
||||
u := user.GetUserByParams(c)
|
||||
if c.Written() {
|
||||
return
|
||||
}
|
||||
|
@ -131,7 +131,7 @@ func EditUser(c *context.APIContext, form api.EditUserOption) {
|
|||
}
|
||||
|
||||
func DeleteUser(c *context.APIContext) {
|
||||
u := user2.GetUserByParams(c)
|
||||
u := user.GetUserByParams(c)
|
||||
if c.Written() {
|
||||
return
|
||||
}
|
||||
|
@ -151,9 +151,9 @@ func DeleteUser(c *context.APIContext) {
|
|||
}
|
||||
|
||||
func CreatePublicKey(c *context.APIContext, form api.CreateKeyOption) {
|
||||
u := user2.GetUserByParams(c)
|
||||
u := user.GetUserByParams(c)
|
||||
if c.Written() {
|
||||
return
|
||||
}
|
||||
user2.CreateUserPublicKey(c, form, u.ID)
|
||||
user.CreateUserPublicKey(c, form, u.ID)
|
||||
}
|
||||
|
|
|
@ -6,11 +6,10 @@ package repo
|
|||
|
||||
import (
|
||||
"fmt"
|
||||
convert2 "gogs.io/gogs/internal/route/api/v1/convert"
|
||||
"net/http"
|
||||
"path"
|
||||
|
||||
log "gopkg.in/clog.v1"
|
||||
log "unknwon.dev/clog/v2"
|
||||
|
||||
api "github.com/gogs/go-gogs-client"
|
||||
|
||||
|
@ -18,6 +17,7 @@ import (
|
|||
"gogs.io/gogs/internal/db"
|
||||
"gogs.io/gogs/internal/db/errors"
|
||||
"gogs.io/gogs/internal/form"
|
||||
"gogs.io/gogs/internal/route/api/v1/convert"
|
||||
"gogs.io/gogs/internal/setting"
|
||||
)
|
||||
|
||||
|
@ -25,7 +25,7 @@ func Search(c *context.APIContext) {
|
|||
opts := &db.SearchRepoOptions{
|
||||
Keyword: path.Base(c.Query("q")),
|
||||
OwnerID: c.QueryInt64("uid"),
|
||||
PageSize: convert2.ToCorrectPageSize(c.QueryInt("limit")),
|
||||
PageSize: convert.ToCorrectPageSize(c.QueryInt("limit")),
|
||||
Page: c.QueryInt("page"),
|
||||
}
|
||||
|
||||
|
@ -173,7 +173,7 @@ func CreateUserRepo(c *context.APIContext, owner *db.User, opt api.CreateRepoOpt
|
|||
} else {
|
||||
if repo != nil {
|
||||
if err = db.DeleteRepository(c.User.ID, repo.ID); err != nil {
|
||||
log.Error(2, "DeleteRepository: %v", err)
|
||||
log.Error("DeleteRepository: %v", err)
|
||||
}
|
||||
}
|
||||
c.ServerError("CreateRepository", err)
|
||||
|
@ -270,7 +270,7 @@ func Migrate(c *context.APIContext, f form.MigrateRepo) {
|
|||
if err != nil {
|
||||
if repo != nil {
|
||||
if errDelete := db.DeleteRepository(ctxUser.ID, repo.ID); errDelete != nil {
|
||||
log.Error(2, "DeleteRepository: %v", errDelete)
|
||||
log.Error("DeleteRepository: %v", errDelete)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -12,9 +12,9 @@ import (
|
|||
"strings"
|
||||
|
||||
"github.com/unknwon/com"
|
||||
log "gopkg.in/clog.v1"
|
||||
"gopkg.in/ini.v1"
|
||||
"gopkg.in/macaron.v1"
|
||||
log "unknwon.dev/clog/v2"
|
||||
"xorm.io/xorm"
|
||||
|
||||
"github.com/gogs/git-module"
|
||||
|
@ -46,24 +46,25 @@ func checkRunMode() {
|
|||
log.Info("Run mode: %s", strings.Title(macaron.Env))
|
||||
}
|
||||
|
||||
func NewServices() {
|
||||
setting.NewServices()
|
||||
mailer.NewContext()
|
||||
}
|
||||
|
||||
// GlobalInit is for global configuration reload-able.
|
||||
func GlobalInit() {
|
||||
setting.NewContext()
|
||||
setting.Init()
|
||||
setting.InitLogging()
|
||||
log.Info("%s %s", setting.AppName, setting.AppVersion)
|
||||
log.Trace("Custom path: %s", setting.CustomPath)
|
||||
log.Trace("Log path: %s", setting.LogRootPath)
|
||||
log.Trace("Build time: %s", setting.BuildTime)
|
||||
log.Trace("Build commit: %s", setting.BuildCommit)
|
||||
|
||||
db.LoadConfigs()
|
||||
NewServices()
|
||||
setting.NewServices()
|
||||
mailer.NewContext()
|
||||
|
||||
if setting.InstallLock {
|
||||
highlight.NewContext()
|
||||
markup.NewSanitizer()
|
||||
if err := db.NewEngine(); err != nil {
|
||||
log.Fatal(2, "Fail to initialize ORM engine: %v", err)
|
||||
log.Fatal("Failed to initialize ORM engine: %v", err)
|
||||
}
|
||||
db.HasEngine = true
|
||||
|
||||
|
@ -302,7 +303,7 @@ func InstallPost(c *context.Context, f form.Install) {
|
|||
if com.IsFile(setting.CustomConf) {
|
||||
// Keeps custom settings if there is already something.
|
||||
if err := cfg.Append(setting.CustomConf); err != nil {
|
||||
log.Error(2, "Fail to load custom conf '%s': %v", setting.CustomConf, err)
|
||||
log.Error("Failed to load custom conf '%s': %v", setting.CustomConf, err)
|
||||
}
|
||||
}
|
||||
cfg.Section("database").Key("DB_TYPE").SetValue(db.DbCfg.Type)
|
||||
|
|
|
@ -6,7 +6,7 @@ package org
|
|||
|
||||
import (
|
||||
"github.com/unknwon/com"
|
||||
log "gopkg.in/clog.v1"
|
||||
log "unknwon.dev/clog/v2"
|
||||
|
||||
"gogs.io/gogs/internal/context"
|
||||
"gogs.io/gogs/internal/db"
|
||||
|
@ -76,7 +76,7 @@ func MembersAction(c *context.Context) {
|
|||
}
|
||||
|
||||
if err != nil {
|
||||
log.Error(4, "Action(%s): %v", c.Params(":action"), err)
|
||||
log.Error("Action(%s): %v", c.Params(":action"), err)
|
||||
c.JSON(200, map[string]interface{}{
|
||||
"ok": false,
|
||||
"err": err.Error(),
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
package org
|
||||
|
||||
import (
|
||||
log "gopkg.in/clog.v1"
|
||||
log "unknwon.dev/clog/v2"
|
||||
|
||||
"gogs.io/gogs/internal/context"
|
||||
"gogs.io/gogs/internal/db"
|
||||
|
|
|
@ -5,15 +5,15 @@
|
|||
package org
|
||||
|
||||
import (
|
||||
user2 "gogs.io/gogs/internal/route/user"
|
||||
"strings"
|
||||
|
||||
log "gopkg.in/clog.v1"
|
||||
log "unknwon.dev/clog/v2"
|
||||
|
||||
"gogs.io/gogs/internal/context"
|
||||
"gogs.io/gogs/internal/db"
|
||||
"gogs.io/gogs/internal/db/errors"
|
||||
"gogs.io/gogs/internal/form"
|
||||
"gogs.io/gogs/internal/route/user"
|
||||
"gogs.io/gogs/internal/setting"
|
||||
)
|
||||
|
||||
|
@ -89,7 +89,7 @@ func SettingsPost(c *context.Context, f form.UpdateOrgSetting) {
|
|||
|
||||
func SettingsAvatar(c *context.Context, f form.Avatar) {
|
||||
f.Source = form.AVATAR_LOCAL
|
||||
if err := user2.UpdateAvatarSetting(c, f, c.Org.Organization); err != nil {
|
||||
if err := user.UpdateAvatarSetting(c, f, c.Org.Organization); err != nil {
|
||||
c.Flash.Error(err.Error())
|
||||
} else {
|
||||
c.Flash.Success(c.Tr("org.settings.update_avatar_success"))
|
||||
|
|
|
@ -8,7 +8,7 @@ import (
|
|||
"path"
|
||||
|
||||
"github.com/unknwon/com"
|
||||
log "gopkg.in/clog.v1"
|
||||
log "unknwon.dev/clog/v2"
|
||||
|
||||
"gogs.io/gogs/internal/context"
|
||||
"gogs.io/gogs/internal/db"
|
||||
|
@ -90,7 +90,7 @@ func TeamsAction(c *context.Context) {
|
|||
if db.IsErrLastOrgOwner(err) {
|
||||
c.Flash.Error(c.Tr("form.last_org_owner"))
|
||||
} else {
|
||||
log.Error(3, "Action(%s): %v", c.Params(":action"), err)
|
||||
log.Error("Action(%s): %v", c.Params(":action"), err)
|
||||
c.JSON(200, map[string]interface{}{
|
||||
"ok": false,
|
||||
"err": err.Error(),
|
||||
|
@ -134,7 +134,7 @@ func TeamsRepoAction(c *context.Context) {
|
|||
}
|
||||
|
||||
if err != nil {
|
||||
log.Error(3, "Action(%s): '%s' %v", c.Params(":action"), c.Org.Team.Name, err)
|
||||
log.Error("Action(%s): '%s' %v", c.Params(":action"), c.Org.Team.Name, err)
|
||||
c.Handle(500, "TeamsRepoAction", err)
|
||||
return
|
||||
}
|
||||
|
|
|
@ -7,7 +7,7 @@ package repo
|
|||
import (
|
||||
"time"
|
||||
|
||||
log "gopkg.in/clog.v1"
|
||||
log "unknwon.dev/clog/v2"
|
||||
|
||||
"github.com/gogs/git-module"
|
||||
api "github.com/gogs/go-gogs-client"
|
||||
|
@ -125,7 +125,7 @@ func DeleteBranchPost(c *context.Context) {
|
|||
if len(commitID) > 0 {
|
||||
branchCommitID, err := c.Repo.GitRepo.GetBranchCommitID(branchName)
|
||||
if err != nil {
|
||||
log.Error(2, "Failed to get commit ID of branch %q: %v", branchName, err)
|
||||
log.Error("Failed to get commit ID of branch %q: %v", branchName, err)
|
||||
return
|
||||
}
|
||||
|
||||
|
@ -138,7 +138,7 @@ func DeleteBranchPost(c *context.Context) {
|
|||
if err := c.Repo.GitRepo.DeleteBranch(branchName, git.DeleteBranchOptions{
|
||||
Force: true,
|
||||
}); err != nil {
|
||||
log.Error(2, "Failed to delete branch %q: %v", branchName, err)
|
||||
log.Error("Failed to delete branch %q: %v", branchName, err)
|
||||
return
|
||||
}
|
||||
|
||||
|
@ -149,7 +149,7 @@ func DeleteBranchPost(c *context.Context) {
|
|||
Repo: c.Repo.Repository.APIFormat(nil),
|
||||
Sender: c.User.APIFormat(),
|
||||
}); err != nil {
|
||||
log.Error(2, "Failed to prepare webhooks for %q: %v", db.HOOK_EVENT_DELETE, err)
|
||||
log.Error("Failed to prepare webhooks for %q: %v", db.HOOK_EVENT_DELETE, err)
|
||||
return
|
||||
}
|
||||
}
|
||||
|
|
|
@ -11,7 +11,7 @@ import (
|
|||
"path"
|
||||
"strings"
|
||||
|
||||
log "gopkg.in/clog.v1"
|
||||
log "unknwon.dev/clog/v2"
|
||||
|
||||
"github.com/gogs/git-module"
|
||||
"gogs.io/gogs/internal/context"
|
||||
|
@ -91,7 +91,7 @@ func editFile(c *context.Context, isNewFile bool) {
|
|||
buf = append(buf, d...)
|
||||
if err, content := template.ToUTF8WithErr(buf); err != nil {
|
||||
if err != nil {
|
||||
log.Error(2, "Failed to convert encoding to UTF-8: %v", err)
|
||||
log.Error("Failed to convert encoding to UTF-8: %v", err)
|
||||
}
|
||||
c.Data["FileContent"] = string(buf)
|
||||
} else {
|
||||
|
@ -278,7 +278,7 @@ func editFilePost(c *context.Context, f form.EditRepoFile, isNewFile bool) {
|
|||
Content: strings.Replace(f.Content, "\r", "", -1),
|
||||
IsNewFile: isNewFile,
|
||||
}); err != nil {
|
||||
log.Error(2, "Failed to update repo file: %v", err)
|
||||
log.Error("Failed to update repo file: %v", err)
|
||||
c.FormErr("TreePath")
|
||||
c.RenderWithErr(c.Tr("repo.editor.fail_to_update_file", f.TreePath, errors.InternalServerError), EDIT_FILE, &f)
|
||||
return
|
||||
|
@ -385,7 +385,7 @@ func DeleteFilePost(c *context.Context, f form.DeleteRepoFile) {
|
|||
TreePath: c.Repo.TreePath,
|
||||
Message: message,
|
||||
}); err != nil {
|
||||
log.Error(2, "Failed to delete repo file: %v", err)
|
||||
log.Error("Failed to delete repo file: %v", err)
|
||||
c.RenderWithErr(c.Tr("repo.editor.fail_to_delete_file", c.Repo.TreePath, errors.InternalServerError), DELETE_FILE, &f)
|
||||
return
|
||||
}
|
||||
|
@ -505,7 +505,7 @@ func UploadFilePost(c *context.Context, f form.UploadRepoFile) {
|
|||
Message: message,
|
||||
Files: f.Files,
|
||||
}); err != nil {
|
||||
log.Error(2, "Failed to upload files: %v", err)
|
||||
log.Error("Failed to upload files: %v", err)
|
||||
c.FormErr("TreePath")
|
||||
c.RenderWithErr(c.Tr("repo.editor.unable_to_upload_files", f.TreePath, errors.InternalServerError), UPLOAD_FILE, &f)
|
||||
return
|
||||
|
|
|
@ -16,8 +16,8 @@ import (
|
|||
"strings"
|
||||
"time"
|
||||
|
||||
log "gopkg.in/clog.v1"
|
||||
"gopkg.in/macaron.v1"
|
||||
log "unknwon.dev/clog/v2"
|
||||
|
||||
"gogs.io/gogs/internal/context"
|
||||
"gogs.io/gogs/internal/db"
|
||||
|
@ -235,7 +235,7 @@ func serviceRPC(h serviceHandler, service string) {
|
|||
if h.r.Header.Get("Content-Encoding") == "gzip" {
|
||||
reqBody, err = gzip.NewReader(reqBody)
|
||||
if err != nil {
|
||||
log.Error(2, "HTTP.Get: fail to create gzip reader: %v", err)
|
||||
log.Error("HTTP.Get: fail to create gzip reader: %v", err)
|
||||
h.w.WriteHeader(http.StatusInternalServerError)
|
||||
return
|
||||
}
|
||||
|
@ -258,7 +258,7 @@ func serviceRPC(h serviceHandler, service string) {
|
|||
cmd.Stderr = &stderr
|
||||
cmd.Stdin = reqBody
|
||||
if err = cmd.Run(); err != nil {
|
||||
log.Error(2, "HTTP.serviceRPC: fail to serve RPC '%s': %v - %s", service, err, stderr.String())
|
||||
log.Error("HTTP.serviceRPC: fail to serve RPC '%s': %v - %s", service, err, stderr.String())
|
||||
h.w.WriteHeader(http.StatusInternalServerError)
|
||||
return
|
||||
}
|
||||
|
@ -286,7 +286,7 @@ func gitCommand(dir string, args ...string) []byte {
|
|||
cmd.Dir = dir
|
||||
out, err := cmd.Output()
|
||||
if err != nil {
|
||||
log.Error(2, fmt.Sprintf("Git: %v - %s", err, out))
|
||||
log.Error(fmt.Sprintf("Git: %v - %s", err, out))
|
||||
}
|
||||
return out
|
||||
}
|
||||
|
|
|
@ -15,7 +15,7 @@ import (
|
|||
|
||||
"github.com/unknwon/com"
|
||||
"github.com/unknwon/paginater"
|
||||
log "gopkg.in/clog.v1"
|
||||
log "unknwon.dev/clog/v2"
|
||||
|
||||
"gogs.io/gogs/internal/context"
|
||||
"gogs.io/gogs/internal/db"
|
||||
|
@ -891,7 +891,7 @@ func NewComment(c *context.Context, f form.CreateComment) {
|
|||
c.Flash.Info(c.Tr("repo.pulls.open_unmerged_pull_exists", pr.Index))
|
||||
} else {
|
||||
if err = issue.ChangeStatus(c.User, c.Repo.Repository, f.Status == "close"); err != nil {
|
||||
log.Error(2, "ChangeStatus: %v", err)
|
||||
log.Error("ChangeStatus: %v", err)
|
||||
} else {
|
||||
log.Trace("Issue [%d] status changed to closed: %v", issue.ID, issue.IsClosed)
|
||||
}
|
||||
|
|
|
@ -10,7 +10,7 @@ import (
|
|||
"strings"
|
||||
|
||||
"github.com/unknwon/com"
|
||||
log "gopkg.in/clog.v1"
|
||||
log "unknwon.dev/clog/v2"
|
||||
|
||||
"github.com/gogs/git-module"
|
||||
|
||||
|
@ -28,7 +28,7 @@ const (
|
|||
PULL_COMMITS = "repo/pulls/commits"
|
||||
PULL_FILES = "repo/pulls/files"
|
||||
|
||||
PULL_REQUEST_TEMPLATE_KEY = "PullRequestTemplate"
|
||||
PULL_REQUEST_TEMPLATE_KEY = "PullRequestTemplate"
|
||||
PULL_REQUEST_TITLE_TEMPLATE_KEY = "PullRequestTitleTemplate"
|
||||
)
|
||||
|
||||
|
@ -648,7 +648,7 @@ func CompareAndPullRequest(c *context.Context) {
|
|||
|
||||
if c.Data[PULL_REQUEST_TITLE_TEMPLATE_KEY] != nil {
|
||||
customTitle := c.Data[PULL_REQUEST_TITLE_TEMPLATE_KEY].(string)
|
||||
r := strings.NewReplacer("{{headBranch}}", headBranch,"{{baseBranch}}", baseBranch)
|
||||
r := strings.NewReplacer("{{headBranch}}", headBranch, "{{baseBranch}}", baseBranch)
|
||||
c.Data["title"] = r.Replace(customTitle)
|
||||
}
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@ import (
|
|||
"fmt"
|
||||
"strings"
|
||||
|
||||
log "gopkg.in/clog.v1"
|
||||
log "unknwon.dev/clog/v2"
|
||||
|
||||
"gogs.io/gogs/internal/context"
|
||||
"gogs.io/gogs/internal/db"
|
||||
|
|
|
@ -11,7 +11,7 @@ import (
|
|||
"strings"
|
||||
|
||||
"github.com/unknwon/com"
|
||||
log "gopkg.in/clog.v1"
|
||||
log "unknwon.dev/clog/v2"
|
||||
|
||||
"github.com/gogs/git-module"
|
||||
|
||||
|
@ -139,7 +139,7 @@ func CreatePost(c *context.Context, f form.CreateRepo) {
|
|||
|
||||
if repo != nil {
|
||||
if errDelete := db.DeleteRepository(ctxUser.ID, repo.ID); errDelete != nil {
|
||||
log.Error(4, "DeleteRepository: %v", errDelete)
|
||||
log.Error("DeleteRepository: %v", errDelete)
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -211,7 +211,7 @@ func MigratePost(c *context.Context, f form.MigrateRepo) {
|
|||
|
||||
if repo != nil {
|
||||
if errDelete := db.DeleteRepository(ctxUser.ID, repo.ID); errDelete != nil {
|
||||
log.Error(4, "DeleteRepository: %v", errDelete)
|
||||
log.Error("DeleteRepository: %v", errDelete)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -12,7 +12,7 @@ import (
|
|||
|
||||
"github.com/gogs/git-module"
|
||||
"github.com/unknwon/com"
|
||||
log "gopkg.in/clog.v1"
|
||||
log "unknwon.dev/clog/v2"
|
||||
|
||||
"gogs.io/gogs/internal/context"
|
||||
"gogs.io/gogs/internal/db"
|
||||
|
@ -100,7 +100,7 @@ func SettingsPost(c *context.Context, f form.RepoSetting) {
|
|||
|
||||
if isNameChanged {
|
||||
if err := db.RenameRepoAction(c.User, oldRepoName, repo); err != nil {
|
||||
log.Error(2, "RenameRepoAction: %v", err)
|
||||
log.Error("RenameRepoAction: %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -410,7 +410,7 @@ func ChangeCollaborationAccessMode(c *context.Context) {
|
|||
if err := c.Repo.Repository.ChangeCollaborationAccessMode(
|
||||
c.QueryInt64("uid"),
|
||||
db.AccessMode(c.QueryInt("mode"))); err != nil {
|
||||
log.Error(2, "ChangeCollaborationAccessMode: %v", err)
|
||||
log.Error("ChangeCollaborationAccessMode: %v", err)
|
||||
return
|
||||
}
|
||||
|
||||
|
|
|
@ -13,7 +13,7 @@ import (
|
|||
"strings"
|
||||
|
||||
"github.com/unknwon/paginater"
|
||||
log "gopkg.in/clog.v1"
|
||||
log "unknwon.dev/clog/v2"
|
||||
|
||||
"github.com/gogs/git-module"
|
||||
|
||||
|
@ -176,7 +176,7 @@ func renderFile(c *context.Context, entry *git.TreeEntry, treeLink, rawLink stri
|
|||
var fileContent string
|
||||
if err, content := template.ToUTF8WithErr(buf); err != nil {
|
||||
if err != nil {
|
||||
log.Error(4, "ToUTF8WithErr: %s", err)
|
||||
log.Error("ToUTF8WithErr: %s", err)
|
||||
}
|
||||
fileContent = string(buf)
|
||||
} else {
|
||||
|
@ -186,7 +186,7 @@ func renderFile(c *context.Context, entry *git.TreeEntry, treeLink, rawLink stri
|
|||
var output bytes.Buffer
|
||||
lines := strings.Split(fileContent, "\n")
|
||||
// Remove blank line at the end of file
|
||||
if len(lines) > 0 && len(lines[len(lines)-1])==0 {
|
||||
if len(lines) > 0 && len(lines[len(lines)-1]) == 0 {
|
||||
lines = lines[:len(lines)-1]
|
||||
}
|
||||
for index, line := range lines {
|
||||
|
|
|
@ -9,7 +9,7 @@ import (
|
|||
"net/url"
|
||||
|
||||
"github.com/go-macaron/captcha"
|
||||
log "gopkg.in/clog.v1"
|
||||
log "unknwon.dev/clog/v2"
|
||||
|
||||
"gogs.io/gogs/internal/context"
|
||||
"gogs.io/gogs/internal/db"
|
||||
|
@ -239,7 +239,7 @@ func LoginTwoFactorPost(c *context.Context) {
|
|||
return
|
||||
}
|
||||
if err = c.Cache.Put(u.TwoFactorCacheKey(passcode), 1, 60); err != nil {
|
||||
log.Error(2, "Failed to put cache 'two factor passcode': %v", err)
|
||||
log.Error("Failed to put cache 'two factor passcode': %v", err)
|
||||
}
|
||||
|
||||
afterLogin(c, u, c.Session.Get("twoFactorRemember").(bool))
|
||||
|
@ -376,7 +376,7 @@ func SignUpPost(c *context.Context, cpt *captcha.Captcha, f form.Register) {
|
|||
c.Success(ACTIVATE)
|
||||
|
||||
if err := c.Cache.Put(u.MailResendCacheKey(), 1, 180); err != nil {
|
||||
log.Error(2, "Failed to put cache key 'mail resend': %v", err)
|
||||
log.Error("Failed to put cache key 'mail resend': %v", err)
|
||||
}
|
||||
return
|
||||
}
|
||||
|
@ -401,7 +401,7 @@ func Activate(c *context.Context) {
|
|||
mailer.SendActivateAccountMail(c.Context, db.NewMailerUser(c.User))
|
||||
|
||||
if err := c.Cache.Put(c.User.MailResendCacheKey(), 1, 180); err != nil {
|
||||
log.Error(2, "Failed to put cache key 'mail resend': %v", err)
|
||||
log.Error("Failed to put cache key 'mail resend': %v", err)
|
||||
}
|
||||
}
|
||||
} else {
|
||||
|
@ -506,7 +506,7 @@ func ForgotPasswdPost(c *context.Context) {
|
|||
|
||||
mailer.SendResetPasswordMail(c.Context, db.NewMailerUser(u))
|
||||
if err = c.Cache.Put(u.MailResendCacheKey(), 1, 180); err != nil {
|
||||
log.Error(2, "Failed to put cache key 'mail resend': %v", err)
|
||||
log.Error("Failed to put cache key 'mail resend': %v", err)
|
||||
}
|
||||
|
||||
c.Data["Hours"] = setting.Service.ActiveCodeLives / 60
|
||||
|
|
|
@ -16,7 +16,7 @@ import (
|
|||
"github.com/pquerna/otp"
|
||||
"github.com/pquerna/otp/totp"
|
||||
"github.com/unknwon/com"
|
||||
log "gopkg.in/clog.v1"
|
||||
log "unknwon.dev/clog/v2"
|
||||
|
||||
"gogs.io/gogs/internal/context"
|
||||
"gogs.io/gogs/internal/db"
|
||||
|
@ -144,7 +144,7 @@ func UpdateAvatarSetting(c *context.Context, f form.Avatar, ctxUser *db.User) er
|
|||
// generate a random one when needed.
|
||||
if ctxUser.UseCustomAvatar && !com.IsFile(ctxUser.CustomAvatarPath()) {
|
||||
if err := ctxUser.GenerateRandomAvatar(); err != nil {
|
||||
log.Error(2, "generate random avatar [%d]: %v", ctxUser.ID, err)
|
||||
log.Error("generate random avatar [%d]: %v", ctxUser.ID, err)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -278,7 +278,7 @@ func SettingsEmailPost(c *context.Context, f form.AddEmail) {
|
|||
mailer.SendActivateEmailMail(c.Context, db.NewMailerUser(c.User), email.Email)
|
||||
|
||||
if err := c.Cache.Put("MailResendLimit_"+c.User.LowerName, c.User.LowerName, 180); err != nil {
|
||||
log.Error(2, "Set cache 'MailResendLimit' failed: %v", err)
|
||||
log.Error("Set cache 'MailResendLimit' failed: %v", err)
|
||||
}
|
||||
c.Flash.Info(c.Tr("settings.add_email_confirmation_sent", email.Email, setting.Service.ActiveCodeLives/60))
|
||||
} else {
|
||||
|
|
|
@ -22,8 +22,8 @@ import (
|
|||
_ "github.com/go-macaron/session/redis"
|
||||
"github.com/mcuadros/go-version"
|
||||
"github.com/unknwon/com"
|
||||
log "gopkg.in/clog.v1"
|
||||
"gopkg.in/ini.v1"
|
||||
log "unknwon.dev/clog/v2"
|
||||
|
||||
"github.com/gogs/go-libravatar"
|
||||
|
||||
|
@ -346,15 +346,19 @@ func execPath() (string, error) {
|
|||
|
||||
func init() {
|
||||
IsWindows = runtime.GOOS == "windows"
|
||||
log.New(log.CONSOLE, log.ConsoleConfig{})
|
||||
|
||||
var err error
|
||||
if AppPath, err = execPath(); err != nil {
|
||||
log.Fatal(2, "Fail to get app path: %v\n", err)
|
||||
err := log.NewConsole()
|
||||
if err != nil {
|
||||
panic("init console logger: " + err.Error())
|
||||
}
|
||||
|
||||
// Note: we don't use path.Dir here because it does not handle case
|
||||
// which path starts with two "/" in Windows: "//psf/Home/..."
|
||||
AppPath, err = execPath()
|
||||
if err != nil {
|
||||
log.Fatal("Failed to get executable path: %v", err)
|
||||
}
|
||||
|
||||
// NOTE: we don't use path.Dir here because it does not handle case
|
||||
// which path starts with two "/" in Windows: "//psf/Home/..."
|
||||
AppPath = strings.Replace(AppPath, "\\", "/", -1)
|
||||
}
|
||||
|
||||
|
@ -374,7 +378,7 @@ func WorkDir() (string, error) {
|
|||
|
||||
func forcePathSeparator(path string) {
|
||||
if strings.Contains(path, "\\") {
|
||||
log.Fatal(2, "Do not use '\\' or '\\\\' in paths, instead, please use '/' in all places")
|
||||
log.Fatal("Do not use '\\' or '\\\\' in paths, please use '/' in all places")
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -394,31 +398,33 @@ func IsRunUserMatchCurrentUser(runUser string) (string, bool) {
|
|||
// getOpenSSHVersion parses and returns string representation of OpenSSH version
|
||||
// returned by command "ssh -V".
|
||||
func getOpenSSHVersion() string {
|
||||
// Note: somehow version is printed to stderr
|
||||
_, stderr, err := process.Exec("getOpenSSHVersion", "ssh", "-V")
|
||||
// NOTE: Somehow the version is printed to stderr.
|
||||
_, stderr, err := process.Exec("setting.getOpenSSHVersion", "ssh", "-V")
|
||||
if err != nil {
|
||||
log.Fatal(2, "Fail to get OpenSSH version: %v - %s", err, stderr)
|
||||
log.Fatal("Failed to get OpenSSH version: %v - %s", err, stderr)
|
||||
}
|
||||
|
||||
// Trim unused information: https://gogs.io/gogs/issues/4507#issuecomment-305150441
|
||||
// Trim unused information: https://github.com/gogs/gogs/issues/4507#issuecomment-305150441
|
||||
version := strings.TrimRight(strings.Fields(stderr)[0], ",1234567890")
|
||||
version = strings.TrimSuffix(strings.TrimPrefix(version, "OpenSSH_"), "p")
|
||||
return version
|
||||
}
|
||||
|
||||
// NewContext initializes configuration context.
|
||||
// NOTE: do not print any log except error.
|
||||
func NewContext() {
|
||||
// Init initializes configuration by loading from sources.
|
||||
// ⚠️ WARNING: Do not print anything in this function other than wanrings or errors.
|
||||
func Init() {
|
||||
workDir, err := WorkDir()
|
||||
if err != nil {
|
||||
log.Fatal(2, "Fail to get work directory: %v", err)
|
||||
log.Fatal("Failed to get work directory: %v", err)
|
||||
return
|
||||
}
|
||||
|
||||
Cfg, err = ini.LoadSources(ini.LoadOptions{
|
||||
IgnoreInlineComment: true,
|
||||
}, conf.MustAsset("conf/app.ini"))
|
||||
if err != nil {
|
||||
log.Fatal(2, "Fail to parse 'conf/app.ini': %v", err)
|
||||
log.Fatal("Failed to parse 'conf/app.ini': %v", err)
|
||||
return
|
||||
}
|
||||
|
||||
CustomPath = os.Getenv("GOGS_CUSTOM")
|
||||
|
@ -432,16 +438,18 @@ func NewContext() {
|
|||
|
||||
if com.IsFile(CustomConf) {
|
||||
if err = Cfg.Append(CustomConf); err != nil {
|
||||
log.Fatal(2, "Fail to load custom conf '%s': %v", CustomConf, err)
|
||||
log.Fatal("Failed to load custom conf %q: %v", CustomConf, err)
|
||||
return
|
||||
}
|
||||
} else {
|
||||
log.Warn("Custom config '%s' not found, ignore this if you're running first time", CustomConf)
|
||||
log.Warn("Custom config '%s' not found, ignore this warning if you're running the first time", CustomConf)
|
||||
}
|
||||
Cfg.NameMapper = ini.AllCapsUnderscore
|
||||
Cfg.NameMapper = ini.SnackCase
|
||||
|
||||
homeDir, err := com.HomeDir()
|
||||
if err != nil {
|
||||
log.Fatal(2, "Fail to get home directory: %v", err)
|
||||
log.Fatal("Failed to get home directory: %v", err)
|
||||
return
|
||||
}
|
||||
homeDir = strings.Replace(homeDir, "\\", "/", -1)
|
||||
|
||||
|
@ -458,7 +466,8 @@ func NewContext() {
|
|||
// Check if has app suburl.
|
||||
url, err := url.Parse(AppURL)
|
||||
if err != nil {
|
||||
log.Fatal(2, "Invalid ROOT_URL '%s': %s", AppURL, err)
|
||||
log.Fatal("Failed to parse ROOT_URL %q: %s", AppURL, err)
|
||||
return
|
||||
}
|
||||
// Suburl should start with '/' and end without '/', such as '/{subpath}'.
|
||||
// This value is empty if site does not have sub-url.
|
||||
|
@ -479,7 +488,8 @@ func NewContext() {
|
|||
UnixSocketPermissionRaw := sec.Key("UNIX_SOCKET_PERMISSION").MustString("666")
|
||||
UnixSocketPermissionParsed, err := strconv.ParseUint(UnixSocketPermissionRaw, 8, 32)
|
||||
if err != nil || UnixSocketPermissionParsed > 0777 {
|
||||
log.Fatal(2, "Fail to parse unixSocketPermission: %s", UnixSocketPermissionRaw)
|
||||
log.Fatal("Failed to parse unixSocketPermission %q: %v", UnixSocketPermissionRaw, err)
|
||||
return
|
||||
}
|
||||
UnixSocketPermission = uint32(UnixSocketPermissionParsed)
|
||||
}
|
||||
|
@ -506,7 +516,8 @@ func NewContext() {
|
|||
SSH.ServerCiphers = sec.Key("SSH_SERVER_CIPHERS").Strings(",")
|
||||
SSH.KeyTestPath = os.TempDir()
|
||||
if err = Cfg.Section("server").MapTo(&SSH); err != nil {
|
||||
log.Fatal(2, "Fail to map SSH settings: %v", err)
|
||||
log.Fatal("Failed to map SSH settings: %v", err)
|
||||
return
|
||||
}
|
||||
if SSH.Disabled {
|
||||
SSH.StartBuiltinServer = false
|
||||
|
@ -515,9 +526,11 @@ func NewContext() {
|
|||
|
||||
if !SSH.Disabled && !SSH.StartBuiltinServer {
|
||||
if err := os.MkdirAll(SSH.RootPath, 0700); err != nil {
|
||||
log.Fatal(2, "Fail to create '%s': %v", SSH.RootPath, err)
|
||||
log.Fatal("Failed to create '%s': %v", SSH.RootPath, err)
|
||||
return
|
||||
} else if err = os.MkdirAll(SSH.KeyTestPath, 0644); err != nil {
|
||||
log.Fatal(2, "Fail to create '%s': %v", SSH.KeyTestPath, err)
|
||||
log.Fatal("Failed to create '%s': %v", SSH.KeyTestPath, err)
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -589,7 +602,8 @@ func NewContext() {
|
|||
if InstallLock {
|
||||
currentUser, match := IsRunUserMatchCurrentUser(RunUser)
|
||||
if !match {
|
||||
log.Fatal(2, "Expect user '%s' but current user is: %s", RunUser, currentUser)
|
||||
log.Fatal("The user configured to run Gogs is %q, but the current user is %q", RunUser, currentUser)
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -606,11 +620,14 @@ func NewContext() {
|
|||
}
|
||||
ScriptType = sec.Key("SCRIPT_TYPE").MustString("bash")
|
||||
if err = Cfg.Section("repository").MapTo(&Repository); err != nil {
|
||||
log.Fatal(2, "Fail to map Repository settings: %v", err)
|
||||
log.Fatal("Failed to map Repository settings: %v", err)
|
||||
return
|
||||
} else if err = Cfg.Section("repository.editor").MapTo(&Repository.Editor); err != nil {
|
||||
log.Fatal(2, "Fail to map Repository.Editor settings: %v", err)
|
||||
log.Fatal("Failed to map Repository.Editor settings: %v", err)
|
||||
return
|
||||
} else if err = Cfg.Section("repository.upload").MapTo(&Repository.Upload); err != nil {
|
||||
log.Fatal(2, "Fail to map Repository.Upload settings: %v", err)
|
||||
log.Fatal("Failed to map Repository.Upload settings: %v", err)
|
||||
return
|
||||
}
|
||||
|
||||
if !filepath.IsAbs(Repository.Upload.TempPath) {
|
||||
|
@ -663,29 +680,41 @@ func NewContext() {
|
|||
}
|
||||
|
||||
if err = Cfg.Section("http").MapTo(&HTTP); err != nil {
|
||||
log.Fatal(2, "Failed to map HTTP settings: %v", err)
|
||||
log.Fatal("Failed to map HTTP settings: %v", err)
|
||||
return
|
||||
} else if err = Cfg.Section("webhook").MapTo(&Webhook); err != nil {
|
||||
log.Fatal(2, "Failed to map Webhook settings: %v", err)
|
||||
log.Fatal("Failed to map Webhook settings: %v", err)
|
||||
return
|
||||
} else if err = Cfg.Section("release.attachment").MapTo(&Release.Attachment); err != nil {
|
||||
log.Fatal(2, "Failed to map Release.Attachment settings: %v", err)
|
||||
log.Fatal("Failed to map Release.Attachment settings: %v", err)
|
||||
return
|
||||
} else if err = Cfg.Section("markdown").MapTo(&Markdown); err != nil {
|
||||
log.Fatal(2, "Failed to map Markdown settings: %v", err)
|
||||
log.Fatal("Failed to map Markdown settings: %v", err)
|
||||
return
|
||||
} else if err = Cfg.Section("smartypants").MapTo(&Smartypants); err != nil {
|
||||
log.Fatal(2, "Failed to map Smartypants settings: %v", err)
|
||||
log.Fatal("Failed to map Smartypants settings: %v", err)
|
||||
return
|
||||
} else if err = Cfg.Section("admin").MapTo(&Admin); err != nil {
|
||||
log.Fatal(2, "Failed to map Admin settings: %v", err)
|
||||
log.Fatal("Failed to map Admin settings: %v", err)
|
||||
return
|
||||
} else if err = Cfg.Section("cron").MapTo(&Cron); err != nil {
|
||||
log.Fatal(2, "Failed to map Cron settings: %v", err)
|
||||
log.Fatal("Failed to map Cron settings: %v", err)
|
||||
return
|
||||
} else if err = Cfg.Section("git").MapTo(&Git); err != nil {
|
||||
log.Fatal(2, "Failed to map Git settings: %v", err)
|
||||
log.Fatal("Failed to map Git settings: %v", err)
|
||||
return
|
||||
} else if err = Cfg.Section("mirror").MapTo(&Mirror); err != nil {
|
||||
log.Fatal(2, "Failed to map Mirror settings: %v", err)
|
||||
log.Fatal("Failed to map Mirror settings: %v", err)
|
||||
return
|
||||
} else if err = Cfg.Section("api").MapTo(&API); err != nil {
|
||||
log.Fatal(2, "Failed to map API settings: %v", err)
|
||||
log.Fatal("Failed to map API settings: %v", err)
|
||||
return
|
||||
} else if err = Cfg.Section("ui").MapTo(&UI); err != nil {
|
||||
log.Fatal(2, "Failed to map UI settings: %v", err)
|
||||
log.Fatal("Failed to map UI settings: %v", err)
|
||||
return
|
||||
} else if err = Cfg.Section("prometheus").MapTo(&Prometheus); err != nil {
|
||||
log.Fatal(2, "Failed to map Prometheus settings: %v", err)
|
||||
log.Fatal("Failed to map Prometheus settings: %v", err)
|
||||
return
|
||||
}
|
||||
|
||||
if Mirror.DefaultInterval <= 0 {
|
||||
|
@ -702,6 +731,114 @@ func NewContext() {
|
|||
HasRobotsTxt = com.IsFile(path.Join(CustomPath, "robots.txt"))
|
||||
}
|
||||
|
||||
// InitLogging initializes the logging infrastructure of the application.
|
||||
func InitLogging() {
|
||||
// Because we always create a console logger as the primary logger at init time,
|
||||
// we need to remove it in case the user doesn't configure to use it after the
|
||||
// logging infrastructure is initalized.
|
||||
hasConsole := false
|
||||
|
||||
// Iterate over [log.*] sections to initialize individual logger.
|
||||
LogModes = strings.Split(Cfg.Section("log").Key("MODE").MustString("console"), ",")
|
||||
LogConfigs = make([]interface{}, len(LogModes))
|
||||
levelMappings := map[string]log.Level{
|
||||
"trace": log.LevelTrace,
|
||||
"info": log.LevelInfo,
|
||||
"warn": log.LevelWarn,
|
||||
"error": log.LevelError,
|
||||
"fatal": log.LevelFatal,
|
||||
}
|
||||
|
||||
type config struct {
|
||||
Buffer int64
|
||||
Config interface{}
|
||||
}
|
||||
for i, mode := range LogModes {
|
||||
mode = strings.ToLower(strings.TrimSpace(mode))
|
||||
secName := "log." + mode
|
||||
sec, err := Cfg.GetSection(secName)
|
||||
if err != nil {
|
||||
log.Fatal("Missing configuration section [%s] for %q logger", secName, mode)
|
||||
return
|
||||
}
|
||||
|
||||
level := levelMappings[sec.Key("LEVEL").MustString("trace")]
|
||||
buffer := sec.Key("BUFFER_LEN").MustInt64(100)
|
||||
c := new(config)
|
||||
switch mode {
|
||||
case log.DefaultConsoleName:
|
||||
hasConsole = true
|
||||
c = &config{
|
||||
Buffer: buffer,
|
||||
Config: log.ConsoleConfig{
|
||||
Level: level,
|
||||
},
|
||||
}
|
||||
err = log.NewConsole(c.Buffer, c.Config)
|
||||
|
||||
case log.DefaultFileName:
|
||||
logPath := filepath.Join(LogRootPath, "gogs.log")
|
||||
logDir := filepath.Dir(logPath)
|
||||
err = os.MkdirAll(logDir, os.ModePerm)
|
||||
if err != nil {
|
||||
log.Fatal("Failed to create log directory %q: %v", logDir, err)
|
||||
return
|
||||
}
|
||||
|
||||
c = &config{
|
||||
Buffer: buffer,
|
||||
Config: log.FileConfig{
|
||||
Level: level,
|
||||
Filename: logPath,
|
||||
FileRotationConfig: log.FileRotationConfig{
|
||||
Rotate: sec.Key("LOG_ROTATE").MustBool(true),
|
||||
Daily: sec.Key("DAILY_ROTATE").MustBool(true),
|
||||
MaxSize: 1 << uint(sec.Key("MAX_SIZE_SHIFT").MustInt(28)),
|
||||
MaxLines: sec.Key("MAX_LINES").MustInt64(1000000),
|
||||
MaxDays: sec.Key("MAX_DAYS").MustInt64(7),
|
||||
},
|
||||
},
|
||||
}
|
||||
err = log.NewFile(c.Buffer, c.Config)
|
||||
|
||||
case log.DefaultSlackName:
|
||||
c = &config{
|
||||
Buffer: buffer,
|
||||
Config: log.SlackConfig{
|
||||
Level: level,
|
||||
URL: sec.Key("URL").String(),
|
||||
},
|
||||
}
|
||||
err = log.NewSlack(c.Buffer, c.Config)
|
||||
|
||||
case log.DefaultDiscordName:
|
||||
c = &config{
|
||||
Buffer: buffer,
|
||||
Config: log.DiscordConfig{
|
||||
Level: level,
|
||||
URL: sec.Key("URL").String(),
|
||||
Username: sec.Key("USERNAME").String(),
|
||||
},
|
||||
}
|
||||
|
||||
default:
|
||||
continue
|
||||
}
|
||||
|
||||
if err != nil {
|
||||
log.Fatal("Failed to init %s logger: %v", mode, err)
|
||||
return
|
||||
}
|
||||
LogConfigs[i] = c
|
||||
|
||||
log.Trace("Log mode: %s (%s)", strings.Title(mode), strings.Title(strings.ToLower(level.String())))
|
||||
}
|
||||
|
||||
if !hasConsole {
|
||||
log.Remove(log.DefaultConsoleName)
|
||||
}
|
||||
}
|
||||
|
||||
var Service struct {
|
||||
ActiveCodeLives int
|
||||
ResetPwdCodeLives int
|
||||
|
@ -727,98 +864,6 @@ func newService() {
|
|||
Service.EnableCaptcha = sec.Key("ENABLE_CAPTCHA").MustBool()
|
||||
}
|
||||
|
||||
func newLogService() {
|
||||
if len(BuildTime) > 0 {
|
||||
log.Trace("Build time: %s", BuildTime)
|
||||
log.Trace("Build commit: %s", BuildCommit)
|
||||
}
|
||||
|
||||
// Because we always create a console logger as primary logger before all settings are loaded,
|
||||
// thus if user doesn't set console logger, we should remove it after other loggers are created.
|
||||
hasConsole := false
|
||||
|
||||
// Get and check log modes.
|
||||
LogModes = strings.Split(Cfg.Section("log").Key("MODE").MustString("console"), ",")
|
||||
LogConfigs = make([]interface{}, len(LogModes))
|
||||
levelNames := map[string]log.LEVEL{
|
||||
"trace": log.TRACE,
|
||||
"info": log.INFO,
|
||||
"warn": log.WARN,
|
||||
"error": log.ERROR,
|
||||
"fatal": log.FATAL,
|
||||
}
|
||||
for i, mode := range LogModes {
|
||||
mode = strings.ToLower(strings.TrimSpace(mode))
|
||||
sec, err := Cfg.GetSection("log." + mode)
|
||||
if err != nil {
|
||||
log.Fatal(2, "Unknown logger mode: %s", mode)
|
||||
}
|
||||
|
||||
validLevels := []string{"trace", "info", "warn", "error", "fatal"}
|
||||
name := Cfg.Section("log." + mode).Key("LEVEL").Validate(func(v string) string {
|
||||
v = strings.ToLower(v)
|
||||
if com.IsSliceContainsStr(validLevels, v) {
|
||||
return v
|
||||
}
|
||||
return "trace"
|
||||
})
|
||||
level := levelNames[name]
|
||||
|
||||
// Generate log configuration.
|
||||
switch log.MODE(mode) {
|
||||
case log.CONSOLE:
|
||||
hasConsole = true
|
||||
LogConfigs[i] = log.ConsoleConfig{
|
||||
Level: level,
|
||||
BufferSize: Cfg.Section("log").Key("BUFFER_LEN").MustInt64(100),
|
||||
}
|
||||
|
||||
case log.FILE:
|
||||
logPath := path.Join(LogRootPath, "gogs.log")
|
||||
if err = os.MkdirAll(path.Dir(logPath), os.ModePerm); err != nil {
|
||||
log.Fatal(2, "Fail to create log directory '%s': %v", path.Dir(logPath), err)
|
||||
}
|
||||
|
||||
LogConfigs[i] = log.FileConfig{
|
||||
Level: level,
|
||||
BufferSize: Cfg.Section("log").Key("BUFFER_LEN").MustInt64(100),
|
||||
Filename: logPath,
|
||||
FileRotationConfig: log.FileRotationConfig{
|
||||
Rotate: sec.Key("LOG_ROTATE").MustBool(true),
|
||||
Daily: sec.Key("DAILY_ROTATE").MustBool(true),
|
||||
MaxSize: 1 << uint(sec.Key("MAX_SIZE_SHIFT").MustInt(28)),
|
||||
MaxLines: sec.Key("MAX_LINES").MustInt64(1000000),
|
||||
MaxDays: sec.Key("MAX_DAYS").MustInt64(7),
|
||||
},
|
||||
}
|
||||
|
||||
case log.SLACK:
|
||||
LogConfigs[i] = log.SlackConfig{
|
||||
Level: level,
|
||||
BufferSize: Cfg.Section("log").Key("BUFFER_LEN").MustInt64(100),
|
||||
URL: sec.Key("URL").String(),
|
||||
}
|
||||
|
||||
case log.DISCORD:
|
||||
LogConfigs[i] = log.DiscordConfig{
|
||||
Level: level,
|
||||
BufferSize: Cfg.Section("log").Key("BUFFER_LEN").MustInt64(100),
|
||||
URL: sec.Key("URL").String(),
|
||||
Username: sec.Key("USERNAME").String(),
|
||||
}
|
||||
}
|
||||
|
||||
log.New(log.MODE(mode), LogConfigs[i])
|
||||
log.Trace("Log mode: %s (%s)", strings.Title(mode), strings.Title(name))
|
||||
}
|
||||
|
||||
// Make sure everyone gets version info printed.
|
||||
log.Info("%s %s", AppName, AppVersion)
|
||||
if !hasConsole {
|
||||
log.Delete(log.CONSOLE)
|
||||
}
|
||||
}
|
||||
|
||||
func newCacheService() {
|
||||
CacheAdapter = Cfg.Section("cache").Key("ADAPTER").In("memory", []string{"memory", "redis", "memcache"})
|
||||
switch CacheAdapter {
|
||||
|
@ -827,7 +872,8 @@ func newCacheService() {
|
|||
case "redis", "memcache":
|
||||
CacheConn = strings.Trim(Cfg.Section("cache").Key("HOST").String(), "\" ")
|
||||
default:
|
||||
log.Fatal(2, "Unknown cache adapter: %s", CacheAdapter)
|
||||
log.Fatal("Unrecognized cache adapter %q", CacheAdapter)
|
||||
return
|
||||
}
|
||||
|
||||
log.Trace("Cache service is enabled")
|
||||
|
@ -896,7 +942,8 @@ func newMailService() {
|
|||
if len(MailService.From) > 0 {
|
||||
parsed, err := mail.ParseAddress(MailService.From)
|
||||
if err != nil {
|
||||
log.Fatal(2, "Invalid mailer.FROM (%s): %v", MailService.From, err)
|
||||
log.Fatal("Failed to parse value %q for '[mailer] FROM': %v", MailService.From, err)
|
||||
return
|
||||
}
|
||||
MailService.FromEmail = parsed.Address
|
||||
}
|
||||
|
@ -941,7 +988,6 @@ func NewService() {
|
|||
|
||||
func NewServices() {
|
||||
newService()
|
||||
newLogService()
|
||||
newCacheService()
|
||||
newSessionService()
|
||||
newMailService()
|
||||
|
|
|
@ -16,7 +16,7 @@ import (
|
|||
|
||||
"github.com/unknwon/com"
|
||||
"golang.org/x/crypto/ssh"
|
||||
log "gopkg.in/clog.v1"
|
||||
log "unknwon.dev/clog/v2"
|
||||
|
||||
"gogs.io/gogs/internal/db"
|
||||
"gogs.io/gogs/internal/setting"
|
||||
|
@ -39,7 +39,7 @@ func handleServerConn(keyID string, chans <-chan ssh.NewChannel) {
|
|||
|
||||
ch, reqs, err := newChan.Accept()
|
||||
if err != nil {
|
||||
log.Error(3, "Error accepting channel: %v", err)
|
||||
log.Error("Error accepting channel: %v", err)
|
||||
continue
|
||||
}
|
||||
|
||||
|
@ -57,7 +57,7 @@ func handleServerConn(keyID string, chans <-chan ssh.NewChannel) {
|
|||
args[0] = strings.TrimLeft(args[0], "\x04")
|
||||
_, _, err := com.ExecCmdBytes("env", args[0]+"="+args[1])
|
||||
if err != nil {
|
||||
log.Error(3, "env: %v", err)
|
||||
log.Error("env: %v", err)
|
||||
return
|
||||
}
|
||||
case "exec":
|
||||
|
@ -71,23 +71,23 @@ func handleServerConn(keyID string, chans <-chan ssh.NewChannel) {
|
|||
|
||||
stdout, err := cmd.StdoutPipe()
|
||||
if err != nil {
|
||||
log.Error(3, "SSH: StdoutPipe: %v", err)
|
||||
log.Error("SSH: StdoutPipe: %v", err)
|
||||
return
|
||||
}
|
||||
stderr, err := cmd.StderrPipe()
|
||||
if err != nil {
|
||||
log.Error(3, "SSH: StderrPipe: %v", err)
|
||||
log.Error("SSH: StderrPipe: %v", err)
|
||||
return
|
||||
}
|
||||
input, err := cmd.StdinPipe()
|
||||
if err != nil {
|
||||
log.Error(3, "SSH: StdinPipe: %v", err)
|
||||
log.Error("SSH: StdinPipe: %v", err)
|
||||
return
|
||||
}
|
||||
|
||||
// FIXME: check timeout
|
||||
if err = cmd.Start(); err != nil {
|
||||
log.Error(3, "SSH: Start: %v", err)
|
||||
log.Error("SSH: Start: %v", err)
|
||||
return
|
||||
}
|
||||
|
||||
|
@ -97,7 +97,7 @@ func handleServerConn(keyID string, chans <-chan ssh.NewChannel) {
|
|||
io.Copy(ch.Stderr(), stderr)
|
||||
|
||||
if err = cmd.Wait(); err != nil {
|
||||
log.Error(3, "SSH: Wait: %v", err)
|
||||
log.Error("SSH: Wait: %v", err)
|
||||
return
|
||||
}
|
||||
|
||||
|
@ -113,13 +113,13 @@ func handleServerConn(keyID string, chans <-chan ssh.NewChannel) {
|
|||
func listen(config *ssh.ServerConfig, host string, port int) {
|
||||
listener, err := net.Listen("tcp", host+":"+com.ToStr(port))
|
||||
if err != nil {
|
||||
log.Fatal(4, "Fail to start SSH server: %v", err)
|
||||
log.Fatal("Failed to start SSH server: %v", err)
|
||||
}
|
||||
for {
|
||||
// Once a ServerConfig has been configured, connections can be accepted.
|
||||
conn, err := listener.Accept()
|
||||
if err != nil {
|
||||
log.Error(3, "SSH: Error accepting incoming connection: %v", err)
|
||||
log.Error("SSH: Error accepting incoming connection: %v", err)
|
||||
continue
|
||||
}
|
||||
|
||||
|
@ -134,7 +134,7 @@ func listen(config *ssh.ServerConfig, host string, port int) {
|
|||
if err == io.EOF {
|
||||
log.Warn("SSH: Handshaking was terminated: %v", err)
|
||||
} else {
|
||||
log.Error(3, "SSH: Error on handshaking: %v", err)
|
||||
log.Error("SSH: Error on handshaking: %v", err)
|
||||
}
|
||||
return
|
||||
}
|
||||
|
@ -156,7 +156,7 @@ func Listen(host string, port int, ciphers []string) {
|
|||
PublicKeyCallback: func(conn ssh.ConnMetadata, key ssh.PublicKey) (*ssh.Permissions, error) {
|
||||
pkey, err := db.SearchPublicKeyByContent(strings.TrimSpace(string(ssh.MarshalAuthorizedKey(key))))
|
||||
if err != nil {
|
||||
log.Error(3, "SearchPublicKeyByContent: %v", err)
|
||||
log.Error("SearchPublicKeyByContent: %v", err)
|
||||
return nil, err
|
||||
}
|
||||
return &ssh.Permissions{Extensions: map[string]string{"key-id": com.ToStr(pkey.ID)}}, nil
|
||||
|
@ -168,18 +168,18 @@ func Listen(host string, port int, ciphers []string) {
|
|||
os.MkdirAll(filepath.Dir(keyPath), os.ModePerm)
|
||||
_, stderr, err := com.ExecCmd(setting.SSH.KeygenPath, "-f", keyPath, "-t", "rsa", "-m", "PEM", "-N", "")
|
||||
if err != nil {
|
||||
panic(fmt.Sprintf("Fail to generate private key: %v - %s", err, stderr))
|
||||
panic(fmt.Sprintf("Failed to generate private key: %v - %s", err, stderr))
|
||||
}
|
||||
log.Trace("SSH: New private key is generateed: %s", keyPath)
|
||||
}
|
||||
|
||||
privateBytes, err := ioutil.ReadFile(keyPath)
|
||||
if err != nil {
|
||||
panic("SSH: Fail to load private key: " + err.Error())
|
||||
panic("SSH: Failed to load private key: " + err.Error())
|
||||
}
|
||||
private, err := ssh.ParsePrivateKey(privateBytes)
|
||||
if err != nil {
|
||||
panic("SSH: Fail to parse private key: " + err.Error())
|
||||
panic("SSH: Failed to parse private key: " + err.Error())
|
||||
}
|
||||
config.AddHostKey(private)
|
||||
|
||||
|
|
|
@ -19,7 +19,7 @@ import (
|
|||
"github.com/microcosm-cc/bluemonday"
|
||||
"golang.org/x/net/html/charset"
|
||||
"golang.org/x/text/transform"
|
||||
log "gopkg.in/clog.v1"
|
||||
log "unknwon.dev/clog/v2"
|
||||
|
||||
"gogs.io/gogs/internal/db"
|
||||
"gogs.io/gogs/internal/markup"
|
||||
|
@ -292,7 +292,7 @@ func ActionIcon(opType int) string {
|
|||
func ActionContent2Commits(act Actioner) *db.PushCommits {
|
||||
push := db.NewPushCommits()
|
||||
if err := jsoniter.Unmarshal([]byte(act.GetContent()), push); err != nil {
|
||||
log.Error(4, "Unmarshal:\n%s\nERROR: %v", act.GetContent(), err)
|
||||
log.Error("Unmarshal:\n%s\nERROR: %v", act.GetContent(), err)
|
||||
}
|
||||
return push
|
||||
}
|
||||
|
|
|
@ -20,7 +20,7 @@ import (
|
|||
|
||||
"github.com/unknwon/com"
|
||||
"github.com/unknwon/i18n"
|
||||
log "gopkg.in/clog.v1"
|
||||
log "unknwon.dev/clog/v2"
|
||||
|
||||
"github.com/gogs/chardet"
|
||||
|
||||
|
|
Loading…
Reference in New Issue