mirror of
https://github.com/gogs/gogs.git
synced 2026-03-20 02:41:52 +01:00
chore: replace pkg/errors with cockroachdb/errors (#8098)
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: unknwon <2946214+unknwon@users.noreply.github.com>
This commit is contained in:
10
go.mod
10
go.mod
@@ -4,6 +4,7 @@ go 1.25.0
|
||||
|
||||
require (
|
||||
github.com/Masterminds/semver/v3 v3.4.0
|
||||
github.com/cockroachdb/errors v1.12.0
|
||||
github.com/derision-test/go-mockgen/v2 v2.1.1
|
||||
github.com/editorconfig/editorconfig-core-go/v2 v2.6.3
|
||||
github.com/go-ldap/ldap/v3 v3.4.11
|
||||
@@ -30,7 +31,6 @@ require (
|
||||
github.com/nfnt/resize v0.0.0-20180221191011-83c6a9932646
|
||||
github.com/niklasfasching/go-org v1.9.1
|
||||
github.com/olekukonko/tablewriter v0.0.5
|
||||
github.com/pkg/errors v0.9.1
|
||||
github.com/pquerna/otp v1.5.0
|
||||
github.com/prometheus/client_golang v1.23.0
|
||||
github.com/russross/blackfriday v1.6.0
|
||||
@@ -70,6 +70,8 @@ require (
|
||||
github.com/boombuler/barcode v1.0.1-0.20190219062509-6c824513bacc // indirect
|
||||
github.com/bradfitz/gomemcache v0.0.0-20190329173943-551aad21a668 // indirect
|
||||
github.com/cespare/xxhash/v2 v2.3.0 // indirect
|
||||
github.com/cockroachdb/logtags v0.0.0-20230118201751-21c54148d20b // indirect
|
||||
github.com/cockroachdb/redact v1.1.5 // indirect
|
||||
github.com/cpuguy83/go-md2man/v2 v2.0.7 // indirect
|
||||
github.com/davecgh/go-spew v1.1.1 // indirect
|
||||
github.com/denisenkom/go-mssqldb v0.12.0 // indirect
|
||||
@@ -78,12 +80,14 @@ require (
|
||||
github.com/djherbis/nio/v3 v3.0.1 // indirect
|
||||
github.com/dustin/go-humanize v1.0.1 // indirect
|
||||
github.com/fatih/color v1.13.0 // indirect
|
||||
github.com/getsentry/sentry-go v0.27.0 // indirect
|
||||
github.com/go-asn1-ber/asn1-ber v1.5.8-0.20250403174932-29230038a667 // indirect
|
||||
github.com/go-logr/logr v1.2.3 // indirect
|
||||
github.com/go-logr/stdr v1.2.2 // indirect
|
||||
github.com/go-macaron/inject v0.0.0-20200308113650-138e5925c53b // indirect
|
||||
github.com/go-redis/redis/v8 v8.11.5 // indirect
|
||||
github.com/go-sql-driver/mysql v1.7.0 // indirect
|
||||
github.com/gogo/protobuf v1.3.2 // indirect
|
||||
github.com/golang-sql/civil v0.0.0-20220223132316-b832511892a9 // indirect
|
||||
github.com/golang-sql/sqlexp v0.1.0 // indirect
|
||||
github.com/google/go-querystring v1.0.0 // indirect
|
||||
@@ -98,6 +102,8 @@ require (
|
||||
github.com/jinzhu/inflection v1.0.0 // indirect
|
||||
github.com/jinzhu/now v1.1.5 // indirect
|
||||
github.com/klauspost/compress v1.18.0 // indirect
|
||||
github.com/kr/pretty v0.3.1 // indirect
|
||||
github.com/kr/text v0.2.0 // indirect
|
||||
github.com/lib/pq v1.10.2 // indirect
|
||||
github.com/mattn/go-colorable v0.1.13 // indirect
|
||||
github.com/mattn/go-isatty v0.0.20 // indirect
|
||||
@@ -109,12 +115,14 @@ require (
|
||||
github.com/modern-go/reflect2 v1.0.2 // indirect
|
||||
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
|
||||
github.com/ncruces/go-strftime v0.1.9 // indirect
|
||||
github.com/pkg/errors v0.9.1 // indirect
|
||||
github.com/pmezard/go-difflib v1.0.0 // indirect
|
||||
github.com/prometheus/client_model v0.6.2 // indirect
|
||||
github.com/prometheus/common v0.65.0 // indirect
|
||||
github.com/prometheus/procfs v0.16.1 // indirect
|
||||
github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec // indirect
|
||||
github.com/rivo/uniseg v0.2.0 // indirect
|
||||
github.com/rogpeppe/go-internal v1.10.0 // indirect
|
||||
github.com/russross/blackfriday/v2 v2.1.0 // indirect
|
||||
github.com/saintfish/chardet v0.0.0-20120816061221-3af4cd4741ca // indirect
|
||||
github.com/ssor/bom v0.0.0-20170718123548-6386211fdfcf // indirect
|
||||
|
||||
24
go.sum
24
go.sum
@@ -41,6 +41,12 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR
|
||||
github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI=
|
||||
github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU=
|
||||
github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
|
||||
github.com/cockroachdb/errors v1.12.0 h1:d7oCs6vuIMUQRVbi6jWWWEJZahLCfJpnJSVobd1/sUo=
|
||||
github.com/cockroachdb/errors v1.12.0/go.mod h1:SvzfYNNBshAVbZ8wzNc/UPK3w1vf0dKDUP41ucAIf7g=
|
||||
github.com/cockroachdb/logtags v0.0.0-20230118201751-21c54148d20b h1:r6VH0faHjZeQy818SGhaone5OnYfxFR/+AzdY3sf5aE=
|
||||
github.com/cockroachdb/logtags v0.0.0-20230118201751-21c54148d20b/go.mod h1:Vz9DsVWQQhf3vs21MhPMZpMGSht7O/2vFW2xusFUVOs=
|
||||
github.com/cockroachdb/redact v1.1.5 h1:u1PMllDkdFfPWaNGMyLD1+so+aq3uUItthCFqzwPJ30=
|
||||
github.com/cockroachdb/redact v1.1.5/go.mod h1:BVNblN9mBWFyMyqK1k3AAiSxhvhfK2oOZZ2lK+dpvRg=
|
||||
github.com/couchbase/go-couchbase v0.0.0-20201026062457-7b3be89bbd89/go.mod h1:+/bddYDxXsf9qt0xpDUtRR47A2GjaXmGGAqQ/k3GJ8A=
|
||||
github.com/couchbase/gomemcached v0.0.0-20190515232915-c4b4ca0eb21d/go.mod h1:srVSlQLB8iXBVXHgnqemxUXqN6FCvClgCMPCsjBDR7c=
|
||||
github.com/couchbase/gomemcached v0.1.1/go.mod h1:mxliKQxOv84gQ0bJWbI+w9Wxdpt9HjDvgW9MjCym5Vo=
|
||||
@@ -49,6 +55,7 @@ github.com/couchbase/goutils v0.0.0-20201030094643-5e82bb967e67/go.mod h1:BQwMFl
|
||||
github.com/couchbaselabs/go-couchbase v0.0.0-20190708161019-23e7ca2ce2b7/go.mod h1:mby/05p8HE5yHEAKiIH/555NoblMs7PtW6NrYshDruc=
|
||||
github.com/cpuguy83/go-md2man/v2 v2.0.7 h1:zbFlGlXEAKlwXpmvle3d8Oe3YnkKIK4xSRTd3sHPnBo=
|
||||
github.com/cpuguy83/go-md2man/v2 v2.0.7/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g=
|
||||
github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
|
||||
github.com/cupcake/rdb v0.0.0-20161107195141-43ba34106c76/go.mod h1:vYwsqCOLxGiisLwp9rITslkFNpZD5rz43tf41QFkTWY=
|
||||
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
|
||||
@@ -83,8 +90,12 @@ github.com/frankban/quicktest v1.14.3/go.mod h1:mgiwOwqx65TmIk1wJ6Q7wvnVMocbUork
|
||||
github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
|
||||
github.com/fsnotify/fsnotify v1.4.9 h1:hsms1Qyu0jgnwNXIxa+/V/PDsU6CfLf6CNO8H7IWoS4=
|
||||
github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ=
|
||||
github.com/getsentry/sentry-go v0.27.0 h1:Pv98CIbtB3LkMWmXi4Joa5OOcwbmnX88sF5qbK3r3Ps=
|
||||
github.com/getsentry/sentry-go v0.27.0/go.mod h1:lc76E2QywIyW8WuBnwl8Lc4bkmQH4+w1gwTf25trprY=
|
||||
github.com/go-asn1-ber/asn1-ber v1.5.8-0.20250403174932-29230038a667 h1:BP4M0CvQ4S3TGls2FvczZtj5Re/2ZzkV9VwqPHH/3Bo=
|
||||
github.com/go-asn1-ber/asn1-ber v1.5.8-0.20250403174932-29230038a667/go.mod h1:hEBeB/ic+5LoWskz+yKT7vGhhPYkProFKoKdwZRWMe0=
|
||||
github.com/go-errors/errors v1.4.2 h1:J6MZopCL4uSllY1OfXM374weqZFFItUbrImctkmUxIA=
|
||||
github.com/go-errors/errors v1.4.2/go.mod h1:sIVyrIiJhuEF+Pj9Ebtd6P/rEYROXFi3BopGUQ5a5Og=
|
||||
github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as=
|
||||
github.com/go-ldap/ldap/v3 v3.4.11 h1:4k0Yxweg+a3OyBLjdYn5OKglv18JNvfDykSoI8bW0gU=
|
||||
github.com/go-ldap/ldap/v3 v3.4.11/go.mod h1:bY7t0FLK8OAVpp/vV6sSlpz3EQDGcQwc8pF0ujLgKvM=
|
||||
@@ -125,6 +136,8 @@ github.com/go-xorm/sqlfiddle v0.0.0-20180821085327-62ce714f951a h1:9wScpmSP5A3Bk
|
||||
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=
|
||||
github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q=
|
||||
github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q=
|
||||
github.com/gogs/chardet v0.0.0-20150115103509-2404f7772561 h1:aBzukfDxQlCTVS0NBUjI5YA3iVeaZ9Tb5PxNrrIP1xs=
|
||||
github.com/gogs/chardet v0.0.0-20150115103509-2404f7772561/go.mod h1:Pcatq5tYkCW2Q6yrR2VRHlbHpZ/R4/7qyL1TCF7vl14=
|
||||
github.com/gogs/cron v0.0.0-20171120032916-9f6c956d3e14 h1:yXtpJr/LV6PFu4nTLgfjQdcMdzjbqqXMEnHfq0Or6p8=
|
||||
@@ -247,6 +260,7 @@ github.com/jtolds/gls v4.2.1+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVY
|
||||
github.com/jtolds/gls v4.20.0+incompatible h1:xdiiI2gbIgH/gLH7ADydsJ1uDOEzR8yvV7C0MuV77Wo=
|
||||
github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU=
|
||||
github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w=
|
||||
github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8=
|
||||
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
|
||||
github.com/klauspost/compress v1.18.0 h1:c/Cqfb0r+Yi+JtIEq73FWXVkRonBlf0CRNYc8Zttxdo=
|
||||
github.com/klauspost/compress v1.18.0/go.mod h1:2Pp+KzxcywXVXMr50+X0Q/Lsb43OQHYWRCY2AiWywWQ=
|
||||
@@ -339,9 +353,12 @@ github.com/openzipkin/zipkin-go v0.1.6/go.mod h1:QgAqvLzwWbR/WpD4A3cGpPtJrZXNIiJ
|
||||
github.com/pelletier/go-toml v1.4.0/go.mod h1:PN7xzY2wHTK0K9p34ErDQMlFxa51Fk0OUruD3k1mMwo=
|
||||
github.com/pelletier/go-toml v1.8.1/go.mod h1:T2/BmBdy8dvIRq1a/8aqjN41wvWlN4lrapLU/GW4pbc=
|
||||
github.com/pierrec/lz4 v2.0.5+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY=
|
||||
github.com/pingcap/errors v0.11.4 h1:lFuQV/oaUMGcD2tqt+01ROSmJs75VG1ToEOkZIZ4nE4=
|
||||
github.com/pingcap/errors v0.11.4/go.mod h1:Oi8TUi2kEtXXLMJk9l1cGmz20kV3TaQ0usTwv5KuLY8=
|
||||
github.com/pkg/browser v0.0.0-20180916011732-0a3d74bf9ce4/go.mod h1:4OwLy04Bl9Ef3GJJCoec+30X3LQs/0/m4HFRt/2LUSA=
|
||||
github.com/pkg/browser v0.0.0-20210115035449-ce105d075bb4/go.mod h1:N6UoU20jOqggOuDwUaBQpluzLNDqif3kq9z2wpdYEfQ=
|
||||
github.com/pkg/browser v0.0.0-20210911075715-681adbf594b8/go.mod h1:HKlIX3XHQyzLZPlr7++PzdhaXEj94dEiJgZDTsxEqUI=
|
||||
github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA=
|
||||
github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
|
||||
github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
|
||||
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
|
||||
@@ -370,6 +387,7 @@ github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec h1:W09IVJc94
|
||||
github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo=
|
||||
github.com/rivo/uniseg v0.2.0 h1:S1pD9weZBuJdFmowNwbpi7BJ8TNftyUImj/0WQi72jY=
|
||||
github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc=
|
||||
github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs=
|
||||
github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ=
|
||||
github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog=
|
||||
github.com/russross/blackfriday v1.6.0 h1:KqfZb0pUVN2lYqZUYRddxF4OR8ZMURnJIG5Y3VRLtww=
|
||||
@@ -428,6 +446,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.17 h1:SYzXoiPfQjHBbkYxbew5prZHS1TOLT3ierW8SYLqtVQ=
|
||||
github.com/urfave/cli v1.22.17/go.mod h1:b0ht0aqgH/6pBYzzxURyrM4xXNgsoT/n2ZzwQiEhNVo=
|
||||
github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
|
||||
github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
|
||||
github.com/ziutek/mymysql v1.5.4 h1:GB0qdRGsTwQSBVYuVShFBKaXSnSnYYC2d9knnE1LHFs=
|
||||
github.com/ziutek/mymysql v1.5.4/go.mod h1:LMSpPZ6DbqWFxNCHW77HeMg9I646SAhApZ/wKdgO/C0=
|
||||
@@ -461,6 +480,7 @@ golang.org/x/exp v0.0.0-20250620022241-b7579e27df2b/go.mod h1:3//PLf8L/X+8b4vuAf
|
||||
golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
|
||||
golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU=
|
||||
golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
|
||||
golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
|
||||
golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
|
||||
golang.org/x/mod v0.29.0 h1:HV8lRxZC4l2cr3Zq1LvtOsi/ThTgWnUk/y64QSs8GwA=
|
||||
golang.org/x/mod v0.29.0/go.mod h1:NyhrlYXJ2H4eJiRy/WDBO6HMqZQ6q9nk4JzS3NuCK+w=
|
||||
@@ -476,6 +496,7 @@ golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn
|
||||
golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks=
|
||||
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
||||
golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
||||
golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
||||
golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
|
||||
golang.org/x/net v0.0.0-20201010224723-4f7140c49acb/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
|
||||
golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
|
||||
@@ -492,6 +513,7 @@ golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJ
|
||||
golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.9.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
|
||||
golang.org/x/sync v0.18.0 h1:kr88TuHDroi+UVf+0hZnirlk8o8T+4MrK6mr60WkH/I=
|
||||
@@ -552,7 +574,9 @@ golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3
|
||||
golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
|
||||
golang.org/x/tools v0.0.0-20190802220118-1d1727260058/go.mod h1:jcCCGcm9btYwXyDqrUWc6MKQKKGJCWEQ3AfLSRIbEuI=
|
||||
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
|
||||
golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
|
||||
golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
|
||||
golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
|
||||
golang.org/x/tools v0.38.0 h1:Hx2Xv8hISq8Lm16jvBZ2VQf+RLmbd7wVUsALibYI/IQ=
|
||||
golang.org/x/tools v0.38.0/go.mod h1:yEsQ/d/YK8cjh0L6rZlY8tgtlKiBNTL14pGDJPJpYQs=
|
||||
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||
|
||||
@@ -3,7 +3,7 @@ package auth
|
||||
import (
|
||||
"fmt"
|
||||
|
||||
"github.com/pkg/errors"
|
||||
"github.com/cockroachdb/errors"
|
||||
|
||||
"gogs.io/gogs/internal/errutil"
|
||||
)
|
||||
|
||||
@@ -6,8 +6,8 @@ import (
|
||||
"net/http"
|
||||
"strings"
|
||||
|
||||
"github.com/cockroachdb/errors"
|
||||
"github.com/google/go-github/github"
|
||||
"github.com/pkg/errors"
|
||||
)
|
||||
|
||||
// Config contains configuration for GitHub authentication.
|
||||
|
||||
@@ -7,6 +7,7 @@ import (
|
||||
"fmt"
|
||||
"strings"
|
||||
|
||||
"github.com/cockroachdb/errors"
|
||||
"github.com/go-ldap/ldap/v3"
|
||||
log "unknwon.dev/clog/v2"
|
||||
)
|
||||
@@ -162,13 +163,13 @@ func dial(ls *Config) (*ldap.Conn, error) {
|
||||
|
||||
conn, err := ldap.Dial("tcp", fmt.Sprintf("%s:%d", ls.Host, ls.Port))
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("dial: %v", err)
|
||||
return nil, errors.Newf("dial: %v", err)
|
||||
}
|
||||
|
||||
if ls.SecurityProtocol == SecurityProtocolStartTLS {
|
||||
if err = conn.StartTLS(tlsCfg); err != nil {
|
||||
conn.Close()
|
||||
return nil, fmt.Errorf("StartTLS: %v", err)
|
||||
return nil, errors.Newf("StartTLS: %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
package pam
|
||||
|
||||
import (
|
||||
"github.com/cockroachdb/errors"
|
||||
"github.com/msteinert/pam"
|
||||
"github.com/pkg/errors"
|
||||
)
|
||||
|
||||
func (c *Config) doAuth(login, password string) error {
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
package pam
|
||||
|
||||
import (
|
||||
"github.com/pkg/errors"
|
||||
"github.com/cockroachdb/errors"
|
||||
)
|
||||
|
||||
func (*Config) doAuth(_, _ string) error {
|
||||
|
||||
@@ -5,7 +5,7 @@ import (
|
||||
"fmt"
|
||||
"net/smtp"
|
||||
|
||||
"github.com/pkg/errors"
|
||||
"github.com/cockroachdb/errors"
|
||||
)
|
||||
|
||||
// Config contains configuration for SMTP authentication.
|
||||
|
||||
@@ -5,7 +5,7 @@ import (
|
||||
"net/textproto"
|
||||
"strings"
|
||||
|
||||
"github.com/pkg/errors"
|
||||
"github.com/cockroachdb/errors"
|
||||
log "unknwon.dev/clog/v2"
|
||||
|
||||
"gogs.io/gogs/internal/auth"
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
package avatar
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"image"
|
||||
"image/color/palette"
|
||||
"math/rand"
|
||||
"time"
|
||||
|
||||
"github.com/cockroachdb/errors"
|
||||
"github.com/issue9/identicon"
|
||||
)
|
||||
|
||||
@@ -27,7 +27,7 @@ func RandomImageWithSize(size int, data []byte) (image.Image, error) {
|
||||
imgMaker, err := identicon.New(size,
|
||||
palette.WebSafe[backColorIndex], palette.WebSafe[colorIndex:colorIndex+32]...)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("identicon.New: %v", err)
|
||||
return nil, errors.Newf("identicon.New: %v", err)
|
||||
}
|
||||
return imgMaker.Make(data), nil
|
||||
}
|
||||
|
||||
@@ -6,7 +6,7 @@ import (
|
||||
"reflect"
|
||||
"runtime"
|
||||
|
||||
"github.com/pkg/errors"
|
||||
"github.com/cockroachdb/errors"
|
||||
"github.com/urfave/cli"
|
||||
|
||||
"gogs.io/gogs/internal/conf"
|
||||
@@ -180,7 +180,7 @@ func adminDashboardOperation(operation func() error, successMessage string) func
|
||||
|
||||
if err := operation(); err != nil {
|
||||
functionName := runtime.FuncForPC(reflect.ValueOf(operation).Pointer()).Name()
|
||||
return fmt.Errorf("%s: %v", functionName, err)
|
||||
return errors.Newf("%s: %v", functionName, err)
|
||||
}
|
||||
|
||||
fmt.Printf("%s\n", successMessage)
|
||||
|
||||
@@ -9,7 +9,7 @@ import (
|
||||
"strconv"
|
||||
"time"
|
||||
|
||||
"github.com/pkg/errors"
|
||||
"github.com/cockroachdb/errors"
|
||||
"github.com/unknwon/cae/zip"
|
||||
"github.com/urfave/cli"
|
||||
"gopkg.in/ini.v1"
|
||||
|
||||
@@ -8,7 +8,7 @@ import (
|
||||
"path/filepath"
|
||||
"time"
|
||||
|
||||
"github.com/pkg/errors"
|
||||
"github.com/cockroachdb/errors"
|
||||
"github.com/unknwon/com"
|
||||
"github.com/urfave/cli"
|
||||
|
||||
@@ -45,9 +45,9 @@ func runImportLocale(c *cli.Context) error {
|
||||
return errors.New("target directory is not specified")
|
||||
}
|
||||
if !com.IsDir(c.String("source")) {
|
||||
return fmt.Errorf("source directory %q does not exist or is not a directory", c.String("source"))
|
||||
return errors.Newf("source directory %q does not exist or is not a directory", c.String("source"))
|
||||
} else if !com.IsDir(c.String("target")) {
|
||||
return fmt.Errorf("target directory %q does not exist or is not a directory", c.String("target"))
|
||||
return errors.Newf("target directory %q does not exist or is not a directory", c.String("target"))
|
||||
}
|
||||
|
||||
err := conf.Init(c.String("config"))
|
||||
@@ -74,12 +74,12 @@ func runImportLocale(c *cli.Context) error {
|
||||
// this breaks INI parser, we need to fix that.
|
||||
sr, err := os.Open(source)
|
||||
if err != nil {
|
||||
return fmt.Errorf("open: %v", err)
|
||||
return errors.Newf("open: %v", err)
|
||||
}
|
||||
|
||||
tw, err := os.Create(target)
|
||||
if err != nil {
|
||||
return fmt.Errorf("create: %v", err)
|
||||
return errors.Newf("create: %v", err)
|
||||
}
|
||||
|
||||
scanner := bufio.NewScanner(sr)
|
||||
|
||||
@@ -6,7 +6,7 @@ import (
|
||||
"path"
|
||||
"path/filepath"
|
||||
|
||||
"github.com/pkg/errors"
|
||||
"github.com/cockroachdb/errors"
|
||||
"github.com/unknwon/cae/zip"
|
||||
"github.com/urfave/cli"
|
||||
"gopkg.in/ini.v1"
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
package conf
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"net/mail"
|
||||
"net/url"
|
||||
"os"
|
||||
@@ -10,11 +9,11 @@ import (
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/cockroachdb/errors"
|
||||
_ "github.com/go-macaron/cache/memcache"
|
||||
_ "github.com/go-macaron/cache/redis"
|
||||
_ "github.com/go-macaron/session/redis"
|
||||
"github.com/gogs/go-libravatar"
|
||||
"github.com/pkg/errors"
|
||||
"gopkg.in/ini.v1"
|
||||
log "unknwon.dev/clog/v2"
|
||||
|
||||
@@ -189,7 +188,7 @@ func Init(customConf string) error {
|
||||
if Security.InstallLock {
|
||||
currentUser, match := CheckRunUser(App.RunUser)
|
||||
if !match {
|
||||
return fmt.Errorf("user configured to run Gogs is %q, but the current user is %q", App.RunUser, currentUser)
|
||||
return errors.Newf("user configured to run Gogs is %q, but the current user is %q", App.RunUser, currentUser)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@ import (
|
||||
"path/filepath"
|
||||
"strings"
|
||||
|
||||
"github.com/pkg/errors"
|
||||
"github.com/cockroachdb/errors"
|
||||
"gopkg.in/ini.v1"
|
||||
log "unknwon.dev/clog/v2"
|
||||
)
|
||||
|
||||
@@ -4,7 +4,7 @@ import (
|
||||
"path/filepath"
|
||||
"strings"
|
||||
|
||||
"github.com/pkg/errors"
|
||||
"github.com/cockroachdb/errors"
|
||||
|
||||
"gogs.io/gogs/internal/osutil"
|
||||
"gogs.io/gogs/internal/process"
|
||||
|
||||
@@ -5,7 +5,7 @@ import (
|
||||
"net/http"
|
||||
"strings"
|
||||
|
||||
"github.com/pkg/errors"
|
||||
"github.com/cockroachdb/errors"
|
||||
"github.com/unknwon/paginater"
|
||||
"gopkg.in/macaron.v1"
|
||||
log "unknwon.dev/clog/v2"
|
||||
|
||||
@@ -6,9 +6,9 @@ import (
|
||||
"net/url"
|
||||
"strings"
|
||||
|
||||
"github.com/cockroachdb/errors"
|
||||
"github.com/go-macaron/csrf"
|
||||
"github.com/go-macaron/session"
|
||||
"github.com/pkg/errors"
|
||||
gouuid "github.com/satori/go.uuid"
|
||||
"gopkg.in/macaron.v1"
|
||||
log "unknwon.dev/clog/v2"
|
||||
|
||||
@@ -6,8 +6,8 @@ import (
|
||||
"net/url"
|
||||
"strings"
|
||||
|
||||
"github.com/cockroachdb/errors"
|
||||
"github.com/editorconfig/editorconfig-core-go/v2"
|
||||
"github.com/pkg/errors"
|
||||
"gopkg.in/macaron.v1"
|
||||
|
||||
"github.com/gogs/git-module"
|
||||
|
||||
@@ -4,7 +4,8 @@ import (
|
||||
"crypto/aes"
|
||||
"crypto/cipher"
|
||||
"crypto/rand"
|
||||
"errors"
|
||||
|
||||
"github.com/cockroachdb/errors"
|
||||
)
|
||||
|
||||
// AESGCMEncrypt encrypts plaintext with the given key using AES in GCM mode.
|
||||
|
||||
@@ -5,7 +5,7 @@ import (
|
||||
"fmt"
|
||||
"time"
|
||||
|
||||
"github.com/pkg/errors"
|
||||
"github.com/cockroachdb/errors"
|
||||
gouuid "github.com/satori/go.uuid"
|
||||
"gorm.io/gorm"
|
||||
|
||||
|
||||
@@ -9,10 +9,10 @@ import (
|
||||
"time"
|
||||
"unicode"
|
||||
|
||||
"github.com/cockroachdb/errors"
|
||||
"github.com/gogs/git-module"
|
||||
api "github.com/gogs/go-gogs-client"
|
||||
jsoniter "github.com/json-iterator/go"
|
||||
"github.com/pkg/errors"
|
||||
"gorm.io/gorm"
|
||||
log "unknwon.dev/clog/v2"
|
||||
|
||||
|
||||
@@ -8,6 +8,7 @@ import (
|
||||
"path"
|
||||
"time"
|
||||
|
||||
"github.com/cockroachdb/errors"
|
||||
gouuid "github.com/satori/go.uuid"
|
||||
"xorm.io/xorm"
|
||||
|
||||
@@ -58,19 +59,19 @@ func NewAttachment(name string, buf []byte, file multipart.File) (_ *Attachment,
|
||||
|
||||
localPath := attach.LocalPath()
|
||||
if err = os.MkdirAll(path.Dir(localPath), os.ModePerm); err != nil {
|
||||
return nil, fmt.Errorf("MkdirAll: %v", err)
|
||||
return nil, errors.Newf("MkdirAll: %v", err)
|
||||
}
|
||||
|
||||
fw, err := os.Create(localPath)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("Create: %v", err)
|
||||
return nil, errors.Newf("Create: %v", err)
|
||||
}
|
||||
defer fw.Close()
|
||||
|
||||
if _, err = fw.Write(buf); err != nil {
|
||||
return nil, fmt.Errorf("write: %v", err)
|
||||
return nil, errors.Newf("write: %v", err)
|
||||
} else if _, err = io.Copy(fw, file); err != nil {
|
||||
return nil, fmt.Errorf("copy: %v", err)
|
||||
return nil, errors.Newf("copy: %v", err)
|
||||
}
|
||||
|
||||
if _, err := x.Insert(attach); err != nil {
|
||||
|
||||
@@ -12,8 +12,8 @@ import (
|
||||
"strings"
|
||||
"sync"
|
||||
|
||||
"github.com/cockroachdb/errors"
|
||||
jsoniter "github.com/json-iterator/go"
|
||||
"github.com/pkg/errors"
|
||||
"gorm.io/gorm"
|
||||
"gorm.io/gorm/schema"
|
||||
log "unknwon.dev/clog/v2"
|
||||
@@ -125,14 +125,14 @@ func dumpLegacyTables(ctx context.Context, dirPath string, verbose bool) error {
|
||||
tableFile := filepath.Join(dirPath, tableName+".json")
|
||||
f, err := os.Create(tableFile)
|
||||
if err != nil {
|
||||
return fmt.Errorf("create JSON file: %v", err)
|
||||
return errors.Newf("create JSON file: %v", err)
|
||||
}
|
||||
|
||||
if err = x.Context(ctx).Asc("id").Iterate(table, func(idx int, bean any) (err error) {
|
||||
return jsoniter.NewEncoder(f).Encode(bean)
|
||||
}); err != nil {
|
||||
_ = f.Close()
|
||||
return fmt.Errorf("dump table '%s': %v", tableName, err)
|
||||
return errors.Newf("dump table '%s': %v", tableName, err)
|
||||
}
|
||||
_ = f.Close()
|
||||
}
|
||||
@@ -256,25 +256,25 @@ func importLegacyTables(ctx context.Context, dirPath string, verbose bool) error
|
||||
}
|
||||
|
||||
if err := x.DropTables(table); err != nil {
|
||||
return fmt.Errorf("drop table %q: %v", tableName, err)
|
||||
return errors.Newf("drop table %q: %v", tableName, err)
|
||||
} else if err = x.Sync2(table); err != nil {
|
||||
return fmt.Errorf("sync table %q: %v", tableName, err)
|
||||
return errors.Newf("sync table %q: %v", tableName, err)
|
||||
}
|
||||
|
||||
f, err := os.Open(tableFile)
|
||||
if err != nil {
|
||||
return fmt.Errorf("open JSON file: %v", err)
|
||||
return errors.Newf("open JSON file: %v", err)
|
||||
}
|
||||
rawTableName := x.TableName(table)
|
||||
_, isInsertProcessor := table.(xorm.BeforeInsertProcessor)
|
||||
scanner := bufio.NewScanner(f)
|
||||
for scanner.Scan() {
|
||||
if err = jsoniter.Unmarshal(scanner.Bytes(), table); err != nil {
|
||||
return fmt.Errorf("unmarshal to struct: %v", err)
|
||||
return errors.Newf("unmarshal to struct: %v", err)
|
||||
}
|
||||
|
||||
if _, err = x.Insert(table); err != nil {
|
||||
return fmt.Errorf("insert strcut: %v", err)
|
||||
return errors.Newf("insert strcut: %v", err)
|
||||
}
|
||||
|
||||
var meta struct {
|
||||
@@ -307,7 +307,7 @@ func importLegacyTables(ctx context.Context, dirPath string, verbose bool) error
|
||||
rawTableName := snakeMapper.Obj2Table(tableName)
|
||||
seqName := rawTableName + "_id_seq"
|
||||
if _, err = x.Exec(fmt.Sprintf(`SELECT setval('%s', COALESCE((SELECT MAX(id)+1 FROM "%s"), 1), false);`, seqName, rawTableName)); err != nil {
|
||||
return fmt.Errorf("reset table %q' sequence: %v", rawTableName, err)
|
||||
return errors.Newf("reset table %q' sequence: %v", rawTableName, err)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8,7 +8,7 @@ import (
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"github.com/pkg/errors"
|
||||
"github.com/cockroachdb/errors"
|
||||
"github.com/stretchr/testify/require"
|
||||
"gorm.io/gorm"
|
||||
|
||||
|
||||
@@ -6,6 +6,7 @@ import (
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/cockroachdb/errors"
|
||||
"github.com/unknwon/com"
|
||||
log "unknwon.dev/clog/v2"
|
||||
"xorm.io/xorm"
|
||||
@@ -97,7 +98,7 @@ func (c *Comment) loadAttributes(e Engine) (err error) {
|
||||
c.PosterID = -1
|
||||
c.Poster = NewGhostUser()
|
||||
} else {
|
||||
return fmt.Errorf("getUserByID.(Poster) [%d]: %v", c.PosterID, err)
|
||||
return errors.Newf("getUserByID.(Poster) [%d]: %v", c.PosterID, err)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -105,12 +106,12 @@ func (c *Comment) loadAttributes(e Engine) (err error) {
|
||||
if c.Issue == nil {
|
||||
c.Issue, err = getRawIssueByID(e, c.IssueID)
|
||||
if err != nil {
|
||||
return fmt.Errorf("getIssueByID [%d]: %v", c.IssueID, err)
|
||||
return errors.Newf("getIssueByID [%d]: %v", c.IssueID, err)
|
||||
}
|
||||
if c.Issue.Repo == nil {
|
||||
c.Issue.Repo, err = getRepositoryByID(e, c.Issue.RepoID)
|
||||
if err != nil {
|
||||
return fmt.Errorf("getRepositoryByID [%d]: %v", c.Issue.RepoID, err)
|
||||
return errors.Newf("getRepositoryByID [%d]: %v", c.Issue.RepoID, err)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -118,7 +119,7 @@ func (c *Comment) loadAttributes(e Engine) (err error) {
|
||||
if c.Attachments == nil {
|
||||
c.Attachments, err = getAttachmentsByCommentID(e, c.ID)
|
||||
if err != nil {
|
||||
return fmt.Errorf("getAttachmentsByCommentID [%d]: %v", c.ID, err)
|
||||
return errors.Newf("getAttachmentsByCommentID [%d]: %v", c.ID, err)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -165,7 +166,7 @@ func (c *Comment) EventTag() string {
|
||||
func (c *Comment) mailParticipants(e Engine, opType ActionType, issue *Issue) (err error) {
|
||||
mentions := markup.FindAllMentions(c.Content)
|
||||
if err = updateIssueMentions(e, c.IssueID, mentions); err != nil {
|
||||
return fmt.Errorf("UpdateIssueMentions [%d]: %v", c.IssueID, err)
|
||||
return errors.Newf("UpdateIssueMentions [%d]: %v", c.IssueID, err)
|
||||
}
|
||||
|
||||
switch opType {
|
||||
@@ -227,7 +228,7 @@ func createComment(e *xorm.Session, opts *CreateCommentOptions) (_ *Comment, err
|
||||
if IsErrAttachmentNotExist(err) {
|
||||
continue
|
||||
}
|
||||
return nil, fmt.Errorf("getAttachmentByUUID [%s]: %v", uuid, err)
|
||||
return nil, errors.Newf("getAttachmentByUUID [%s]: %v", uuid, err)
|
||||
}
|
||||
attachments = append(attachments, attach)
|
||||
}
|
||||
@@ -237,7 +238,7 @@ func createComment(e *xorm.Session, opts *CreateCommentOptions) (_ *Comment, err
|
||||
attachments[i].CommentID = comment.ID
|
||||
// No assign value could be 0, so ignore AllCols().
|
||||
if _, err = e.ID(attachments[i].ID).Update(attachments[i]); err != nil {
|
||||
return nil, fmt.Errorf("update attachment [%d]: %v", attachments[i].ID, err)
|
||||
return nil, errors.Newf("update attachment [%d]: %v", attachments[i].ID, err)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -273,7 +274,7 @@ func createComment(e *xorm.Session, opts *CreateCommentOptions) (_ *Comment, err
|
||||
}
|
||||
|
||||
if _, err = e.Exec("UPDATE `issue` SET updated_unix = ? WHERE id = ?", time.Now().Unix(), opts.Issue.ID); err != nil {
|
||||
return nil, fmt.Errorf("update issue 'updated_unix': %v", err)
|
||||
return nil, errors.Newf("update issue 'updated_unix': %v", err)
|
||||
}
|
||||
|
||||
// Notify watchers for whatever action comes in, ignore if no action type.
|
||||
@@ -342,7 +343,7 @@ func CreateIssueComment(doer *User, repo *Repository, issue *Issue, content stri
|
||||
Attachments: attachments,
|
||||
})
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("CreateComment: %v", err)
|
||||
return nil, errors.Newf("CreateComment: %v", err)
|
||||
}
|
||||
|
||||
comment.Issue = issue
|
||||
@@ -362,7 +363,7 @@ func CreateIssueComment(doer *User, repo *Repository, issue *Issue, content stri
|
||||
// CreateRefComment creates a commit reference comment to issue.
|
||||
func CreateRefComment(doer *User, repo *Repository, issue *Issue, content, commitSHA string) error {
|
||||
if commitSHA == "" {
|
||||
return fmt.Errorf("cannot create reference with empty commit SHA")
|
||||
return errors.Newf("cannot create reference with empty commit SHA")
|
||||
}
|
||||
|
||||
// Check if same reference from same commit has already existed.
|
||||
@@ -372,7 +373,7 @@ func CreateRefComment(doer *User, repo *Repository, issue *Issue, content, commi
|
||||
CommitSHA: commitSHA,
|
||||
})
|
||||
if err != nil {
|
||||
return fmt.Errorf("check reference comment: %v", err)
|
||||
return errors.Newf("check reference comment: %v", err)
|
||||
} else if has {
|
||||
return nil
|
||||
}
|
||||
@@ -423,7 +424,7 @@ func GetCommentByID(id int64) (*Comment, error) {
|
||||
func loadCommentsAttributes(e Engine, comments []*Comment) (err error) {
|
||||
for i := range comments {
|
||||
if err = comments[i].loadAttributes(e); err != nil {
|
||||
return fmt.Errorf("loadAttributes [%d]: %v", comments[i].ID, err)
|
||||
return errors.Newf("loadAttributes [%d]: %v", comments[i].ID, err)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -527,7 +528,7 @@ func DeleteCommentByID(doer *User, id int64) error {
|
||||
}
|
||||
|
||||
if err = sess.Commit(); err != nil {
|
||||
return fmt.Errorf("commit: %v", err)
|
||||
return errors.Newf("commit: %v", err)
|
||||
}
|
||||
|
||||
_, err = DeleteAttachmentsByComment(comment.ID, true)
|
||||
|
||||
@@ -6,7 +6,7 @@ import (
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/pkg/errors"
|
||||
"github.com/cockroachdb/errors"
|
||||
"gorm.io/gorm"
|
||||
"gorm.io/gorm/logger"
|
||||
"gorm.io/gorm/schema"
|
||||
|
||||
@@ -2,11 +2,11 @@ package database
|
||||
|
||||
import (
|
||||
"context"
|
||||
"errors"
|
||||
"fmt"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/cockroachdb/errors"
|
||||
"github.com/unknwon/com"
|
||||
log "unknwon.dev/clog/v2"
|
||||
"xorm.io/xorm"
|
||||
@@ -95,7 +95,7 @@ func (issue *Issue) loadAttributes(e Engine) (err error) {
|
||||
if issue.Repo == nil {
|
||||
issue.Repo, err = getRepositoryByID(e, issue.RepoID)
|
||||
if err != nil {
|
||||
return fmt.Errorf("getRepositoryByID [%d]: %v", issue.RepoID, err)
|
||||
return errors.Newf("getRepositoryByID [%d]: %v", issue.RepoID, err)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -106,7 +106,7 @@ func (issue *Issue) loadAttributes(e Engine) (err error) {
|
||||
issue.PosterID = -1
|
||||
issue.Poster = NewGhostUser()
|
||||
} else {
|
||||
return fmt.Errorf("getUserByID.(Poster) [%d]: %v", issue.PosterID, err)
|
||||
return errors.Newf("getUserByID.(Poster) [%d]: %v", issue.PosterID, err)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -114,21 +114,21 @@ func (issue *Issue) loadAttributes(e Engine) (err error) {
|
||||
if issue.Labels == nil {
|
||||
issue.Labels, err = getLabelsByIssueID(e, issue.ID)
|
||||
if err != nil {
|
||||
return fmt.Errorf("getLabelsByIssueID [%d]: %v", issue.ID, err)
|
||||
return errors.Newf("getLabelsByIssueID [%d]: %v", issue.ID, err)
|
||||
}
|
||||
}
|
||||
|
||||
if issue.Milestone == nil && issue.MilestoneID > 0 {
|
||||
issue.Milestone, err = getMilestoneByRepoID(e, issue.RepoID, issue.MilestoneID)
|
||||
if err != nil {
|
||||
return fmt.Errorf("getMilestoneByRepoID [repo_id: %d, milestone_id: %d]: %v", issue.RepoID, issue.MilestoneID, err)
|
||||
return errors.Newf("getMilestoneByRepoID [repo_id: %d, milestone_id: %d]: %v", issue.RepoID, issue.MilestoneID, err)
|
||||
}
|
||||
}
|
||||
|
||||
if issue.Assignee == nil && issue.AssigneeID > 0 {
|
||||
issue.Assignee, err = getUserByID(e, issue.AssigneeID)
|
||||
if err != nil {
|
||||
return fmt.Errorf("getUserByID.(assignee) [%d]: %v", issue.AssigneeID, err)
|
||||
return errors.Newf("getUserByID.(assignee) [%d]: %v", issue.AssigneeID, err)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -136,21 +136,21 @@ func (issue *Issue) loadAttributes(e Engine) (err error) {
|
||||
// It is possible pull request is not yet created.
|
||||
issue.PullRequest, err = getPullRequestByIssueID(e, issue.ID)
|
||||
if err != nil && !IsErrPullRequestNotExist(err) {
|
||||
return fmt.Errorf("getPullRequestByIssueID [%d]: %v", issue.ID, err)
|
||||
return errors.Newf("getPullRequestByIssueID [%d]: %v", issue.ID, err)
|
||||
}
|
||||
}
|
||||
|
||||
if issue.Attachments == nil {
|
||||
issue.Attachments, err = getAttachmentsByIssueID(e, issue.ID)
|
||||
if err != nil {
|
||||
return fmt.Errorf("getAttachmentsByIssueID [%d]: %v", issue.ID, err)
|
||||
return errors.Newf("getAttachmentsByIssueID [%d]: %v", issue.ID, err)
|
||||
}
|
||||
}
|
||||
|
||||
if issue.Comments == nil {
|
||||
issue.Comments, err = getCommentsByIssueID(e, issue.ID)
|
||||
if err != nil {
|
||||
return fmt.Errorf("getCommentsByIssueID [%d]: %v", issue.ID, err)
|
||||
return errors.Newf("getCommentsByIssueID [%d]: %v", issue.ID, err)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -302,7 +302,7 @@ func (issue *Issue) getLabels(e Engine) (err error) {
|
||||
|
||||
issue.Labels, err = getLabelsByIssueID(e, issue.ID)
|
||||
if err != nil {
|
||||
return fmt.Errorf("getLabelsByIssueID: %v", err)
|
||||
return errors.Newf("getLabelsByIssueID: %v", err)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
@@ -323,7 +323,7 @@ func (issue *Issue) RemoveLabel(doer *User, label *Label) error {
|
||||
|
||||
func (issue *Issue) clearLabels(e *xorm.Session) (err error) {
|
||||
if err = issue.getLabels(e); err != nil {
|
||||
return fmt.Errorf("getLabels: %v", err)
|
||||
return errors.Newf("getLabels: %v", err)
|
||||
}
|
||||
|
||||
// NOTE: issue.removeLabel slices issue.Labels, so we need to create another slice to be unaffected.
|
||||
@@ -331,7 +331,7 @@ func (issue *Issue) clearLabels(e *xorm.Session) (err error) {
|
||||
copy(labels, issue.Labels)
|
||||
for i := range labels {
|
||||
if err = issue.removeLabel(e, labels[i]); err != nil {
|
||||
return fmt.Errorf("removeLabel: %v", err)
|
||||
return errors.Newf("removeLabel: %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -350,7 +350,7 @@ func (issue *Issue) ClearLabels(doer *User) (err error) {
|
||||
}
|
||||
|
||||
if err = sess.Commit(); err != nil {
|
||||
return fmt.Errorf("commit: %v", err)
|
||||
return errors.Newf("commit: %v", err)
|
||||
}
|
||||
|
||||
if issue.IsPull {
|
||||
@@ -391,9 +391,9 @@ func (issue *Issue) ReplaceLabels(labels []*Label) (err error) {
|
||||
}
|
||||
|
||||
if err = issue.clearLabels(sess); err != nil {
|
||||
return fmt.Errorf("clearLabels: %v", err)
|
||||
return errors.Newf("clearLabels: %v", err)
|
||||
} else if err = issue.addLabels(sess, labels); err != nil {
|
||||
return fmt.Errorf("addLabels: %v", err)
|
||||
return errors.Newf("addLabels: %v", err)
|
||||
}
|
||||
|
||||
return sess.Commit()
|
||||
@@ -481,7 +481,7 @@ func (issue *Issue) ChangeStatus(doer *User, repo *Repository, isClosed bool) (e
|
||||
}
|
||||
|
||||
if err = sess.Commit(); err != nil {
|
||||
return fmt.Errorf("commit: %v", err)
|
||||
return errors.Newf("commit: %v", err)
|
||||
}
|
||||
|
||||
if issue.IsPull {
|
||||
@@ -524,7 +524,7 @@ func (issue *Issue) ChangeTitle(doer *User, title string) (err error) {
|
||||
oldTitle := issue.Title
|
||||
issue.Title = title
|
||||
if err = UpdateIssueCols(issue, "name"); err != nil {
|
||||
return fmt.Errorf("UpdateIssueCols: %v", err)
|
||||
return errors.Newf("UpdateIssueCols: %v", err)
|
||||
}
|
||||
|
||||
if issue.IsPull {
|
||||
@@ -566,7 +566,7 @@ func (issue *Issue) ChangeContent(doer *User, content string) (err error) {
|
||||
oldContent := issue.Content
|
||||
issue.Content = content
|
||||
if err = UpdateIssueCols(issue, "content"); err != nil {
|
||||
return fmt.Errorf("UpdateIssueCols: %v", err)
|
||||
return errors.Newf("UpdateIssueCols: %v", err)
|
||||
}
|
||||
|
||||
if issue.IsPull {
|
||||
@@ -607,7 +607,7 @@ func (issue *Issue) ChangeContent(doer *User, content string) (err error) {
|
||||
func (issue *Issue) ChangeAssignee(doer *User, assigneeID int64) (err error) {
|
||||
issue.AssigneeID = assigneeID
|
||||
if err = UpdateIssueUserByAssignee(issue); err != nil {
|
||||
return fmt.Errorf("UpdateIssueUserByAssignee: %v", err)
|
||||
return errors.Newf("UpdateIssueUserByAssignee: %v", err)
|
||||
}
|
||||
|
||||
issue.Assignee, err = Handle.Users().GetByID(context.TODO(), issue.AssigneeID)
|
||||
@@ -668,7 +668,7 @@ func newIssue(e *xorm.Session, opts NewIssueOptions) (err error) {
|
||||
if opts.Issue.MilestoneID > 0 {
|
||||
milestone, err := getMilestoneByRepoID(e, opts.Issue.RepoID, opts.Issue.MilestoneID)
|
||||
if err != nil && !IsErrMilestoneNotExist(err) {
|
||||
return fmt.Errorf("getMilestoneByID: %v", err)
|
||||
return errors.Newf("getMilestoneByID: %v", err)
|
||||
}
|
||||
|
||||
// Assume milestone is invalid and drop silently.
|
||||
@@ -685,7 +685,7 @@ func newIssue(e *xorm.Session, opts NewIssueOptions) (err error) {
|
||||
if opts.Issue.AssigneeID > 0 {
|
||||
assignee, err := getUserByID(e, opts.Issue.AssigneeID)
|
||||
if err != nil && !IsErrUserNotExist(err) {
|
||||
return fmt.Errorf("get user by ID: %v", err)
|
||||
return errors.Newf("get user by ID: %v", err)
|
||||
}
|
||||
|
||||
if assignee != nil {
|
||||
@@ -716,7 +716,7 @@ func newIssue(e *xorm.Session, opts NewIssueOptions) (err error) {
|
||||
// So we have to get all needed labels first.
|
||||
labels := make([]*Label, 0, len(opts.LableIDs))
|
||||
if err = e.In("id", opts.LableIDs).Find(&labels); err != nil {
|
||||
return fmt.Errorf("find all labels [label_ids: %v]: %v", opts.LableIDs, err)
|
||||
return errors.Newf("find all labels [label_ids: %v]: %v", opts.LableIDs, err)
|
||||
}
|
||||
|
||||
for _, label := range labels {
|
||||
@@ -726,7 +726,7 @@ func newIssue(e *xorm.Session, opts NewIssueOptions) (err error) {
|
||||
}
|
||||
|
||||
if err = opts.Issue.addLabel(e, label); err != nil {
|
||||
return fmt.Errorf("addLabel [id: %d]: %v", label.ID, err)
|
||||
return errors.Newf("addLabel [id: %d]: %v", label.ID, err)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -738,13 +738,13 @@ func newIssue(e *xorm.Session, opts NewIssueOptions) (err error) {
|
||||
if len(opts.Attachments) > 0 {
|
||||
attachments, err := getAttachmentsByUUIDs(e, opts.Attachments)
|
||||
if err != nil {
|
||||
return fmt.Errorf("getAttachmentsByUUIDs [uuids: %v]: %v", opts.Attachments, err)
|
||||
return errors.Newf("getAttachmentsByUUIDs [uuids: %v]: %v", opts.Attachments, err)
|
||||
}
|
||||
|
||||
for i := 0; i < len(attachments); i++ {
|
||||
attachments[i].IssueID = opts.Issue.ID
|
||||
if _, err = e.ID(attachments[i].ID).Update(attachments[i]); err != nil {
|
||||
return fmt.Errorf("update attachment [id: %d]: %v", attachments[i].ID, err)
|
||||
return errors.Newf("update attachment [id: %d]: %v", attachments[i].ID, err)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -766,11 +766,11 @@ func NewIssue(repo *Repository, issue *Issue, labelIDs []int64, uuids []string)
|
||||
LableIDs: labelIDs,
|
||||
Attachments: uuids,
|
||||
}); err != nil {
|
||||
return fmt.Errorf("new issue: %v", err)
|
||||
return errors.Newf("new issue: %v", err)
|
||||
}
|
||||
|
||||
if err = sess.Commit(); err != nil {
|
||||
return fmt.Errorf("commit: %v", err)
|
||||
return errors.Newf("commit: %v", err)
|
||||
}
|
||||
|
||||
if err = NotifyWatchers(&Action{
|
||||
@@ -997,13 +997,13 @@ func Issues(opts *IssuesOptions) ([]*Issue, error) {
|
||||
|
||||
issues := make([]*Issue, 0, conf.UI.IssuePagingNum)
|
||||
if err := sess.Find(&issues); err != nil {
|
||||
return nil, fmt.Errorf("find: %v", err)
|
||||
return nil, errors.Newf("find: %v", err)
|
||||
}
|
||||
|
||||
// FIXME: use IssueList to improve performance.
|
||||
for i := range issues {
|
||||
if err := issues[i].LoadAttributes(); err != nil {
|
||||
return nil, fmt.Errorf("LoadAttributes [%d]: %v", issues[i].ID, err)
|
||||
return nil, errors.Newf("LoadAttributes [%d]: %v", issues[i].ID, err)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1017,7 +1017,7 @@ func GetParticipantsByIssueID(issueID int64) ([]*User, error) {
|
||||
Where("issue_id = ?", issueID).
|
||||
Distinct("poster_id").
|
||||
Find(&userIDs); err != nil {
|
||||
return nil, fmt.Errorf("get poster IDs: %v", err)
|
||||
return nil, errors.Newf("get poster IDs: %v", err)
|
||||
}
|
||||
if len(userIDs) == 0 {
|
||||
return nil, nil
|
||||
@@ -1051,7 +1051,7 @@ type IssueUser struct {
|
||||
func newIssueUsers(e *xorm.Session, repo *Repository, issue *Issue) error {
|
||||
assignees, err := repo.getAssignees(e)
|
||||
if err != nil {
|
||||
return fmt.Errorf("getAssignees: %v", err)
|
||||
return errors.Newf("getAssignees: %v", err)
|
||||
}
|
||||
|
||||
// Poster can be anyone, append later if not one of assignees.
|
||||
@@ -1166,7 +1166,7 @@ func updateIssueMentions(e Engine, issueID int64, mentions []string) error {
|
||||
users := make([]*User, 0, len(mentions))
|
||||
|
||||
if err := e.In("lower_name", mentions).Asc("lower_name").Find(&users); err != nil {
|
||||
return fmt.Errorf("find mentioned users: %v", err)
|
||||
return errors.Newf("find mentioned users: %v", err)
|
||||
}
|
||||
|
||||
ids := make([]int64, 0, len(mentions))
|
||||
@@ -1179,7 +1179,7 @@ func updateIssueMentions(e Engine, issueID int64, mentions []string) error {
|
||||
memberIDs := make([]int64, 0, user.NumMembers)
|
||||
orgUsers, err := getOrgUsersByOrgID(e, user.ID, 0)
|
||||
if err != nil {
|
||||
return fmt.Errorf("getOrgUsersByOrgID [%d]: %v", user.ID, err)
|
||||
return errors.Newf("getOrgUsersByOrgID [%d]: %v", user.ID, err)
|
||||
}
|
||||
|
||||
for _, orgUser := range orgUsers {
|
||||
@@ -1190,7 +1190,7 @@ func updateIssueMentions(e Engine, issueID int64, mentions []string) error {
|
||||
}
|
||||
|
||||
if err := updateIssueUsersByMentions(e, issueID, ids); err != nil {
|
||||
return fmt.Errorf("UpdateIssueUsersByMentions: %v", err)
|
||||
return errors.Newf("UpdateIssueUsersByMentions: %v", err)
|
||||
}
|
||||
|
||||
return nil
|
||||
|
||||
@@ -8,6 +8,7 @@ import (
|
||||
|
||||
"xorm.io/xorm"
|
||||
|
||||
"github.com/cockroachdb/errors"
|
||||
api "github.com/gogs/go-gogs-client"
|
||||
|
||||
"gogs.io/gogs/internal/errutil"
|
||||
@@ -22,7 +23,7 @@ var labelColorPattern = lazyregexp.New("#([a-fA-F0-9]{6})")
|
||||
func GetLabelTemplateFile(name string) ([][2]string, error) {
|
||||
data, err := getRepoInitFile("label", name)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("getRepoInitFile: %v", err)
|
||||
return nil, errors.Newf("getRepoInitFile: %v", err)
|
||||
}
|
||||
|
||||
lines := strings.Split(string(data), "\n")
|
||||
@@ -35,11 +36,11 @@ func GetLabelTemplateFile(name string) ([][2]string, error) {
|
||||
|
||||
fields := strings.SplitN(line, " ", 2)
|
||||
if len(fields) != 2 {
|
||||
return nil, fmt.Errorf("line is malformed: %s", line)
|
||||
return nil, errors.Newf("line is malformed: %s", line)
|
||||
}
|
||||
|
||||
if !labelColorPattern.MatchString(fields[0]) {
|
||||
return nil, fmt.Errorf("bad HTML color code in line: %s", line)
|
||||
return nil, errors.Newf("bad HTML color code in line: %s", line)
|
||||
}
|
||||
|
||||
fields[1] = strings.TrimSpace(fields[1])
|
||||
@@ -192,7 +193,7 @@ func GetLabelsByRepoID(repoID int64) ([]*Label, error) {
|
||||
func getLabelsByIssueID(e Engine, issueID int64) ([]*Label, error) {
|
||||
issueLabels, err := getIssueLabels(e, issueID)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("getIssueLabels: %v", err)
|
||||
return nil, errors.Newf("getIssueLabels: %v", err)
|
||||
} else if len(issueLabels) == 0 {
|
||||
return []*Label{}, nil
|
||||
}
|
||||
@@ -284,7 +285,7 @@ func newIssueLabel(e *xorm.Session, issue *Issue, label *Label) (err error) {
|
||||
}
|
||||
|
||||
if err = updateLabel(e, label); err != nil {
|
||||
return fmt.Errorf("updateLabel: %v", err)
|
||||
return errors.Newf("updateLabel: %v", err)
|
||||
}
|
||||
|
||||
issue.Labels = append(issue.Labels, label)
|
||||
@@ -317,7 +318,7 @@ func newIssueLabels(e *xorm.Session, issue *Issue, labels []*Label) (err error)
|
||||
}
|
||||
|
||||
if err = newIssueLabel(e, issue, labels[i]); err != nil {
|
||||
return fmt.Errorf("newIssueLabel: %v", err)
|
||||
return errors.Newf("newIssueLabel: %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -362,7 +363,7 @@ func deleteIssueLabel(e *xorm.Session, issue *Issue, label *Label) (err error) {
|
||||
label.NumClosedIssues--
|
||||
}
|
||||
if err = updateLabel(e, label); err != nil {
|
||||
return fmt.Errorf("updateLabel: %v", err)
|
||||
return errors.Newf("updateLabel: %v", err)
|
||||
}
|
||||
|
||||
for i := range issue.Labels {
|
||||
|
||||
@@ -4,7 +4,7 @@ import (
|
||||
"context"
|
||||
"fmt"
|
||||
|
||||
"github.com/pkg/errors"
|
||||
"github.com/cockroachdb/errors"
|
||||
"github.com/unknwon/com"
|
||||
log "unknwon.dev/clog/v2"
|
||||
|
||||
@@ -104,11 +104,11 @@ func mailIssueCommentToParticipants(issue *Issue, doer *User, mentions []string)
|
||||
|
||||
watchers, err := GetWatchers(issue.RepoID)
|
||||
if err != nil {
|
||||
return fmt.Errorf("GetWatchers [repo_id: %d]: %v", issue.RepoID, err)
|
||||
return errors.Newf("GetWatchers [repo_id: %d]: %v", issue.RepoID, err)
|
||||
}
|
||||
participants, err := GetParticipantsByIssueID(issue.ID)
|
||||
if err != nil {
|
||||
return fmt.Errorf("GetParticipantsByIssueID [issue_id: %d]: %v", issue.ID, err)
|
||||
return errors.Newf("GetParticipantsByIssueID [issue_id: %d]: %v", issue.ID, err)
|
||||
}
|
||||
|
||||
// In case the issue poster is not watching the repository,
|
||||
@@ -126,7 +126,7 @@ func mailIssueCommentToParticipants(issue *Issue, doer *User, mentions []string)
|
||||
|
||||
to, err := Handle.Users().GetByID(ctx, watchers[i].UserID)
|
||||
if err != nil {
|
||||
return fmt.Errorf("GetUserByID [%d]: %v", watchers[i].UserID, err)
|
||||
return errors.Newf("GetUserByID [%d]: %v", watchers[i].UserID, err)
|
||||
}
|
||||
if to.IsOrganization() || !to.IsActive {
|
||||
continue
|
||||
@@ -177,7 +177,7 @@ func mailIssueCommentToParticipants(issue *Issue, doer *User, mentions []string)
|
||||
func (issue *Issue) MailParticipants() (err error) {
|
||||
mentions := markup.FindAllMentions(issue.Content)
|
||||
if err = updateIssueMentions(x, issue.ID, mentions); err != nil {
|
||||
return fmt.Errorf("UpdateIssueMentions [%d]: %v", issue.ID, err)
|
||||
return errors.Newf("UpdateIssueMentions [%d]: %v", issue.ID, err)
|
||||
}
|
||||
|
||||
if err = mailIssueCommentToParticipants(issue, issue.Poster, mentions); err != nil {
|
||||
|
||||
@@ -2,10 +2,10 @@ package database
|
||||
|
||||
import (
|
||||
"context"
|
||||
"errors"
|
||||
"fmt"
|
||||
"time"
|
||||
|
||||
"github.com/cockroachdb/errors"
|
||||
"gorm.io/gorm"
|
||||
|
||||
"gogs.io/gogs/internal/errutil"
|
||||
|
||||
@@ -8,7 +8,7 @@ import (
|
||||
"sync"
|
||||
"time"
|
||||
|
||||
"github.com/pkg/errors"
|
||||
"github.com/cockroachdb/errors"
|
||||
"gopkg.in/ini.v1"
|
||||
|
||||
"gogs.io/gogs/internal/auth"
|
||||
@@ -200,7 +200,7 @@ func loadLoginSourceFiles(authdPath string, clock func() time.Time) (loginSource
|
||||
loginSource.Provider = github.NewProvider(&cfg)
|
||||
|
||||
default:
|
||||
return fmt.Errorf("unknown type %q", authType)
|
||||
return errors.Newf("unknown type %q", authType)
|
||||
}
|
||||
|
||||
store.sources = append(store.sources, loginSource)
|
||||
|
||||
@@ -6,8 +6,8 @@ import (
|
||||
"strconv"
|
||||
"time"
|
||||
|
||||
"github.com/cockroachdb/errors"
|
||||
jsoniter "github.com/json-iterator/go"
|
||||
"github.com/pkg/errors"
|
||||
"gorm.io/gorm"
|
||||
|
||||
"gogs.io/gogs/internal/auth"
|
||||
@@ -121,7 +121,7 @@ func (s *LoginSource) AfterFind(_ *gorm.DB) error {
|
||||
s.Provider = mockProvider
|
||||
|
||||
default:
|
||||
return fmt.Errorf("unrecognized login source type: %v", s.Type)
|
||||
return errors.Newf("unrecognized login source type: %v", s.Type)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package migrations
|
||||
|
||||
import (
|
||||
"github.com/pkg/errors"
|
||||
"github.com/cockroachdb/errors"
|
||||
"gorm.io/gorm"
|
||||
log "unknwon.dev/clog/v2"
|
||||
)
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package migrations
|
||||
|
||||
import (
|
||||
"github.com/pkg/errors"
|
||||
"github.com/cockroachdb/errors"
|
||||
"gorm.io/gorm"
|
||||
|
||||
"gogs.io/gogs/internal/cryptoutil"
|
||||
|
||||
@@ -7,6 +7,7 @@ import (
|
||||
log "unknwon.dev/clog/v2"
|
||||
"xorm.io/xorm"
|
||||
|
||||
"github.com/cockroachdb/errors"
|
||||
api "github.com/gogs/go-gogs-client"
|
||||
|
||||
"gogs.io/gogs/internal/conf"
|
||||
@@ -339,7 +340,7 @@ func ChangeMilestoneAssign(doer *User, issue *Issue, oldMilestoneID int64) (err
|
||||
}
|
||||
|
||||
if err = sess.Commit(); err != nil {
|
||||
return fmt.Errorf("commit: %v", err)
|
||||
return errors.Newf("commit: %v", err)
|
||||
}
|
||||
|
||||
var hookAction api.HookIssueAction
|
||||
|
||||
@@ -7,6 +7,7 @@ import (
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/cockroachdb/errors"
|
||||
"github.com/unknwon/com"
|
||||
"gopkg.in/ini.v1"
|
||||
log "unknwon.dev/clog/v2"
|
||||
@@ -141,7 +142,7 @@ func (m *Mirror) SaveAddress(addr string) error {
|
||||
|
||||
err := git.RemoteRemove(repoPath, "origin")
|
||||
if err != nil {
|
||||
return fmt.Errorf("remove remote 'origin': %v", err)
|
||||
return errors.Newf("remove remote 'origin': %v", err)
|
||||
}
|
||||
|
||||
addrURL, err := url.Parse(addr)
|
||||
@@ -151,7 +152,7 @@ func (m *Mirror) SaveAddress(addr string) error {
|
||||
|
||||
err = git.RemoteAdd(repoPath, "origin", addrURL.String(), git.RemoteAddOptions{MirrorFetch: true})
|
||||
if err != nil {
|
||||
return fmt.Errorf("add remote 'origin': %v", err)
|
||||
return errors.Newf("add remote 'origin': %v", err)
|
||||
}
|
||||
|
||||
return nil
|
||||
|
||||
@@ -10,7 +10,7 @@ import (
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/pkg/errors"
|
||||
"github.com/cockroachdb/errors"
|
||||
"gorm.io/gorm"
|
||||
"gorm.io/gorm/logger"
|
||||
log "unknwon.dev/clog/v2"
|
||||
@@ -97,13 +97,13 @@ func getEngine() (*xorm.Engine, error) {
|
||||
|
||||
case "sqlite3":
|
||||
if err := os.MkdirAll(path.Dir(conf.Database.Path), os.ModePerm); err != nil {
|
||||
return nil, fmt.Errorf("create directories: %v", err)
|
||||
return nil, errors.Newf("create directories: %v", err)
|
||||
}
|
||||
conf.UseSQLite3 = true
|
||||
connStr = "file:" + conf.Database.Path + "?cache=shared&mode=rwc"
|
||||
|
||||
default:
|
||||
return nil, fmt.Errorf("unknown database type: %s", conf.Database.Type)
|
||||
return nil, errors.Newf("unknown database type: %s", conf.Database.Type)
|
||||
}
|
||||
return xorm.NewEngine(driver, connStr)
|
||||
}
|
||||
@@ -111,7 +111,7 @@ func getEngine() (*xorm.Engine, error) {
|
||||
func NewTestEngine() error {
|
||||
x, err := getEngine()
|
||||
if err != nil {
|
||||
return fmt.Errorf("connect to database: %v", err)
|
||||
return errors.Newf("connect to database: %v", err)
|
||||
}
|
||||
|
||||
if conf.UsePostgreSQL {
|
||||
@@ -126,7 +126,7 @@ func SetEngine() (*gorm.DB, error) {
|
||||
var err error
|
||||
x, err = getEngine()
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("connect to database: %v", err)
|
||||
return nil, errors.Newf("connect to database: %v", err)
|
||||
}
|
||||
|
||||
if conf.UsePostgreSQL {
|
||||
@@ -151,7 +151,7 @@ func SetEngine() (*gorm.DB, error) {
|
||||
},
|
||||
)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("create 'xorm.log': %v", err)
|
||||
return nil, errors.Newf("create 'xorm.log': %v", err)
|
||||
}
|
||||
|
||||
x.SetMaxOpenConns(conf.Database.MaxOpenConns)
|
||||
@@ -184,7 +184,7 @@ func NewEngine() error {
|
||||
}
|
||||
|
||||
if err = migrations.Migrate(db); err != nil {
|
||||
return fmt.Errorf("migrate: %v", err)
|
||||
return errors.Newf("migrate: %v", err)
|
||||
}
|
||||
|
||||
if err = x.StoreEngine("InnoDB").Sync2(legacyTables...); err != nil {
|
||||
|
||||
@@ -2,11 +2,10 @@ package database
|
||||
|
||||
import (
|
||||
"context"
|
||||
"errors"
|
||||
"fmt"
|
||||
"os"
|
||||
"strings"
|
||||
|
||||
"github.com/cockroachdb/errors"
|
||||
"xorm.io/builder"
|
||||
"xorm.io/xorm"
|
||||
|
||||
@@ -129,7 +128,7 @@ func CreateOrganization(org, owner *User) (err error) {
|
||||
}
|
||||
|
||||
if _, err = sess.Insert(org); err != nil {
|
||||
return fmt.Errorf("insert organization: %v", err)
|
||||
return errors.Newf("insert organization: %v", err)
|
||||
}
|
||||
_ = userutil.GenerateRandomAvatar(org.ID, org.Name, org.Email)
|
||||
|
||||
@@ -140,7 +139,7 @@ func CreateOrganization(org, owner *User) (err error) {
|
||||
IsOwner: true,
|
||||
NumTeams: 1,
|
||||
}); err != nil {
|
||||
return fmt.Errorf("insert org-user relation: %v", err)
|
||||
return errors.Newf("insert org-user relation: %v", err)
|
||||
}
|
||||
|
||||
// Create default owner team.
|
||||
@@ -152,7 +151,7 @@ func CreateOrganization(org, owner *User) (err error) {
|
||||
NumMembers: 1,
|
||||
}
|
||||
if _, err = sess.Insert(t); err != nil {
|
||||
return fmt.Errorf("insert owner team: %v", err)
|
||||
return errors.Newf("insert owner team: %v", err)
|
||||
}
|
||||
|
||||
if _, err = sess.Insert(&TeamUser{
|
||||
@@ -160,11 +159,11 @@ func CreateOrganization(org, owner *User) (err error) {
|
||||
OrgID: org.ID,
|
||||
TeamID: t.ID,
|
||||
}); err != nil {
|
||||
return fmt.Errorf("insert team-user relation: %v", err)
|
||||
return errors.Newf("insert team-user relation: %v", err)
|
||||
}
|
||||
|
||||
if err = os.MkdirAll(repoutil.UserPath(org.Name), os.ModePerm); err != nil {
|
||||
return fmt.Errorf("create directory: %v", err)
|
||||
return errors.Newf("create directory: %v", err)
|
||||
}
|
||||
|
||||
return sess.Commit()
|
||||
@@ -228,7 +227,7 @@ func DeleteOrganization(org *User) error {
|
||||
&OrgUser{OrgID: org.ID},
|
||||
&TeamUser{OrgID: org.ID},
|
||||
); err != nil {
|
||||
return fmt.Errorf("deleteBeans: %v", err)
|
||||
return errors.Newf("deleteBeans: %v", err)
|
||||
}
|
||||
return sess.Commit()
|
||||
}
|
||||
@@ -364,24 +363,24 @@ func RemoveOrgUser(orgID, userID int64) error {
|
||||
|
||||
has, err := x.Where("uid=?", userID).And("org_id=?", orgID).Get(ou)
|
||||
if err != nil {
|
||||
return fmt.Errorf("get org-user: %v", err)
|
||||
return errors.Newf("get org-user: %v", err)
|
||||
} else if !has {
|
||||
return nil
|
||||
}
|
||||
|
||||
user, err := Handle.Users().GetByID(context.TODO(), userID)
|
||||
if err != nil {
|
||||
return fmt.Errorf("GetUserByID [%d]: %v", userID, err)
|
||||
return errors.Newf("GetUserByID [%d]: %v", userID, err)
|
||||
}
|
||||
org, err := Handle.Users().GetByID(context.TODO(), orgID)
|
||||
if err != nil {
|
||||
return fmt.Errorf("GetUserByID [%d]: %v", orgID, err)
|
||||
return errors.Newf("GetUserByID [%d]: %v", orgID, err)
|
||||
}
|
||||
|
||||
// FIXME: only need to get IDs here, not all fields of repository.
|
||||
repos, _, err := org.GetUserRepositories(user.ID, 1, org.NumRepos)
|
||||
if err != nil {
|
||||
return fmt.Errorf("GetUserRepositories [%d]: %v", user.ID, err)
|
||||
return errors.Newf("GetUserRepositories [%d]: %v", user.ID, err)
|
||||
}
|
||||
|
||||
// Check if the user to delete is the last member in owner team.
|
||||
@@ -461,7 +460,7 @@ func (org *User) getUserTeams(e Engine, userID int64, cols ...string) ([]*Team,
|
||||
func (org *User) GetUserTeamIDs(userID int64) ([]int64, error) {
|
||||
teams, err := org.getUserTeams(x, userID, "team.id")
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("getUserTeams [%d]: %v", userID, err)
|
||||
return nil, errors.Newf("getUserTeams [%d]: %v", userID, err)
|
||||
}
|
||||
|
||||
teamIDs := make([]int64, len(teams))
|
||||
@@ -482,7 +481,7 @@ func (org *User) GetUserTeams(userID int64) ([]*Team, error) {
|
||||
func (org *User) GetUserRepositories(userID int64, page, pageSize int) ([]*Repository, int64, error) {
|
||||
teamIDs, err := org.GetUserTeamIDs(userID)
|
||||
if err != nil {
|
||||
return nil, 0, fmt.Errorf("GetUserTeamIDs: %v", err)
|
||||
return nil, 0, errors.Newf("GetUserTeamIDs: %v", err)
|
||||
}
|
||||
if len(teamIDs) == 0 {
|
||||
// user has no team but "IN ()" is invalid SQL
|
||||
@@ -491,7 +490,7 @@ func (org *User) GetUserRepositories(userID int64, page, pageSize int) ([]*Repos
|
||||
|
||||
var teamRepoIDs []int64
|
||||
if err = x.Table("team_repo").In("team_id", teamIDs).Distinct("repo_id").Find(&teamRepoIDs); err != nil {
|
||||
return nil, 0, fmt.Errorf("get team repository IDs: %v", err)
|
||||
return nil, 0, errors.Newf("get team repository IDs: %v", err)
|
||||
}
|
||||
if len(teamRepoIDs) == 0 {
|
||||
// team has no repo but "IN ()" is invalid SQL
|
||||
@@ -509,7 +508,7 @@ func (org *User) GetUserRepositories(userID int64, page, pageSize int) ([]*Repos
|
||||
Desc("updated_unix").
|
||||
Limit(pageSize, (page-1)*pageSize).
|
||||
Find(&repos); err != nil {
|
||||
return nil, 0, fmt.Errorf("get user repositories: %v", err)
|
||||
return nil, 0, errors.Newf("get user repositories: %v", err)
|
||||
}
|
||||
|
||||
repoCount, err := x.Where("owner_id = ?", org.ID).
|
||||
@@ -518,7 +517,7 @@ func (org *User) GetUserRepositories(userID int64, page, pageSize int) ([]*Repos
|
||||
builder.In("id", teamRepoIDs))).
|
||||
Count(new(Repository))
|
||||
if err != nil {
|
||||
return nil, 0, fmt.Errorf("count user repositories: %v", err)
|
||||
return nil, 0, errors.Newf("count user repositories: %v", err)
|
||||
}
|
||||
|
||||
return repos, repoCount, nil
|
||||
@@ -528,7 +527,7 @@ func (org *User) GetUserRepositories(userID int64, page, pageSize int) ([]*Repos
|
||||
func (org *User) GetUserMirrorRepositories(userID int64) ([]*Repository, error) {
|
||||
teamIDs, err := org.GetUserTeamIDs(userID)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("GetUserTeamIDs: %v", err)
|
||||
return nil, errors.Newf("GetUserTeamIDs: %v", err)
|
||||
}
|
||||
if len(teamIDs) == 0 {
|
||||
teamIDs = []int64{-1}
|
||||
@@ -537,7 +536,7 @@ func (org *User) GetUserMirrorRepositories(userID int64) ([]*Repository, error)
|
||||
var teamRepoIDs []int64
|
||||
err = x.Table("team_repo").In("team_id", teamIDs).Distinct("repo_id").Find(&teamRepoIDs)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("get team repository ids: %v", err)
|
||||
return nil, errors.Newf("get team repository ids: %v", err)
|
||||
}
|
||||
if len(teamRepoIDs) == 0 {
|
||||
// team has no repo but "IN ()" is invalid SQL
|
||||
@@ -551,7 +550,7 @@ func (org *User) GetUserMirrorRepositories(userID int64) ([]*Repository, error)
|
||||
And("is_mirror = ?", true). // Don't move up because it's an independent condition
|
||||
Desc("updated_unix").
|
||||
Find(&repos); err != nil {
|
||||
return nil, fmt.Errorf("get user repositories: %v", err)
|
||||
return nil, errors.Newf("get user repositories: %v", err)
|
||||
}
|
||||
return repos, nil
|
||||
}
|
||||
|
||||
@@ -2,10 +2,10 @@ package database
|
||||
|
||||
import (
|
||||
"context"
|
||||
"errors"
|
||||
"fmt"
|
||||
"strings"
|
||||
|
||||
"github.com/cockroachdb/errors"
|
||||
"xorm.io/xorm"
|
||||
|
||||
"gogs.io/gogs/internal/errutil"
|
||||
@@ -55,14 +55,14 @@ func (t *Team) IsMember(userID int64) bool {
|
||||
func (t *Team) getRepositories(e Engine) (err error) {
|
||||
teamRepos := make([]*TeamRepo, 0, t.NumRepos)
|
||||
if err = x.Where("team_id=?", t.ID).Find(&teamRepos); err != nil {
|
||||
return fmt.Errorf("get team-repos: %v", err)
|
||||
return errors.Newf("get team-repos: %v", err)
|
||||
}
|
||||
|
||||
t.Repos = make([]*Repository, 0, len(teamRepos))
|
||||
for i := range teamRepos {
|
||||
repo, err := getRepositoryByID(e, teamRepos[i].RepoID)
|
||||
if err != nil {
|
||||
return fmt.Errorf("getRepositoryById(%d): %v", teamRepos[i].RepoID, err)
|
||||
return errors.Newf("getRepositoryById(%d): %v", teamRepos[i].RepoID, err)
|
||||
}
|
||||
t.Repos = append(t.Repos, repo)
|
||||
}
|
||||
@@ -111,19 +111,19 @@ func (t *Team) addRepository(e Engine, repo *Repository) (err error) {
|
||||
|
||||
t.NumRepos++
|
||||
if _, err = e.ID(t.ID).AllCols().Update(t); err != nil {
|
||||
return fmt.Errorf("update team: %v", err)
|
||||
return errors.Newf("update team: %v", err)
|
||||
}
|
||||
|
||||
if err = repo.recalculateTeamAccesses(e, 0); err != nil {
|
||||
return fmt.Errorf("recalculateAccesses: %v", err)
|
||||
return errors.Newf("recalculateAccesses: %v", err)
|
||||
}
|
||||
|
||||
if err = t.getMembers(e); err != nil {
|
||||
return fmt.Errorf("getMembers: %v", err)
|
||||
return errors.Newf("getMembers: %v", err)
|
||||
}
|
||||
for _, u := range t.Members {
|
||||
if err = watchRepo(e, u.ID, repo.ID, true); err != nil {
|
||||
return fmt.Errorf("watchRepo: %v", err)
|
||||
return errors.Newf("watchRepo: %v", err)
|
||||
}
|
||||
}
|
||||
return nil
|
||||
@@ -168,7 +168,7 @@ func (t *Team) removeRepository(e Engine, repo *Repository, recalculate bool) (e
|
||||
}
|
||||
|
||||
if err = t.getMembers(e); err != nil {
|
||||
return fmt.Errorf("get team members: %v", err)
|
||||
return errors.Newf("get team members: %v", err)
|
||||
}
|
||||
|
||||
// TODO: Delete me when this method is migrated to use GORM.
|
||||
@@ -387,18 +387,18 @@ func UpdateTeam(t *Team, authChanged bool) (err error) {
|
||||
}
|
||||
|
||||
if _, err = sess.ID(t.ID).AllCols().Update(t); err != nil {
|
||||
return fmt.Errorf("update: %v", err)
|
||||
return errors.Newf("update: %v", err)
|
||||
}
|
||||
|
||||
// Update access for team members if needed.
|
||||
if authChanged {
|
||||
if err = t.getRepositories(sess); err != nil {
|
||||
return fmt.Errorf("getRepositories:%v", err)
|
||||
return errors.Newf("getRepositories:%v", err)
|
||||
}
|
||||
|
||||
for _, repo := range t.Repos {
|
||||
if err = repo.recalculateTeamAccesses(sess, 0); err != nil {
|
||||
return fmt.Errorf("recalculateTeamAccesses: %v", err)
|
||||
return errors.Newf("recalculateTeamAccesses: %v", err)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -478,13 +478,13 @@ func getTeamMembers(e Engine, teamID int64) (_ []*User, err error) {
|
||||
teamUsers := make([]*TeamUser, 0, 10)
|
||||
if err = e.Sql("SELECT `id`, `org_id`, `team_id`, `uid` FROM `team_user` WHERE team_id = ?", teamID).
|
||||
Find(&teamUsers); err != nil {
|
||||
return nil, fmt.Errorf("get team-users: %v", err)
|
||||
return nil, errors.Newf("get team-users: %v", err)
|
||||
}
|
||||
members := make([]*User, 0, len(teamUsers))
|
||||
for i := range teamUsers {
|
||||
member := new(User)
|
||||
if _, err = e.ID(teamUsers[i].UID).Get(member); err != nil {
|
||||
return nil, fmt.Errorf("get user '%d': %v", teamUsers[i].UID, err)
|
||||
return nil, errors.Newf("get user '%d': %v", teamUsers[i].UID, err)
|
||||
}
|
||||
members = append(members, member)
|
||||
}
|
||||
|
||||
@@ -3,7 +3,7 @@ package database
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/pkg/errors"
|
||||
"github.com/cockroachdb/errors"
|
||||
"gorm.io/gorm"
|
||||
|
||||
"gogs.io/gogs/internal/dbutil"
|
||||
|
||||
@@ -3,7 +3,7 @@ package database
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/pkg/errors"
|
||||
"github.com/cockroachdb/errors"
|
||||
"gorm.io/gorm"
|
||||
log "unknwon.dev/clog/v2"
|
||||
)
|
||||
|
||||
@@ -4,7 +4,7 @@ import (
|
||||
"os"
|
||||
"path/filepath"
|
||||
|
||||
"github.com/pkg/errors"
|
||||
"github.com/cockroachdb/errors"
|
||||
"gorm.io/gorm"
|
||||
|
||||
"gogs.io/gogs/internal/conf"
|
||||
|
||||
@@ -7,6 +7,7 @@ import (
|
||||
"path/filepath"
|
||||
"time"
|
||||
|
||||
"github.com/cockroachdb/errors"
|
||||
"github.com/unknwon/com"
|
||||
log "unknwon.dev/clog/v2"
|
||||
"xorm.io/xorm"
|
||||
@@ -86,14 +87,14 @@ func (pr *PullRequest) loadAttributes(e Engine) (err error) {
|
||||
if pr.HeadRepo == nil {
|
||||
pr.HeadRepo, err = getRepositoryByID(e, pr.HeadRepoID)
|
||||
if err != nil && !IsErrRepoNotExist(err) {
|
||||
return fmt.Errorf("get head repository by ID: %v", err)
|
||||
return errors.Newf("get head repository by ID: %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
if pr.BaseRepo == nil {
|
||||
pr.BaseRepo, err = getRepositoryByID(e, pr.BaseRepoID)
|
||||
if err != nil {
|
||||
return fmt.Errorf("get base repository by ID: %v", err)
|
||||
return errors.Newf("get base repository by ID: %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -103,7 +104,7 @@ func (pr *PullRequest) loadAttributes(e Engine) (err error) {
|
||||
pr.MergerID = -1
|
||||
pr.Merger = NewGhostUser()
|
||||
} else if err != nil {
|
||||
return fmt.Errorf("get merger by ID: %v", err)
|
||||
return errors.Newf("get merger by ID: %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -205,13 +206,13 @@ func (pr *PullRequest) Merge(doer *User, baseGitRepo *git.Repository, mergeStyle
|
||||
}
|
||||
|
||||
if err = pr.Issue.changeStatus(sess, doer, pr.Issue.Repo, true); err != nil {
|
||||
return fmt.Errorf("Issue.changeStatus: %v", err)
|
||||
return errors.Newf("Issue.changeStatus: %v", err)
|
||||
}
|
||||
|
||||
headRepoPath := RepoPath(pr.HeadUserName, pr.HeadRepo.Name)
|
||||
headGitRepo, err := git.Open(headRepoPath)
|
||||
if err != nil {
|
||||
return fmt.Errorf("open repository: %v", err)
|
||||
return errors.Newf("open repository: %v", err)
|
||||
}
|
||||
|
||||
// Create temporary directory to store temporary copy of the base repository,
|
||||
@@ -230,21 +231,21 @@ func (pr *PullRequest) Merge(doer *User, baseGitRepo *git.Repository, mergeStyle
|
||||
if _, stderr, err = process.ExecTimeout(5*time.Minute,
|
||||
fmt.Sprintf("PullRequest.Merge (git clone): %s", tmpBasePath),
|
||||
"git", "clone", "-b", pr.BaseBranch, baseGitRepo.Path(), tmpBasePath); err != nil {
|
||||
return fmt.Errorf("git clone: %s", stderr)
|
||||
return errors.Newf("git clone: %s", stderr)
|
||||
}
|
||||
|
||||
// Add remote which points to the head repository.
|
||||
if _, stderr, err = process.ExecDir(-1, tmpBasePath,
|
||||
fmt.Sprintf("PullRequest.Merge (git remote add): %s", tmpBasePath),
|
||||
"git", "remote", "add", "head_repo", headRepoPath); err != nil {
|
||||
return fmt.Errorf("git remote add [%s -> %s]: %s", headRepoPath, tmpBasePath, stderr)
|
||||
return errors.Newf("git remote add [%s -> %s]: %s", headRepoPath, tmpBasePath, stderr)
|
||||
}
|
||||
|
||||
// Fetch information from head repository to the temporary copy.
|
||||
if _, stderr, err = process.ExecDir(-1, tmpBasePath,
|
||||
fmt.Sprintf("PullRequest.Merge (git fetch): %s", tmpBasePath),
|
||||
"git", "fetch", "head_repo"); err != nil {
|
||||
return fmt.Errorf("git fetch [%s -> %s]: %s", headRepoPath, tmpBasePath, stderr)
|
||||
return errors.Newf("git fetch [%s -> %s]: %s", headRepoPath, tmpBasePath, stderr)
|
||||
}
|
||||
|
||||
remoteHeadBranch := "head_repo/" + pr.HeadBranch
|
||||
@@ -261,7 +262,7 @@ func (pr *PullRequest) Merge(doer *User, baseGitRepo *git.Repository, mergeStyle
|
||||
if _, stderr, err = process.ExecDir(-1, tmpBasePath,
|
||||
fmt.Sprintf("PullRequest.Merge (git merge --no-ff --no-commit): %s", tmpBasePath),
|
||||
"git", "merge", "--no-ff", "--no-commit", remoteHeadBranch); err != nil {
|
||||
return fmt.Errorf("git merge --no-ff --no-commit [%s]: %v - %s", tmpBasePath, err, stderr)
|
||||
return errors.Newf("git merge --no-ff --no-commit [%s]: %v - %s", tmpBasePath, err, stderr)
|
||||
}
|
||||
|
||||
// Create a merge commit for the base branch.
|
||||
@@ -270,7 +271,7 @@ func (pr *PullRequest) Merge(doer *User, baseGitRepo *git.Repository, mergeStyle
|
||||
"git", "commit", fmt.Sprintf("--author='%s <%s>'", doer.DisplayName(), doer.Email),
|
||||
"-m", fmt.Sprintf("Merge branch '%s' of %s/%s into %s", pr.HeadBranch, pr.HeadUserName, pr.HeadRepo.Name, pr.BaseBranch),
|
||||
"-m", commitDescription); err != nil {
|
||||
return fmt.Errorf("git commit [%s]: %v - %s", tmpBasePath, err, stderr)
|
||||
return errors.Newf("git commit [%s]: %v - %s", tmpBasePath, err, stderr)
|
||||
}
|
||||
|
||||
case MergeStyleRebase: // Rebase before merging
|
||||
@@ -279,7 +280,7 @@ func (pr *PullRequest) Merge(doer *User, baseGitRepo *git.Repository, mergeStyle
|
||||
if _, stderr, err = process.ExecDir(-1, tmpBasePath,
|
||||
fmt.Sprintf("PullRequest.Merge (git rebase): %s", tmpBasePath),
|
||||
"git", "rebase", "--quiet", pr.BaseBranch, remoteHeadBranch); err != nil {
|
||||
return fmt.Errorf("git rebase [%s on %s]: %s", remoteHeadBranch, pr.BaseBranch, stderr)
|
||||
return errors.Newf("git rebase [%s on %s]: %s", remoteHeadBranch, pr.BaseBranch, stderr)
|
||||
}
|
||||
|
||||
// Name non-branch commit state to a new temporary branch in order to save changes.
|
||||
@@ -287,48 +288,48 @@ func (pr *PullRequest) Merge(doer *User, baseGitRepo *git.Repository, mergeStyle
|
||||
if _, stderr, err = process.ExecDir(-1, tmpBasePath,
|
||||
fmt.Sprintf("PullRequest.Merge (git checkout): %s", tmpBasePath),
|
||||
"git", "checkout", "-b", tmpBranch); err != nil {
|
||||
return fmt.Errorf("git checkout '%s': %s", tmpBranch, stderr)
|
||||
return errors.Newf("git checkout '%s': %s", tmpBranch, stderr)
|
||||
}
|
||||
|
||||
// Check out the base branch to be operated on.
|
||||
if _, stderr, err = process.ExecDir(-1, tmpBasePath,
|
||||
fmt.Sprintf("PullRequest.Merge (git checkout): %s", tmpBasePath),
|
||||
"git", "checkout", pr.BaseBranch); err != nil {
|
||||
return fmt.Errorf("git checkout '%s': %s", pr.BaseBranch, stderr)
|
||||
return errors.Newf("git checkout '%s': %s", pr.BaseBranch, stderr)
|
||||
}
|
||||
|
||||
// Merge changes from temporary branch to the base branch.
|
||||
if _, stderr, err = process.ExecDir(-1, tmpBasePath,
|
||||
fmt.Sprintf("PullRequest.Merge (git merge): %s", tmpBasePath),
|
||||
"git", "merge", tmpBranch); err != nil {
|
||||
return fmt.Errorf("git merge [%s]: %v - %s", tmpBasePath, err, stderr)
|
||||
return errors.Newf("git merge [%s]: %v - %s", tmpBasePath, err, stderr)
|
||||
}
|
||||
|
||||
default:
|
||||
return fmt.Errorf("unknown merge style: %s", mergeStyle)
|
||||
return errors.Newf("unknown merge style: %s", mergeStyle)
|
||||
}
|
||||
|
||||
// Push changes on base branch to upstream.
|
||||
if _, stderr, err = process.ExecDir(-1, tmpBasePath,
|
||||
fmt.Sprintf("PullRequest.Merge (git push): %s", tmpBasePath),
|
||||
"git", "push", baseGitRepo.Path(), pr.BaseBranch); err != nil {
|
||||
return fmt.Errorf("git push: %s", stderr)
|
||||
return errors.Newf("git push: %s", stderr)
|
||||
}
|
||||
|
||||
pr.MergedCommitID, err = headGitRepo.BranchCommitID(pr.HeadBranch)
|
||||
if err != nil {
|
||||
return fmt.Errorf("get head branch %q commit ID: %v", pr.HeadBranch, err)
|
||||
return errors.Newf("get head branch %q commit ID: %v", pr.HeadBranch, err)
|
||||
}
|
||||
|
||||
pr.HasMerged = true
|
||||
pr.Merged = time.Now()
|
||||
pr.MergerID = doer.ID
|
||||
if _, err = sess.ID(pr.ID).AllCols().Update(pr); err != nil {
|
||||
return fmt.Errorf("update pull request: %v", err)
|
||||
return errors.Newf("update pull request: %v", err)
|
||||
}
|
||||
|
||||
if err = sess.Commit(); err != nil {
|
||||
return fmt.Errorf("commit: %v", err)
|
||||
return errors.Newf("commit: %v", err)
|
||||
}
|
||||
|
||||
if err = Handle.Actions().MergePullRequest(ctx, doer, pr.Issue.Repo.Owner, pr.Issue.Repo, pr.Issue); err != nil {
|
||||
@@ -398,13 +399,13 @@ func (pr *PullRequest) testPatch() (err error) {
|
||||
if pr.BaseRepo == nil {
|
||||
pr.BaseRepo, err = GetRepositoryByID(pr.BaseRepoID)
|
||||
if err != nil {
|
||||
return fmt.Errorf("GetRepositoryByID: %v", err)
|
||||
return errors.Newf("GetRepositoryByID: %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
patchPath, err := pr.BaseRepo.PatchPath(pr.Index)
|
||||
if err != nil {
|
||||
return fmt.Errorf("BaseRepo.PatchPath: %v", err)
|
||||
return errors.Newf("BaseRepo.PatchPath: %v", err)
|
||||
}
|
||||
|
||||
// Fast fail if patch does not exist, this assumes data is corrupted.
|
||||
@@ -419,7 +420,7 @@ func (pr *PullRequest) testPatch() (err error) {
|
||||
log.Trace("PullRequest[%d].testPatch (patchPath): %s", pr.ID, patchPath)
|
||||
|
||||
if err := pr.BaseRepo.UpdateLocalCopyBranch(pr.BaseBranch); err != nil {
|
||||
return fmt.Errorf("UpdateLocalCopy [%d]: %v", pr.BaseRepoID, err)
|
||||
return errors.Newf("UpdateLocalCopy [%d]: %v", pr.BaseRepoID, err)
|
||||
}
|
||||
|
||||
args := []string{"apply", "--check"}
|
||||
@@ -455,17 +456,17 @@ func NewPullRequest(repo *Repository, pull *Issue, labelIDs []int64, uuids []str
|
||||
Attachments: uuids,
|
||||
IsPull: true,
|
||||
}); err != nil {
|
||||
return fmt.Errorf("newIssue: %v", err)
|
||||
return errors.Newf("newIssue: %v", err)
|
||||
}
|
||||
|
||||
pr.Index = pull.Index
|
||||
if err = repo.SavePatch(pr.Index, patch); err != nil {
|
||||
return fmt.Errorf("SavePatch: %v", err)
|
||||
return errors.Newf("SavePatch: %v", err)
|
||||
}
|
||||
|
||||
pr.BaseRepo = repo
|
||||
if err = pr.testPatch(); err != nil {
|
||||
return fmt.Errorf("testPatch: %v", err)
|
||||
return errors.Newf("testPatch: %v", err)
|
||||
}
|
||||
// No conflict appears after test means mergeable.
|
||||
if pr.Status == PullRequestStatusChecking {
|
||||
@@ -474,11 +475,11 @@ func NewPullRequest(repo *Repository, pull *Issue, labelIDs []int64, uuids []str
|
||||
|
||||
pr.IssueID = pull.ID
|
||||
if _, err = sess.Insert(pr); err != nil {
|
||||
return fmt.Errorf("insert pull repo: %v", err)
|
||||
return errors.Newf("insert pull repo: %v", err)
|
||||
}
|
||||
|
||||
if err = sess.Commit(); err != nil {
|
||||
return fmt.Errorf("commit: %v", err)
|
||||
return errors.Newf("commit: %v", err)
|
||||
}
|
||||
|
||||
if err = NotifyWatchers(&Action{
|
||||
@@ -620,7 +621,7 @@ func (pr *PullRequest) UpdateCols(cols ...string) error {
|
||||
func (pr *PullRequest) UpdatePatch() (err error) {
|
||||
headGitRepo, err := git.Open(pr.HeadRepo.RepoPath())
|
||||
if err != nil {
|
||||
return fmt.Errorf("open repository: %v", err)
|
||||
return errors.Newf("open repository: %v", err)
|
||||
}
|
||||
|
||||
// Add a temporary remote.
|
||||
@@ -628,7 +629,7 @@ func (pr *PullRequest) UpdatePatch() (err error) {
|
||||
baseRepoPath := RepoPath(pr.BaseRepo.MustOwner().Name, pr.BaseRepo.Name)
|
||||
err = headGitRepo.RemoteAdd(tmpRemote, baseRepoPath, git.RemoteAddOptions{Fetch: true})
|
||||
if err != nil {
|
||||
return fmt.Errorf("add remote %q [repo_id: %d]: %v", tmpRemote, pr.HeadRepoID, err)
|
||||
return errors.Newf("add remote %q [repo_id: %d]: %v", tmpRemote, pr.HeadRepoID, err)
|
||||
}
|
||||
defer func() {
|
||||
if err := headGitRepo.RemoteRemove(tmpRemote); err != nil {
|
||||
@@ -639,18 +640,18 @@ func (pr *PullRequest) UpdatePatch() (err error) {
|
||||
remoteBranch := "remotes/" + tmpRemote + "/" + pr.BaseBranch
|
||||
pr.MergeBase, err = headGitRepo.MergeBase(remoteBranch, pr.HeadBranch)
|
||||
if err != nil {
|
||||
return fmt.Errorf("get merge base: %v", err)
|
||||
return errors.Newf("get merge base: %v", err)
|
||||
} else if err = pr.Update(); err != nil {
|
||||
return fmt.Errorf("update: %v", err)
|
||||
return errors.Newf("update: %v", err)
|
||||
}
|
||||
|
||||
patch, err := headGitRepo.DiffBinary(pr.MergeBase, pr.HeadBranch)
|
||||
if err != nil {
|
||||
return fmt.Errorf("get binary patch: %v", err)
|
||||
return errors.Newf("get binary patch: %v", err)
|
||||
}
|
||||
|
||||
if err = pr.BaseRepo.SavePatch(pr.Index, patch); err != nil {
|
||||
return fmt.Errorf("save patch: %v", err)
|
||||
return errors.Newf("save patch: %v", err)
|
||||
}
|
||||
|
||||
log.Trace("PullRequest[%d].UpdatePatch: patch saved", pr.ID)
|
||||
@@ -666,12 +667,12 @@ func (pr *PullRequest) PushToBaseRepo() (err error) {
|
||||
headRepoPath := pr.HeadRepo.RepoPath()
|
||||
headGitRepo, err := git.Open(headRepoPath)
|
||||
if err != nil {
|
||||
return fmt.Errorf("open repository: %v", err)
|
||||
return errors.Newf("open repository: %v", err)
|
||||
}
|
||||
|
||||
tmpRemote := fmt.Sprintf("tmp-pull-%d", pr.ID)
|
||||
if err = headGitRepo.RemoteAdd(tmpRemote, pr.BaseRepo.RepoPath()); err != nil {
|
||||
return fmt.Errorf("add remote %q [repo_id: %d]: %v", tmpRemote, pr.HeadRepoID, err)
|
||||
return errors.Newf("add remote %q [repo_id: %d]: %v", tmpRemote, pr.HeadRepoID, err)
|
||||
}
|
||||
|
||||
// Make sure to remove the remote even if the push fails
|
||||
@@ -686,13 +687,13 @@ func (pr *PullRequest) PushToBaseRepo() (err error) {
|
||||
if osutil.Exist(headFile) {
|
||||
err = os.Remove(headFile)
|
||||
if err != nil {
|
||||
return fmt.Errorf("remove head file [repo_id: %d]: %v", pr.BaseRepoID, err)
|
||||
return errors.Newf("remove head file [repo_id: %d]: %v", pr.BaseRepoID, err)
|
||||
}
|
||||
}
|
||||
|
||||
err = headGitRepo.Push(tmpRemote, fmt.Sprintf("%s:%s", pr.HeadBranch, headRefspec))
|
||||
if err != nil {
|
||||
return fmt.Errorf("push: %v", err)
|
||||
return errors.Newf("push: %v", err)
|
||||
}
|
||||
|
||||
return nil
|
||||
@@ -726,7 +727,7 @@ func (prs PullRequestList) loadAttributes(e Engine) (err error) {
|
||||
}
|
||||
issues := make([]*Issue, 0, len(issueIDs))
|
||||
if err = e.Where("id > 0").In("id", issueIDs).Find(&issues); err != nil {
|
||||
return fmt.Errorf("find issues: %v", err)
|
||||
return errors.Newf("find issues: %v", err)
|
||||
}
|
||||
for i := range issues {
|
||||
set[issues[i].ID] = issues[i]
|
||||
@@ -738,7 +739,7 @@ func (prs PullRequestList) loadAttributes(e Engine) (err error) {
|
||||
// Load attributes
|
||||
for i := range prs {
|
||||
if err = prs[i].loadAttributes(e); err != nil {
|
||||
return fmt.Errorf("loadAttributes [%d]: %v", prs[i].ID, err)
|
||||
return errors.Newf("loadAttributes [%d]: %v", prs[i].ID, err)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -9,6 +9,7 @@ import (
|
||||
log "unknwon.dev/clog/v2"
|
||||
"xorm.io/xorm"
|
||||
|
||||
"github.com/cockroachdb/errors"
|
||||
"github.com/gogs/git-module"
|
||||
api "github.com/gogs/go-gogs-client"
|
||||
|
||||
@@ -57,7 +58,7 @@ func (r *Release) loadAttributes(e Engine) (err error) {
|
||||
if r.Repo == nil {
|
||||
r.Repo, err = getRepositoryByID(e, r.RepoID)
|
||||
if err != nil {
|
||||
return fmt.Errorf("getRepositoryByID [repo_id: %d]: %v", r.RepoID, err)
|
||||
return errors.Newf("getRepositoryByID [repo_id: %d]: %v", r.RepoID, err)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -68,7 +69,7 @@ func (r *Release) loadAttributes(e Engine) (err error) {
|
||||
r.PublisherID = -1
|
||||
r.Publisher = NewGhostUser()
|
||||
} else {
|
||||
return fmt.Errorf("getUserByID.(Publisher) [publisher_id: %d]: %v", r.PublisherID, err)
|
||||
return errors.Newf("getUserByID.(Publisher) [publisher_id: %d]: %v", r.PublisherID, err)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -76,7 +77,7 @@ func (r *Release) loadAttributes(e Engine) (err error) {
|
||||
if r.Attachments == nil {
|
||||
r.Attachments, err = getAttachmentsByReleaseID(e, r.ID)
|
||||
if err != nil {
|
||||
return fmt.Errorf("getAttachmentsByReleaseID [%d]: %v", r.ID, err)
|
||||
return errors.Newf("getAttachmentsByReleaseID [%d]: %v", r.ID, err)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -118,7 +119,7 @@ func createTag(gitRepo *git.Repository, r *Release) error {
|
||||
if !gitRepo.HasTag(r.TagName) {
|
||||
commit, err := gitRepo.BranchCommit(r.Target)
|
||||
if err != nil {
|
||||
return fmt.Errorf("get branch commit: %v", err)
|
||||
return errors.Newf("get branch commit: %v", err)
|
||||
}
|
||||
|
||||
// 🚨 SECURITY: Trim any leading '-' to prevent command line argument injection.
|
||||
@@ -132,13 +133,13 @@ func createTag(gitRepo *git.Repository, r *Release) error {
|
||||
} else {
|
||||
commit, err := gitRepo.TagCommit(r.TagName)
|
||||
if err != nil {
|
||||
return fmt.Errorf("get tag commit: %v", err)
|
||||
return errors.Newf("get tag commit: %v", err)
|
||||
}
|
||||
|
||||
r.Sha1 = commit.ID.String()
|
||||
r.NumCommits, err = commit.CommitsCount()
|
||||
if err != nil {
|
||||
return fmt.Errorf("count commits: %v", err)
|
||||
return errors.Newf("count commits: %v", err)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -177,17 +178,17 @@ func NewRelease(gitRepo *git.Repository, r *Release, uuids []string) error {
|
||||
}
|
||||
|
||||
if _, err = sess.Insert(r); err != nil {
|
||||
return fmt.Errorf("insert: %v", err)
|
||||
return errors.Newf("insert: %v", err)
|
||||
}
|
||||
|
||||
if len(uuids) > 0 {
|
||||
if _, err = sess.In("uuid", uuids).Cols("release_id").Update(&Attachment{ReleaseID: r.ID}); err != nil {
|
||||
return fmt.Errorf("link attachments: %v", err)
|
||||
return errors.Newf("link attachments: %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
if err = sess.Commit(); err != nil {
|
||||
return fmt.Errorf("commit: %v", err)
|
||||
return errors.Newf("commit: %v", err)
|
||||
}
|
||||
|
||||
// Only send webhook when actually published, skip drafts
|
||||
@@ -196,7 +197,7 @@ func NewRelease(gitRepo *git.Repository, r *Release, uuids []string) error {
|
||||
}
|
||||
r, err = GetReleaseByID(r.ID)
|
||||
if err != nil {
|
||||
return fmt.Errorf("GetReleaseByID: %v", err)
|
||||
return errors.Newf("GetReleaseByID: %v", err)
|
||||
}
|
||||
r.preparePublishWebhooks()
|
||||
return nil
|
||||
@@ -232,7 +233,7 @@ func GetRelease(repoID int64, tagName string) (*Release, error) {
|
||||
|
||||
r := &Release{RepoID: repoID, LowerTagName: strings.ToLower(tagName)}
|
||||
if _, err = x.Get(r); err != nil {
|
||||
return nil, fmt.Errorf("get: %v", err)
|
||||
return nil, errors.Newf("get: %v", err)
|
||||
}
|
||||
|
||||
return r, r.LoadAttributes()
|
||||
@@ -304,7 +305,7 @@ func SortReleases(rels []*Release) {
|
||||
// UpdateRelease updates information of a release.
|
||||
func UpdateRelease(doer *User, gitRepo *git.Repository, r *Release, isPublish bool, uuids []string) (err error) {
|
||||
if err = createTag(gitRepo, r); err != nil {
|
||||
return fmt.Errorf("createTag: %v", err)
|
||||
return errors.Newf("createTag: %v", err)
|
||||
}
|
||||
|
||||
r.PublisherID = doer.ID
|
||||
@@ -315,22 +316,22 @@ func UpdateRelease(doer *User, gitRepo *git.Repository, r *Release, isPublish bo
|
||||
return err
|
||||
}
|
||||
if _, err = sess.ID(r.ID).AllCols().Update(r); err != nil {
|
||||
return fmt.Errorf("Update: %v", err)
|
||||
return errors.Newf("Update: %v", err)
|
||||
}
|
||||
|
||||
// Unlink all current attachments and link back later if still valid
|
||||
if _, err = sess.Exec("UPDATE attachment SET release_id = 0 WHERE release_id = ?", r.ID); err != nil {
|
||||
return fmt.Errorf("unlink current attachments: %v", err)
|
||||
return errors.Newf("unlink current attachments: %v", err)
|
||||
}
|
||||
|
||||
if len(uuids) > 0 {
|
||||
if _, err = sess.In("uuid", uuids).Cols("release_id").Update(&Attachment{ReleaseID: r.ID}); err != nil {
|
||||
return fmt.Errorf("link attachments: %v", err)
|
||||
return errors.Newf("link attachments: %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
if err = sess.Commit(); err != nil {
|
||||
return fmt.Errorf("commit: %v", err)
|
||||
return errors.Newf("commit: %v", err)
|
||||
}
|
||||
|
||||
if !isPublish {
|
||||
@@ -345,7 +346,7 @@ func UpdateRelease(doer *User, gitRepo *git.Repository, r *Release, isPublish bo
|
||||
func DeleteReleaseOfRepoByID(repoID, id int64) error {
|
||||
rel, err := GetReleaseByID(id)
|
||||
if err != nil {
|
||||
return fmt.Errorf("GetReleaseByID: %v", err)
|
||||
return errors.Newf("GetReleaseByID: %v", err)
|
||||
}
|
||||
|
||||
// Mark sure the delete operation against same repository.
|
||||
@@ -355,18 +356,18 @@ func DeleteReleaseOfRepoByID(repoID, id int64) error {
|
||||
|
||||
repo, err := GetRepositoryByID(rel.RepoID)
|
||||
if err != nil {
|
||||
return fmt.Errorf("GetRepositoryByID: %v", err)
|
||||
return errors.Newf("GetRepositoryByID: %v", err)
|
||||
}
|
||||
|
||||
_, stderr, err := process.ExecDir(-1, repo.RepoPath(),
|
||||
fmt.Sprintf("DeleteReleaseByID (git tag -d): %d", rel.ID),
|
||||
"git", "tag", "-d", rel.TagName)
|
||||
if err != nil && !strings.Contains(stderr, "not found") {
|
||||
return fmt.Errorf("git tag -d: %v - %s", err, stderr)
|
||||
return errors.Newf("git tag -d: %v - %s", err, stderr)
|
||||
}
|
||||
|
||||
if _, err = x.Id(rel.ID).Delete(new(Release)); err != nil {
|
||||
return fmt.Errorf("delete: %v", err)
|
||||
return errors.Newf("delete: %v", err)
|
||||
}
|
||||
|
||||
return nil
|
||||
|
||||
@@ -15,8 +15,8 @@ import (
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/cockroachdb/errors"
|
||||
"github.com/nfnt/resize"
|
||||
"github.com/pkg/errors"
|
||||
"github.com/unknwon/cae/zip"
|
||||
"github.com/unknwon/com"
|
||||
"gopkg.in/ini.v1"
|
||||
@@ -256,7 +256,7 @@ func (r *Repository) loadAttributes(e Engine) (err error) {
|
||||
if r.Owner == nil {
|
||||
r.Owner, err = getUserByID(e, r.OwnerID)
|
||||
if err != nil {
|
||||
return fmt.Errorf("getUserByID [%d]: %v", r.OwnerID, err)
|
||||
return errors.Newf("getUserByID [%d]: %v", r.OwnerID, err)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -267,7 +267,7 @@ func (r *Repository) loadAttributes(e Engine) (err error) {
|
||||
r.IsFork = false
|
||||
r.ForkID = 0
|
||||
} else {
|
||||
return fmt.Errorf("get fork repository by ID: %v", err)
|
||||
return errors.Newf("get fork repository by ID: %v", err)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -337,19 +337,19 @@ func (r *Repository) AvatarLink() string {
|
||||
func (r *Repository) UploadAvatar(data []byte) error {
|
||||
img, _, err := image.Decode(bytes.NewReader(data))
|
||||
if err != nil {
|
||||
return fmt.Errorf("decode image: %v", err)
|
||||
return errors.Newf("decode image: %v", err)
|
||||
}
|
||||
|
||||
_ = os.MkdirAll(conf.Picture.RepositoryAvatarUploadPath, os.ModePerm)
|
||||
fw, err := os.Create(r.CustomAvatarPath())
|
||||
if err != nil {
|
||||
return fmt.Errorf("create custom avatar directory: %v", err)
|
||||
return errors.Newf("create custom avatar directory: %v", err)
|
||||
}
|
||||
defer fw.Close()
|
||||
|
||||
m := resize.Resize(avatar.DefaultSize, avatar.DefaultSize, img, resize.NearestNeighbor)
|
||||
if err = png.Encode(fw, m); err != nil {
|
||||
return fmt.Errorf("encode image: %v", err)
|
||||
return errors.Newf("encode image: %v", err)
|
||||
}
|
||||
|
||||
return nil
|
||||
@@ -446,12 +446,12 @@ func (r *Repository) mustOwner(e Engine) *User {
|
||||
func (r *Repository) UpdateSize() error {
|
||||
countObject, err := git.CountObjects(r.RepoPath())
|
||||
if err != nil {
|
||||
return fmt.Errorf("count repository objects: %v", err)
|
||||
return errors.Newf("count repository objects: %v", err)
|
||||
}
|
||||
|
||||
r.Size = countObject.Size + countObject.SizePack
|
||||
if _, err = x.Id(r.ID).Cols("size").Update(r); err != nil {
|
||||
return fmt.Errorf("update size: %v", err)
|
||||
return errors.Newf("update size: %v", err)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
@@ -664,24 +664,24 @@ func UpdateLocalCopyBranch(repoPath, localPath, branch string, isWiki bool) (err
|
||||
Branch: branch,
|
||||
Timeout: time.Duration(conf.Git.Timeout.Clone) * time.Second,
|
||||
}); err != nil {
|
||||
return fmt.Errorf("git clone [branch: %s]: %v", branch, err)
|
||||
return errors.Newf("git clone [branch: %s]: %v", branch, err)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
gitRepo, err := git.Open(localPath)
|
||||
if err != nil {
|
||||
return fmt.Errorf("open repository: %v", err)
|
||||
return errors.Newf("open repository: %v", err)
|
||||
}
|
||||
|
||||
if err = gitRepo.Fetch(git.FetchOptions{
|
||||
Prune: true,
|
||||
}); err != nil {
|
||||
return fmt.Errorf("fetch: %v", err)
|
||||
return errors.Newf("fetch: %v", err)
|
||||
}
|
||||
|
||||
if err = gitRepo.Checkout(branch); err != nil {
|
||||
return fmt.Errorf("checkout [branch: %s]: %v", branch, err)
|
||||
return errors.Newf("checkout [branch: %s]: %v", branch, err)
|
||||
}
|
||||
|
||||
// Reset to align with remote in case of force push.
|
||||
@@ -689,7 +689,7 @@ func UpdateLocalCopyBranch(repoPath, localPath, branch string, isWiki bool) (err
|
||||
if err = gitRepo.Reset(rev, git.ResetOptions{
|
||||
Hard: true,
|
||||
}); err != nil {
|
||||
return fmt.Errorf("reset [revision: %s]: %v", rev, err)
|
||||
return errors.Newf("reset [revision: %s]: %v", rev, err)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
@@ -712,14 +712,14 @@ func (r *Repository) PatchPath(index int64) (string, error) {
|
||||
func (r *Repository) SavePatch(index int64, patch []byte) error {
|
||||
patchPath, err := r.PatchPath(index)
|
||||
if err != nil {
|
||||
return fmt.Errorf("PatchPath: %v", err)
|
||||
return errors.Newf("PatchPath: %v", err)
|
||||
}
|
||||
|
||||
if err = os.MkdirAll(filepath.Dir(patchPath), os.ModePerm); err != nil {
|
||||
return err
|
||||
}
|
||||
if err = os.WriteFile(patchPath, patch, 0o644); err != nil {
|
||||
return fmt.Errorf("WriteFile: %v", err)
|
||||
return errors.Newf("WriteFile: %v", err)
|
||||
}
|
||||
|
||||
return nil
|
||||
@@ -825,7 +825,7 @@ func MigrateRepository(doer, owner *User, opts MigrateRepoOptions) (*Repository,
|
||||
Quiet: true,
|
||||
Timeout: migrateTimeout,
|
||||
}); err != nil {
|
||||
return repo, fmt.Errorf("clone: %v", err)
|
||||
return repo, errors.Newf("clone: %v", err)
|
||||
}
|
||||
|
||||
wikiRemotePath := wikiRemoteURL(opts.RemoteAddr)
|
||||
@@ -847,7 +847,7 @@ func MigrateRepository(doer, owner *User, opts MigrateRepoOptions) (*Repository,
|
||||
if strings.Contains(stderr, "fatal: bad default revision 'HEAD'") {
|
||||
repo.IsBare = true
|
||||
} else {
|
||||
return repo, fmt.Errorf("check bare: %v - %s", err, stderr)
|
||||
return repo, errors.Newf("check bare: %v - %s", err, stderr)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -855,11 +855,11 @@ func MigrateRepository(doer, owner *User, opts MigrateRepoOptions) (*Repository,
|
||||
// Try to get HEAD branch and set it as default branch.
|
||||
gitRepo, err := git.Open(repoPath)
|
||||
if err != nil {
|
||||
return repo, fmt.Errorf("open repository: %v", err)
|
||||
return repo, errors.Newf("open repository: %v", err)
|
||||
}
|
||||
refspec, err := gitRepo.SymbolicRef()
|
||||
if err != nil {
|
||||
return repo, fmt.Errorf("get HEAD branch: %v", err)
|
||||
return repo, errors.Newf("get HEAD branch: %v", err)
|
||||
}
|
||||
repo.DefaultBranch = git.RefShortName(refspec)
|
||||
|
||||
@@ -875,7 +875,7 @@ func MigrateRepository(doer, owner *User, opts MigrateRepoOptions) (*Repository,
|
||||
EnablePrune: true,
|
||||
NextSync: time.Now().Add(time.Duration(conf.Mirror.DefaultInterval) * time.Hour),
|
||||
}); err != nil {
|
||||
return repo, fmt.Errorf("InsertOne: %v", err)
|
||||
return repo, errors.Newf("InsertOne: %v", err)
|
||||
}
|
||||
|
||||
repo.IsMirror = true
|
||||
@@ -890,11 +890,11 @@ func MigrateRepository(doer, owner *User, opts MigrateRepoOptions) (*Repository,
|
||||
func cleanUpMigrateGitConfig(configPath string) error {
|
||||
cfg, err := ini.Load(configPath)
|
||||
if err != nil {
|
||||
return fmt.Errorf("open config file: %v", err)
|
||||
return errors.Newf("open config file: %v", err)
|
||||
}
|
||||
cfg.DeleteSection("remote \"origin\"")
|
||||
if err = cfg.SaveToIndent(configPath, "\t"); err != nil {
|
||||
return fmt.Errorf("save config file: %v", err)
|
||||
return errors.Newf("save config file: %v", err)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
@@ -911,7 +911,7 @@ func createDelegateHooks(repoPath string) (err error) {
|
||||
if err = os.WriteFile(hookPath,
|
||||
[]byte(fmt.Sprintf(hooksTpls[name], conf.Repository.ScriptType, conf.AppPath(), conf.CustomConf)),
|
||||
os.ModePerm); err != nil {
|
||||
return fmt.Errorf("create delegate hook '%s': %v", hookPath, err)
|
||||
return errors.Newf("create delegate hook '%s': %v", hookPath, err)
|
||||
}
|
||||
}
|
||||
return nil
|
||||
@@ -921,20 +921,20 @@ func createDelegateHooks(repoPath string) (err error) {
|
||||
func CleanUpMigrateInfo(repo *Repository) (*Repository, error) {
|
||||
repoPath := repo.RepoPath()
|
||||
if err := createDelegateHooks(repoPath); err != nil {
|
||||
return repo, fmt.Errorf("createDelegateHooks: %v", err)
|
||||
return repo, errors.Newf("createDelegateHooks: %v", err)
|
||||
}
|
||||
if repo.HasWiki() {
|
||||
if err := createDelegateHooks(repo.WikiPath()); err != nil {
|
||||
return repo, fmt.Errorf("createDelegateHooks.(wiki): %v", err)
|
||||
return repo, errors.Newf("createDelegateHooks.(wiki): %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
if err := cleanUpMigrateGitConfig(repo.GitConfigPath()); err != nil {
|
||||
return repo, fmt.Errorf("cleanUpMigrateGitConfig: %v", err)
|
||||
return repo, errors.Newf("cleanUpMigrateGitConfig: %v", err)
|
||||
}
|
||||
if repo.HasWiki() {
|
||||
if err := cleanUpMigrateGitConfig(path.Join(repo.WikiPath(), "config")); err != nil {
|
||||
return repo, fmt.Errorf("cleanUpMigrateGitConfig.(wiki): %v", err)
|
||||
return repo, errors.Newf("cleanUpMigrateGitConfig.(wiki): %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -947,20 +947,20 @@ func initRepoCommit(tmpPath string, sig *git.Signature) (err error) {
|
||||
if _, stderr, err = process.ExecDir(-1,
|
||||
tmpPath, fmt.Sprintf("initRepoCommit (git add): %s", tmpPath),
|
||||
"git", "add", "--all"); err != nil {
|
||||
return fmt.Errorf("git add: %s", stderr)
|
||||
return errors.Newf("git add: %s", stderr)
|
||||
}
|
||||
|
||||
if _, stderr, err = process.ExecDir(-1,
|
||||
tmpPath, fmt.Sprintf("initRepoCommit (git commit): %s", tmpPath),
|
||||
"git", "commit", fmt.Sprintf("--author='%s <%s>'", sig.Name, sig.Email),
|
||||
"-m", "Initial commit"); err != nil {
|
||||
return fmt.Errorf("git commit: %s", stderr)
|
||||
return errors.Newf("git commit: %s", stderr)
|
||||
}
|
||||
|
||||
if _, stderr, err = process.ExecDir(-1,
|
||||
tmpPath, fmt.Sprintf("initRepoCommit (git push): %s", tmpPath),
|
||||
"git", "push"); err != nil {
|
||||
return fmt.Errorf("git push: %s", stderr)
|
||||
return errors.Newf("git push: %s", stderr)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
@@ -998,7 +998,7 @@ func prepareRepoCommit(repo *Repository, tmpDir, repoPath string, opts CreateRep
|
||||
// README
|
||||
data, err := getRepoInitFile("readme", opts.Readme)
|
||||
if err != nil {
|
||||
return fmt.Errorf("getRepoInitFile[%s]: %v", opts.Readme, err)
|
||||
return errors.Newf("getRepoInitFile[%s]: %v", opts.Readme, err)
|
||||
}
|
||||
|
||||
cloneLink := repo.CloneLink()
|
||||
@@ -1010,7 +1010,7 @@ func prepareRepoCommit(repo *Repository, tmpDir, repoPath string, opts CreateRep
|
||||
}
|
||||
if err = os.WriteFile(filepath.Join(tmpDir, "README.md"),
|
||||
[]byte(com.Expand(string(data), match)), 0o644); err != nil {
|
||||
return fmt.Errorf("write README.md: %v", err)
|
||||
return errors.Newf("write README.md: %v", err)
|
||||
}
|
||||
|
||||
// .gitignore
|
||||
@@ -1020,7 +1020,7 @@ func prepareRepoCommit(repo *Repository, tmpDir, repoPath string, opts CreateRep
|
||||
for _, name := range names {
|
||||
data, err = getRepoInitFile("gitignore", name)
|
||||
if err != nil {
|
||||
return fmt.Errorf("getRepoInitFile[%s]: %v", name, err)
|
||||
return errors.Newf("getRepoInitFile[%s]: %v", name, err)
|
||||
}
|
||||
buf.WriteString("# ---> " + name + "\n")
|
||||
buf.Write(data)
|
||||
@@ -1029,7 +1029,7 @@ func prepareRepoCommit(repo *Repository, tmpDir, repoPath string, opts CreateRep
|
||||
|
||||
if buf.Len() > 0 {
|
||||
if err = os.WriteFile(filepath.Join(tmpDir, ".gitignore"), buf.Bytes(), 0o644); err != nil {
|
||||
return fmt.Errorf("write .gitignore: %v", err)
|
||||
return errors.Newf("write .gitignore: %v", err)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1038,11 +1038,11 @@ func prepareRepoCommit(repo *Repository, tmpDir, repoPath string, opts CreateRep
|
||||
if len(opts.License) > 0 {
|
||||
data, err = getRepoInitFile("license", opts.License)
|
||||
if err != nil {
|
||||
return fmt.Errorf("getRepoInitFile[%s]: %v", opts.License, err)
|
||||
return errors.Newf("getRepoInitFile[%s]: %v", opts.License, err)
|
||||
}
|
||||
|
||||
if err = os.WriteFile(filepath.Join(tmpDir, "LICENSE"), data, 0o644); err != nil {
|
||||
return fmt.Errorf("write LICENSE: %v", err)
|
||||
return errors.Newf("write LICENSE: %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1053,9 +1053,9 @@ func prepareRepoCommit(repo *Repository, tmpDir, repoPath string, opts CreateRep
|
||||
func initRepository(e Engine, repoPath string, doer *User, repo *Repository, opts CreateRepoOptionsLegacy) (err error) {
|
||||
// Init bare new repository.
|
||||
if err = git.Init(repoPath, git.InitOptions{Bare: true}); err != nil {
|
||||
return fmt.Errorf("init repository: %v", err)
|
||||
return errors.Newf("init repository: %v", err)
|
||||
} else if err = createDelegateHooks(repoPath); err != nil {
|
||||
return fmt.Errorf("createDelegateHooks: %v", err)
|
||||
return errors.Newf("createDelegateHooks: %v", err)
|
||||
}
|
||||
|
||||
// Set default branch
|
||||
@@ -1080,7 +1080,7 @@ func initRepository(e Engine, repoPath string, doer *User, repo *Repository, opt
|
||||
defer RemoveAllWithNotice("Delete repository for auto-initialization", tmpDir)
|
||||
|
||||
if err = prepareRepoCommit(repo, tmpDir, repoPath, opts); err != nil {
|
||||
return fmt.Errorf("prepareRepoCommit: %v", err)
|
||||
return errors.Newf("prepareRepoCommit: %v", err)
|
||||
}
|
||||
|
||||
// Apply changes and commit.
|
||||
@@ -1093,14 +1093,14 @@ func initRepository(e Engine, repoPath string, doer *User, repo *Repository, opt
|
||||
},
|
||||
)
|
||||
if err != nil {
|
||||
return fmt.Errorf("initRepoCommit: %v", err)
|
||||
return errors.Newf("initRepoCommit: %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
// Re-fetch the repository from database before updating it (else it would
|
||||
// override changes that were done earlier with sql)
|
||||
if repo, err = getRepositoryByID(e, repo.ID); err != nil {
|
||||
return fmt.Errorf("getRepositoryByID: %v", err)
|
||||
return errors.Newf("getRepositoryByID: %v", err)
|
||||
}
|
||||
|
||||
if !opts.AutoInit {
|
||||
@@ -1109,7 +1109,7 @@ func initRepository(e Engine, repoPath string, doer *User, repo *Repository, opt
|
||||
|
||||
repo.DefaultBranch = conf.Repository.DefaultBranch
|
||||
if err = updateRepository(e, repo, false); err != nil {
|
||||
return fmt.Errorf("updateRepository: %v", err)
|
||||
return errors.Newf("updateRepository: %v", err)
|
||||
}
|
||||
|
||||
return nil
|
||||
@@ -1138,7 +1138,7 @@ func createRepository(e *xorm.Session, doer, owner *User, repo *Repository) (err
|
||||
|
||||
has, err := isRepositoryExist(e, owner, repo.Name)
|
||||
if err != nil {
|
||||
return fmt.Errorf("IsRepositoryExist: %v", err)
|
||||
return errors.Newf("IsRepositoryExist: %v", err)
|
||||
} else if has {
|
||||
return ErrRepoAlreadyExist{args: errutil.Args{"ownerID": owner.ID, "name": repo.Name}}
|
||||
}
|
||||
@@ -1156,19 +1156,19 @@ func createRepository(e *xorm.Session, doer, owner *User, repo *Repository) (err
|
||||
if owner.IsOrganization() {
|
||||
t, err := owner.getOwnerTeam(e)
|
||||
if err != nil {
|
||||
return fmt.Errorf("getOwnerTeam: %v", err)
|
||||
return errors.Newf("getOwnerTeam: %v", err)
|
||||
} else if err = t.addRepository(e, repo); err != nil {
|
||||
return fmt.Errorf("addRepository: %v", err)
|
||||
return errors.Newf("addRepository: %v", err)
|
||||
}
|
||||
} else {
|
||||
// Organization automatically called this in addRepository method.
|
||||
if err = repo.recalculateAccesses(e); err != nil {
|
||||
return fmt.Errorf("recalculateAccesses: %v", err)
|
||||
return errors.Newf("recalculateAccesses: %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
if err = watchRepo(e, owner.ID, repo.ID, true); err != nil {
|
||||
return fmt.Errorf("watchRepo: %v", err)
|
||||
return errors.Newf("watchRepo: %v", err)
|
||||
}
|
||||
|
||||
// FIXME: This is identical to Actions.NewRepo but we are not yet able to wrap
|
||||
@@ -1192,7 +1192,7 @@ func createRepository(e *xorm.Session, doer, owner *User, repo *Repository) (err
|
||||
})
|
||||
}
|
||||
if err = newRepoAction(e, doer, repo); err != nil {
|
||||
return fmt.Errorf("newRepoAction: %v", err)
|
||||
return errors.Newf("newRepoAction: %v", err)
|
||||
}
|
||||
|
||||
return repo.loadAttributes(e)
|
||||
@@ -1248,14 +1248,14 @@ func CreateRepository(doer, owner *User, opts CreateRepoOptionsLegacy) (_ *Repos
|
||||
if !opts.IsMirror {
|
||||
if err = initRepository(sess, repoPath, doer, repo, opts); err != nil {
|
||||
RemoveAllWithNotice("Delete repository for initialization failure", repoPath)
|
||||
return nil, fmt.Errorf("initRepository: %v", err)
|
||||
return nil, errors.Newf("initRepository: %v", err)
|
||||
}
|
||||
|
||||
_, stderr, err := process.ExecDir(-1,
|
||||
repoPath, fmt.Sprintf("CreateRepository 'git update-server-info': %s", repoPath),
|
||||
"git", "update-server-info")
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("CreateRepository 'git update-server-info': %s", stderr)
|
||||
return nil, errors.Newf("CreateRepository 'git update-server-info': %s", stderr)
|
||||
}
|
||||
}
|
||||
if err = sess.Commit(); err != nil {
|
||||
@@ -1311,7 +1311,7 @@ func Repositories(page, pageSize int) (_ []*Repository, err error) {
|
||||
func RepositoriesWithUsers(page, pageSize int) (_ []*Repository, err error) {
|
||||
repos, err := Repositories(page, pageSize)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("Repositories: %v", err)
|
||||
return nil, errors.Newf("Repositories: %v", err)
|
||||
}
|
||||
|
||||
for i := range repos {
|
||||
@@ -1337,7 +1337,7 @@ func FilterRepositoryWithIssues(repoIDs []int64) ([]int64, error) {
|
||||
In("id", repoIDs).
|
||||
Cols("id").
|
||||
Find(&repos); err != nil {
|
||||
return nil, fmt.Errorf("filter valid repositories %v: %v", repoIDs, err)
|
||||
return nil, errors.Newf("filter valid repositories %v: %v", repoIDs, err)
|
||||
}
|
||||
|
||||
if len(repos) == 0 {
|
||||
@@ -1362,13 +1362,13 @@ func RepoPath(userName, repoName string) string {
|
||||
func TransferOwnership(doer *User, newOwnerName string, repo *Repository) error {
|
||||
newOwner, err := Handle.Users().GetByUsername(context.TODO(), newOwnerName)
|
||||
if err != nil {
|
||||
return fmt.Errorf("get new owner '%s': %v", newOwnerName, err)
|
||||
return errors.Newf("get new owner '%s': %v", newOwnerName, err)
|
||||
}
|
||||
|
||||
// Check if new owner has repository with same name.
|
||||
has, err := IsRepositoryExist(newOwner, repo.Name)
|
||||
if err != nil {
|
||||
return fmt.Errorf("IsRepositoryExist: %v", err)
|
||||
return errors.Newf("IsRepositoryExist: %v", err)
|
||||
} else if has {
|
||||
return ErrRepoAlreadyExist{args: errutil.Args{"ownerName": newOwnerName, "name": repo.Name}}
|
||||
}
|
||||
@@ -1376,7 +1376,7 @@ func TransferOwnership(doer *User, newOwnerName string, repo *Repository) error
|
||||
sess := x.NewSession()
|
||||
defer sess.Close()
|
||||
if err = sess.Begin(); err != nil {
|
||||
return fmt.Errorf("sess.Begin: %v", err)
|
||||
return errors.Newf("sess.Begin: %v", err)
|
||||
}
|
||||
|
||||
owner := repo.Owner
|
||||
@@ -1388,13 +1388,13 @@ func TransferOwnership(doer *User, newOwnerName string, repo *Repository) error
|
||||
|
||||
// Update repository.
|
||||
if _, err := sess.ID(repo.ID).Update(repo); err != nil {
|
||||
return fmt.Errorf("update owner: %v", err)
|
||||
return errors.Newf("update owner: %v", err)
|
||||
}
|
||||
|
||||
// Remove redundant collaborators.
|
||||
collaborators, err := repo.getCollaborators(sess)
|
||||
if err != nil {
|
||||
return fmt.Errorf("getCollaborators: %v", err)
|
||||
return errors.Newf("getCollaborators: %v", err)
|
||||
}
|
||||
|
||||
// Dummy object.
|
||||
@@ -1403,7 +1403,7 @@ func TransferOwnership(doer *User, newOwnerName string, repo *Repository) error
|
||||
collaboration.UserID = c.ID
|
||||
if c.ID == newOwner.ID || newOwner.IsOrgMember(c.ID) {
|
||||
if _, err = sess.Delete(collaboration); err != nil {
|
||||
return fmt.Errorf("remove collaborator '%d': %v", c.ID, err)
|
||||
return errors.Newf("remove collaborator '%d': %v", c.ID, err)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1411,7 +1411,7 @@ func TransferOwnership(doer *User, newOwnerName string, repo *Repository) error
|
||||
// Remove old team-repository relations.
|
||||
if owner.IsOrganization() {
|
||||
if err = owner.getTeams(sess); err != nil {
|
||||
return fmt.Errorf("getTeams: %v", err)
|
||||
return errors.Newf("getTeams: %v", err)
|
||||
}
|
||||
for _, t := range owner.Teams {
|
||||
if !t.hasRepository(sess, repo.ID) {
|
||||
@@ -1420,34 +1420,34 @@ func TransferOwnership(doer *User, newOwnerName string, repo *Repository) error
|
||||
|
||||
t.NumRepos--
|
||||
if _, err := sess.ID(t.ID).AllCols().Update(t); err != nil {
|
||||
return fmt.Errorf("decrease team repository count '%d': %v", t.ID, err)
|
||||
return errors.Newf("decrease team repository count '%d': %v", t.ID, err)
|
||||
}
|
||||
}
|
||||
|
||||
if err = owner.removeOrgRepo(sess, repo.ID); err != nil {
|
||||
return fmt.Errorf("removeOrgRepo: %v", err)
|
||||
return errors.Newf("removeOrgRepo: %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
if newOwner.IsOrganization() {
|
||||
t, err := newOwner.getOwnerTeam(sess)
|
||||
if err != nil {
|
||||
return fmt.Errorf("getOwnerTeam: %v", err)
|
||||
return errors.Newf("getOwnerTeam: %v", err)
|
||||
} else if err = t.addRepository(sess, repo); err != nil {
|
||||
return fmt.Errorf("add to owner team: %v", err)
|
||||
return errors.Newf("add to owner team: %v", err)
|
||||
}
|
||||
} else {
|
||||
// Organization called this in addRepository method.
|
||||
if err = repo.recalculateAccesses(sess); err != nil {
|
||||
return fmt.Errorf("recalculateAccesses: %v", err)
|
||||
return errors.Newf("recalculateAccesses: %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
// Update repository count.
|
||||
if _, err = sess.Exec("UPDATE `user` SET num_repos=num_repos+1 WHERE id=?", newOwner.ID); err != nil {
|
||||
return fmt.Errorf("increase new owner repository count: %v", err)
|
||||
return errors.Newf("increase new owner repository count: %v", err)
|
||||
} else if _, err = sess.Exec("UPDATE `user` SET num_repos=num_repos-1 WHERE id=?", owner.ID); err != nil {
|
||||
return fmt.Errorf("decrease old owner repository count: %v", err)
|
||||
return errors.Newf("decrease old owner repository count: %v", err)
|
||||
}
|
||||
|
||||
// Remove watch for organization.
|
||||
@@ -1458,7 +1458,7 @@ func TransferOwnership(doer *User, newOwnerName string, repo *Repository) error
|
||||
}
|
||||
|
||||
if err = watchRepo(sess, newOwner.ID, repo.ID, true); err != nil {
|
||||
return fmt.Errorf("watchRepo: %v", err)
|
||||
return errors.Newf("watchRepo: %v", err)
|
||||
}
|
||||
|
||||
// FIXME: This is identical to Actions.TransferRepo but we are not yet able to
|
||||
@@ -1478,7 +1478,7 @@ func TransferOwnership(doer *User, newOwnerName string, repo *Repository) error
|
||||
})
|
||||
}
|
||||
if err = transferRepoAction(sess, doer, owner, repo); err != nil {
|
||||
return fmt.Errorf("transferRepoAction: %v", err)
|
||||
return errors.Newf("transferRepoAction: %v", err)
|
||||
}
|
||||
|
||||
// Rename remote repository to new path and delete local copy.
|
||||
@@ -1486,7 +1486,7 @@ func TransferOwnership(doer *User, newOwnerName string, repo *Repository) error
|
||||
return err
|
||||
}
|
||||
if err = os.Rename(RepoPath(owner.Name, repo.Name), RepoPath(newOwner.Name, repo.Name)); err != nil {
|
||||
return fmt.Errorf("rename repository directory: %v", err)
|
||||
return errors.Newf("rename repository directory: %v", err)
|
||||
}
|
||||
|
||||
deleteRepoLocalCopy(repo.ID)
|
||||
@@ -1496,7 +1496,7 @@ func TransferOwnership(doer *User, newOwnerName string, repo *Repository) error
|
||||
if com.IsExist(wikiPath) {
|
||||
RemoveAllWithNotice("Delete repository wiki local copy", repo.LocalWikiPath())
|
||||
if err = os.Rename(wikiPath, WikiPath(newOwner.Name, repo.Name)); err != nil {
|
||||
return fmt.Errorf("rename repository wiki: %v", err)
|
||||
return errors.Newf("rename repository wiki: %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1519,25 +1519,25 @@ func ChangeRepositoryName(u *User, oldRepoName, newRepoName string) (err error)
|
||||
|
||||
has, err := IsRepositoryExist(u, newRepoName)
|
||||
if err != nil {
|
||||
return fmt.Errorf("IsRepositoryExist: %v", err)
|
||||
return errors.Newf("IsRepositoryExist: %v", err)
|
||||
} else if has {
|
||||
return ErrRepoAlreadyExist{args: errutil.Args{"ownerID": u.ID, "name": newRepoName}}
|
||||
}
|
||||
|
||||
repo, err := GetRepositoryByName(u.ID, oldRepoName)
|
||||
if err != nil {
|
||||
return fmt.Errorf("GetRepositoryByName: %v", err)
|
||||
return errors.Newf("GetRepositoryByName: %v", err)
|
||||
}
|
||||
|
||||
// Change repository directory name
|
||||
if err = os.Rename(repo.RepoPath(), RepoPath(u.Name, newRepoName)); err != nil {
|
||||
return fmt.Errorf("rename repository directory: %v", err)
|
||||
return errors.Newf("rename repository directory: %v", err)
|
||||
}
|
||||
|
||||
wikiPath := repo.WikiPath()
|
||||
if com.IsExist(wikiPath) {
|
||||
if err = os.Rename(wikiPath, WikiPath(u.Name, newRepoName)); err != nil {
|
||||
return fmt.Errorf("rename repository wiki: %v", err)
|
||||
return errors.Newf("rename repository wiki: %v", err)
|
||||
}
|
||||
RemoveAllWithNotice("Delete repository wiki local copy", repo.LocalWikiPath())
|
||||
}
|
||||
@@ -1577,17 +1577,17 @@ func updateRepository(e Engine, repo *Repository, visibilityChanged bool) (err e
|
||||
}
|
||||
|
||||
if _, err = e.ID(repo.ID).AllCols().Update(repo); err != nil {
|
||||
return fmt.Errorf("update: %v", err)
|
||||
return errors.Newf("update: %v", err)
|
||||
}
|
||||
|
||||
if visibilityChanged {
|
||||
if err = repo.getOwner(e); err != nil {
|
||||
return fmt.Errorf("getOwner: %v", err)
|
||||
return errors.Newf("getOwner: %v", err)
|
||||
}
|
||||
if repo.Owner.IsOrganization() {
|
||||
// Organization repository need to recalculate access table when visibility is changed
|
||||
if err = repo.recalculateTeamAccesses(e, 0); err != nil {
|
||||
return fmt.Errorf("recalculateTeamAccesses: %v", err)
|
||||
return errors.Newf("recalculateTeamAccesses: %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1607,19 +1607,19 @@ func updateRepository(e Engine, repo *Repository, visibilityChanged bool) (err e
|
||||
|
||||
forkRepos, err := getRepositoriesByForkID(e, repo.ID)
|
||||
if err != nil {
|
||||
return fmt.Errorf("getRepositoriesByForkID: %v", err)
|
||||
return errors.Newf("getRepositoriesByForkID: %v", err)
|
||||
}
|
||||
for i := range forkRepos {
|
||||
forkRepos[i].IsPrivate = repo.IsPrivate
|
||||
forkRepos[i].IsUnlisted = repo.IsUnlisted
|
||||
if err = updateRepository(e, forkRepos[i], true); err != nil {
|
||||
return fmt.Errorf("updateRepository[%d]: %v", forkRepos[i].ID, err)
|
||||
return errors.Newf("updateRepository[%d]: %v", forkRepos[i].ID, err)
|
||||
}
|
||||
}
|
||||
|
||||
// Change visibility of generated actions
|
||||
if _, err = e.Where("repo_id = ?", repo.ID).Cols("is_private").Update(&Action{IsPrivate: repo.IsPrivate || repo.IsUnlisted}); err != nil {
|
||||
return fmt.Errorf("change action visibility of repository: %v", err)
|
||||
return errors.Newf("change action visibility of repository: %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1634,7 +1634,7 @@ func UpdateRepository(repo *Repository, visibilityChanged bool) (err error) {
|
||||
}
|
||||
|
||||
if err = updateRepository(x, repo, visibilityChanged); err != nil {
|
||||
return fmt.Errorf("updateRepository: %v", err)
|
||||
return errors.Newf("updateRepository: %v", err)
|
||||
}
|
||||
|
||||
return sess.Commit()
|
||||
@@ -1695,7 +1695,7 @@ func DeleteRepository(ownerID, repoID int64) error {
|
||||
&HookTask{RepoID: repoID},
|
||||
&LFSObject{RepoID: repoID},
|
||||
); err != nil {
|
||||
return fmt.Errorf("deleteBeans: %v", err)
|
||||
return errors.Newf("deleteBeans: %v", err)
|
||||
}
|
||||
|
||||
// Delete comments and attachments.
|
||||
@@ -1728,7 +1728,7 @@ func DeleteRepository(ownerID, repoID int64) error {
|
||||
|
||||
if repo.IsFork {
|
||||
if _, err = sess.Exec("UPDATE `repository` SET num_forks=num_forks-1 WHERE id=?", repo.ForkID); err != nil {
|
||||
return fmt.Errorf("decrease fork count: %v", err)
|
||||
return errors.Newf("decrease fork count: %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1737,7 +1737,7 @@ func DeleteRepository(ownerID, repoID int64) error {
|
||||
}
|
||||
|
||||
if err = sess.Commit(); err != nil {
|
||||
return fmt.Errorf("commit: %v", err)
|
||||
return errors.Newf("commit: %v", err)
|
||||
}
|
||||
|
||||
// Remove repository files.
|
||||
@@ -1852,12 +1852,12 @@ func GetUserAndCollaborativeRepositories(userID int64) ([]*Repository, error) {
|
||||
Join("INNER", "collaboration", "collaboration.repo_id = repo.id").
|
||||
Where("collaboration.user_id = ?", userID).
|
||||
Find(&repos); err != nil {
|
||||
return nil, fmt.Errorf("select collaborative repositories: %v", err)
|
||||
return nil, errors.Newf("select collaborative repositories: %v", err)
|
||||
}
|
||||
|
||||
ownRepos := make([]*Repository, 0, 10)
|
||||
if err := x.Where("owner_id = ?", userID).Find(&ownRepos); err != nil {
|
||||
return nil, fmt.Errorf("select own repositories: %v", err)
|
||||
return nil, errors.Newf("select own repositories: %v", err)
|
||||
}
|
||||
|
||||
return append(repos, ownRepos...), nil
|
||||
@@ -1903,7 +1903,7 @@ func SearchRepositoryByName(opts *SearchRepoOptions) (repos []*Repository, count
|
||||
// We need all fields (repo.*) in final list but only ID (repo.id) is good enough for counting.
|
||||
count, err = sess.Clone().Distinct("repo.id").Count(new(Repository))
|
||||
if err != nil {
|
||||
return nil, 0, fmt.Errorf("Count: %v", err)
|
||||
return nil, 0, errors.Newf("Count: %v", err)
|
||||
}
|
||||
|
||||
if len(opts.OrderBy) > 0 {
|
||||
@@ -1998,7 +1998,7 @@ func gatherMissingRepoRecords() ([]*Repository, error) {
|
||||
return nil
|
||||
}); err != nil {
|
||||
if err2 := Handle.Notices().Create(context.TODO(), NoticeTypeRepository, fmt.Sprintf("gatherMissingRepoRecords: %v", err)); err2 != nil {
|
||||
return nil, fmt.Errorf("CreateRepositoryNotice: %v", err)
|
||||
return nil, errors.Newf("CreateRepositoryNotice: %v", err)
|
||||
}
|
||||
}
|
||||
return repos, nil
|
||||
@@ -2008,7 +2008,7 @@ func gatherMissingRepoRecords() ([]*Repository, error) {
|
||||
func DeleteMissingRepositories() error {
|
||||
repos, err := gatherMissingRepoRecords()
|
||||
if err != nil {
|
||||
return fmt.Errorf("gatherMissingRepoRecords: %v", err)
|
||||
return errors.Newf("gatherMissingRepoRecords: %v", err)
|
||||
}
|
||||
|
||||
if len(repos) == 0 {
|
||||
@@ -2019,7 +2019,7 @@ func DeleteMissingRepositories() error {
|
||||
log.Trace("Deleting %d/%d...", repo.OwnerID, repo.ID)
|
||||
if err := DeleteRepository(repo.OwnerID, repo.ID); err != nil {
|
||||
if err2 := Handle.Notices().Create(context.TODO(), NoticeTypeRepository, fmt.Sprintf("DeleteRepository [%d]: %v", repo.ID, err)); err2 != nil {
|
||||
return fmt.Errorf("CreateRepositoryNotice: %v", err)
|
||||
return errors.Newf("CreateRepositoryNotice: %v", err)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -2030,7 +2030,7 @@ func DeleteMissingRepositories() error {
|
||||
func ReinitMissingRepositories() error {
|
||||
repos, err := gatherMissingRepoRecords()
|
||||
if err != nil {
|
||||
return fmt.Errorf("gatherMissingRepoRecords: %v", err)
|
||||
return errors.Newf("gatherMissingRepoRecords: %v", err)
|
||||
}
|
||||
|
||||
if len(repos) == 0 {
|
||||
@@ -2041,7 +2041,7 @@ func ReinitMissingRepositories() error {
|
||||
log.Trace("Initializing %d/%d...", repo.OwnerID, repo.ID)
|
||||
if err := git.Init(repo.RepoPath(), git.InitOptions{Bare: true}); err != nil {
|
||||
if err2 := Handle.Notices().Create(context.TODO(), NoticeTypeRepository, fmt.Sprintf("init repository [repo_id: %d]: %v", repo.ID, err)); err2 != nil {
|
||||
return fmt.Errorf("create repository notice: %v", err)
|
||||
return errors.Newf("create repository notice: %v", err)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -2125,7 +2125,7 @@ func GitGcRepos() error {
|
||||
RepoPath(repo.Owner.Name, repo.Name), "Repository garbage collection",
|
||||
"git", args...)
|
||||
if err != nil {
|
||||
return fmt.Errorf("%v: %v", err, stderr)
|
||||
return errors.Newf("%v: %v", err, stderr)
|
||||
}
|
||||
return nil
|
||||
})
|
||||
@@ -2264,7 +2264,7 @@ func (repos RepositoryList) loadAttributes(e Engine) error {
|
||||
}
|
||||
users := make([]*User, 0, len(userIDs))
|
||||
if err := e.Where("id > 0").In("id", userIDs).Find(&users); err != nil {
|
||||
return fmt.Errorf("find users: %v", err)
|
||||
return errors.Newf("find users: %v", err)
|
||||
}
|
||||
for i := range users {
|
||||
userSet[users[i].ID] = users[i]
|
||||
@@ -2286,7 +2286,7 @@ func (repos RepositoryList) loadAttributes(e Engine) error {
|
||||
}
|
||||
baseRepos := make([]*Repository, 0, len(baseIDs))
|
||||
if err := e.Where("id > 0").In("id", baseIDs).Find(&baseRepos); err != nil {
|
||||
return fmt.Errorf("find base repositories: %v", err)
|
||||
return errors.Newf("find base repositories: %v", err)
|
||||
}
|
||||
for i := range baseRepos {
|
||||
repoSet[baseRepos[i].ID] = baseRepos[i]
|
||||
@@ -2322,7 +2322,7 @@ func (repos MirrorRepositoryList) loadAttributes(e Engine) error {
|
||||
}
|
||||
mirrors := make([]*Mirror, 0, len(repoIDs))
|
||||
if err := e.Where("id > 0").In("repo_id", repoIDs).Find(&mirrors); err != nil {
|
||||
return fmt.Errorf("find mirrors: %v", err)
|
||||
return errors.Newf("find mirrors: %v", err)
|
||||
}
|
||||
|
||||
set := make(map[int64]*Mirror)
|
||||
@@ -2425,7 +2425,7 @@ func notifyWatchers(e Engine, act *Action) error {
|
||||
// Add feeds for user self and all watchers.
|
||||
watchers, err := getWatchers(e, act.RepoID)
|
||||
if err != nil {
|
||||
return fmt.Errorf("getWatchers: %v", err)
|
||||
return errors.Newf("getWatchers: %v", err)
|
||||
}
|
||||
|
||||
// Reset ID to reuse Action object
|
||||
@@ -2434,7 +2434,7 @@ func notifyWatchers(e Engine, act *Action) error {
|
||||
// Add feed for actioner.
|
||||
act.UserID = act.ActUserID
|
||||
if _, err = e.Insert(act); err != nil {
|
||||
return fmt.Errorf("insert new action: %v", err)
|
||||
return errors.Newf("insert new action: %v", err)
|
||||
}
|
||||
|
||||
for i := range watchers {
|
||||
@@ -2445,7 +2445,7 @@ func notifyWatchers(e Engine, act *Action) error {
|
||||
act.ID = 0
|
||||
act.UserID = watchers[i].UserID
|
||||
if _, err = e.Insert(act); err != nil {
|
||||
return fmt.Errorf("insert new action: %v", err)
|
||||
return errors.Newf("insert new action: %v", err)
|
||||
}
|
||||
}
|
||||
return nil
|
||||
@@ -2574,22 +2574,22 @@ func ForkRepository(doer, owner *User, baseRepo *Repository, name, desc string)
|
||||
fmt.Sprintf("ForkRepository 'git clone': %s/%s", owner.Name, repo.Name),
|
||||
"git", "clone", "--bare", baseRepo.RepoPath(), repoPath)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("git clone: %v - %s", err, stderr)
|
||||
return nil, errors.Newf("git clone: %v - %s", err, stderr)
|
||||
}
|
||||
|
||||
_, stderr, err = process.ExecDir(-1,
|
||||
repoPath, fmt.Sprintf("ForkRepository 'git update-server-info': %s", repoPath),
|
||||
"git", "update-server-info")
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("git update-server-info: %v - %s", err, stderr)
|
||||
return nil, errors.Newf("git update-server-info: %v - %s", err, stderr)
|
||||
}
|
||||
|
||||
if err = createDelegateHooks(repoPath); err != nil {
|
||||
return nil, fmt.Errorf("createDelegateHooks: %v", err)
|
||||
return nil, errors.Newf("createDelegateHooks: %v", err)
|
||||
}
|
||||
|
||||
if err = sess.Commit(); err != nil {
|
||||
return nil, fmt.Errorf("commit: %v", err)
|
||||
return nil, errors.Newf("commit: %v", err)
|
||||
}
|
||||
|
||||
// Remember visibility preference
|
||||
@@ -2638,17 +2638,17 @@ func (r *Repository) CreateNewBranch(oldBranch, newBranch string) (err error) {
|
||||
localPath := r.LocalCopyPath()
|
||||
|
||||
if err = discardLocalRepoBranchChanges(localPath, oldBranch); err != nil {
|
||||
return fmt.Errorf("discard changes in local copy [path: %s, branch: %s]: %v", localPath, oldBranch, err)
|
||||
return errors.Newf("discard changes in local copy [path: %s, branch: %s]: %v", localPath, oldBranch, err)
|
||||
} else if err = r.UpdateLocalCopyBranch(oldBranch); err != nil {
|
||||
return fmt.Errorf("update branch for local copy [path: %s, branch: %s]: %v", localPath, oldBranch, err)
|
||||
return errors.Newf("update branch for local copy [path: %s, branch: %s]: %v", localPath, oldBranch, err)
|
||||
}
|
||||
|
||||
if err = r.CheckoutNewBranch(oldBranch, newBranch); err != nil {
|
||||
return fmt.Errorf("create new branch [base: %s, new: %s]: %v", oldBranch, newBranch, err)
|
||||
return errors.Newf("create new branch [base: %s, new: %s]: %v", oldBranch, newBranch, err)
|
||||
}
|
||||
|
||||
if err = git.Push(localPath, "origin", newBranch); err != nil {
|
||||
return fmt.Errorf("push [branch: %s]: %v", newBranch, err)
|
||||
return errors.Newf("push [branch: %s]: %v", newBranch, err)
|
||||
}
|
||||
|
||||
return nil
|
||||
@@ -2667,9 +2667,9 @@ func (r *Repository) refreshAccesses(e Engine, accessMap map[int64]AccessMode) (
|
||||
|
||||
// Delete old accesses and insert new ones for repository.
|
||||
if _, err = e.Delete(&Access{RepoID: r.ID}); err != nil {
|
||||
return fmt.Errorf("delete old accesses: %v", err)
|
||||
return errors.Newf("delete old accesses: %v", err)
|
||||
} else if _, err = e.Insert(newAccesses); err != nil {
|
||||
return fmt.Errorf("insert new accesses: %v", err)
|
||||
return errors.Newf("insert new accesses: %v", err)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
@@ -2678,7 +2678,7 @@ func (r *Repository) refreshAccesses(e Engine, accessMap map[int64]AccessMode) (
|
||||
func (r *Repository) refreshCollaboratorAccesses(e Engine, accessMap map[int64]AccessMode) error {
|
||||
collaborations, err := r.getCollaborations(e)
|
||||
if err != nil {
|
||||
return fmt.Errorf("getCollaborations: %v", err)
|
||||
return errors.Newf("getCollaborations: %v", err)
|
||||
}
|
||||
for _, c := range collaborations {
|
||||
accessMap[c.UserID] = c.Mode
|
||||
@@ -2695,11 +2695,11 @@ func (r *Repository) recalculateTeamAccesses(e Engine, ignTeamID int64) (err err
|
||||
if err = r.getOwner(e); err != nil {
|
||||
return err
|
||||
} else if !r.Owner.IsOrganization() {
|
||||
return fmt.Errorf("owner is not an organization: %d", r.OwnerID)
|
||||
return errors.Newf("owner is not an organization: %d", r.OwnerID)
|
||||
}
|
||||
|
||||
if err = r.refreshCollaboratorAccesses(e, accessMap); err != nil {
|
||||
return fmt.Errorf("refreshCollaboratorAccesses: %v", err)
|
||||
return errors.Newf("refreshCollaboratorAccesses: %v", err)
|
||||
}
|
||||
|
||||
if err = r.Owner.getTeams(e); err != nil {
|
||||
@@ -2730,7 +2730,7 @@ func (r *Repository) recalculateTeamAccesses(e Engine, ignTeamID int64) (err err
|
||||
}
|
||||
|
||||
if err = t.getMembers(e); err != nil {
|
||||
return fmt.Errorf("getMembers '%d': %v", t.ID, err)
|
||||
return errors.Newf("getMembers '%d': %v", t.ID, err)
|
||||
}
|
||||
for _, m := range t.Members {
|
||||
accessMap[m.ID] = maxAccessMode(accessMap[m.ID], t.Authorize)
|
||||
@@ -2747,7 +2747,7 @@ func (r *Repository) recalculateAccesses(e Engine) error {
|
||||
|
||||
accessMap := make(map[int64]AccessMode, 10)
|
||||
if err := r.refreshCollaboratorAccesses(e, accessMap); err != nil {
|
||||
return fmt.Errorf("refreshCollaboratorAccesses: %v", err)
|
||||
return errors.Newf("refreshCollaboratorAccesses: %v", err)
|
||||
}
|
||||
return r.refreshAccesses(e, accessMap)
|
||||
}
|
||||
|
||||
@@ -5,6 +5,7 @@ import (
|
||||
"fmt"
|
||||
"strings"
|
||||
|
||||
"github.com/cockroachdb/errors"
|
||||
"github.com/gogs/git-module"
|
||||
"github.com/unknwon/com"
|
||||
|
||||
@@ -23,12 +24,12 @@ type Branch struct {
|
||||
func GetBranchesByPath(path string) ([]*Branch, error) {
|
||||
gitRepo, err := git.Open(path)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("open repository: %v", err)
|
||||
return nil, errors.Newf("open repository: %v", err)
|
||||
}
|
||||
|
||||
names, err := gitRepo.Branches()
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("list branches")
|
||||
return nil, errors.Newf("list branches")
|
||||
}
|
||||
|
||||
branches := make([]*Branch, len(names))
|
||||
@@ -77,7 +78,7 @@ func (r *Repository) GetBranches() ([]*Branch, error) {
|
||||
func (br *Branch) GetCommit() (*git.Commit, error) {
|
||||
gitRepo, err := git.Open(br.RepoPath)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("open repository: %v", err)
|
||||
return nil, errors.Newf("open repository: %v", err)
|
||||
}
|
||||
return gitRepo.BranchCommit(br.Name)
|
||||
}
|
||||
@@ -143,12 +144,12 @@ func UpdateProtectBranch(protectBranch *ProtectBranch) (err error) {
|
||||
|
||||
if protectBranch.ID == 0 {
|
||||
if _, err = sess.Insert(protectBranch); err != nil {
|
||||
return fmt.Errorf("insert: %v", err)
|
||||
return errors.Newf("insert: %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
if _, err = sess.ID(protectBranch.ID).AllCols().Update(protectBranch); err != nil {
|
||||
return fmt.Errorf("update: %v", err)
|
||||
return errors.Newf("update: %v", err)
|
||||
}
|
||||
|
||||
return sess.Commit()
|
||||
@@ -160,9 +161,9 @@ func UpdateProtectBranch(protectBranch *ProtectBranch) (err error) {
|
||||
// to avoid unnecessary whitelist delete and regenerate.
|
||||
func UpdateOrgProtectBranch(repo *Repository, protectBranch *ProtectBranch, whitelistUserIDs, whitelistTeamIDs string) (err error) {
|
||||
if err = repo.GetOwner(); err != nil {
|
||||
return fmt.Errorf("GetOwner: %v", err)
|
||||
return errors.Newf("GetOwner: %v", err)
|
||||
} else if !repo.Owner.IsOrganization() {
|
||||
return fmt.Errorf("expect repository owner to be an organization")
|
||||
return errors.Newf("expect repository owner to be an organization")
|
||||
}
|
||||
|
||||
hasUsersChanged := false
|
||||
@@ -194,7 +195,7 @@ func UpdateOrgProtectBranch(repo *Repository, protectBranch *ProtectBranch, whit
|
||||
teamIDs := tool.StringsToInt64s(strings.Split(whitelistTeamIDs, ","))
|
||||
teams, err := GetTeamsHaveAccessToRepo(repo.OwnerID, repo.ID, AccessModeWrite)
|
||||
if err != nil {
|
||||
return fmt.Errorf("GetTeamsHaveAccessToRepo [org_id: %d, repo_id: %d]: %v", repo.OwnerID, repo.ID, err)
|
||||
return errors.Newf("GetTeamsHaveAccessToRepo [org_id: %d, repo_id: %d]: %v", repo.OwnerID, repo.ID, err)
|
||||
}
|
||||
validTeamIDs = make([]int64, 0, len(teams))
|
||||
for i := range teams {
|
||||
@@ -209,7 +210,7 @@ func UpdateOrgProtectBranch(repo *Repository, protectBranch *ProtectBranch, whit
|
||||
// Make sure protectBranch.ID is not 0 for whitelists
|
||||
if protectBranch.ID == 0 {
|
||||
if _, err = x.Insert(protectBranch); err != nil {
|
||||
return fmt.Errorf("insert: %v", err)
|
||||
return errors.Newf("insert: %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -227,7 +228,7 @@ func UpdateOrgProtectBranch(repo *Repository, protectBranch *ProtectBranch, whit
|
||||
for _, teamID := range validTeamIDs {
|
||||
members, err := GetTeamMembers(teamID)
|
||||
if err != nil {
|
||||
return fmt.Errorf("GetTeamMembers [team_id: %d]: %v", teamID, err)
|
||||
return errors.Newf("GetTeamMembers [team_id: %d]: %v", teamID, err)
|
||||
}
|
||||
|
||||
for i := range members {
|
||||
@@ -253,15 +254,15 @@ func UpdateOrgProtectBranch(repo *Repository, protectBranch *ProtectBranch, whit
|
||||
}
|
||||
|
||||
if _, err = sess.ID(protectBranch.ID).AllCols().Update(protectBranch); err != nil {
|
||||
return fmt.Errorf("Update: %v", err)
|
||||
return errors.Newf("Update: %v", err)
|
||||
}
|
||||
|
||||
// Refresh whitelists
|
||||
if hasUsersChanged || hasTeamsChanged {
|
||||
if _, err = sess.Delete(&ProtectBranchWhitelist{ProtectBranchID: protectBranch.ID}); err != nil {
|
||||
return fmt.Errorf("delete old protect branch whitelists: %v", err)
|
||||
return errors.Newf("delete old protect branch whitelists: %v", err)
|
||||
} else if _, err = sess.Insert(whitelists); err != nil {
|
||||
return fmt.Errorf("insert new protect branch whitelists: %v", err)
|
||||
return errors.Newf("insert new protect branch whitelists: %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,10 +1,9 @@
|
||||
package database
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
|
||||
log "unknwon.dev/clog/v2"
|
||||
|
||||
"github.com/cockroachdb/errors"
|
||||
api "github.com/gogs/go-gogs-client"
|
||||
)
|
||||
|
||||
@@ -71,7 +70,7 @@ func (r *Repository) AddCollaborator(u *User) error {
|
||||
if _, err = sess.Insert(collaboration); err != nil {
|
||||
return err
|
||||
} else if err = r.recalculateAccesses(sess); err != nil {
|
||||
return fmt.Errorf("recalculateAccesses [repo_id: %v]: %v", r.ID, err)
|
||||
return errors.Newf("recalculateAccesses [repo_id: %v]: %v", r.ID, err)
|
||||
}
|
||||
|
||||
return sess.Commit()
|
||||
@@ -102,7 +101,7 @@ func (c *Collaborator) APIFormat() *api.Collaborator {
|
||||
func (r *Repository) getCollaborators(e Engine) ([]*Collaborator, error) {
|
||||
collaborations, err := r.getCollaborations(e)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("getCollaborations: %v", err)
|
||||
return nil, errors.Newf("getCollaborations: %v", err)
|
||||
}
|
||||
|
||||
collaborators := make([]*Collaborator, len(collaborations))
|
||||
@@ -137,7 +136,7 @@ func (r *Repository) ChangeCollaborationAccessMode(userID int64, mode AccessMode
|
||||
}
|
||||
has, err := x.Get(collaboration)
|
||||
if err != nil {
|
||||
return fmt.Errorf("get collaboration: %v", err)
|
||||
return errors.Newf("get collaboration: %v", err)
|
||||
} else if !has {
|
||||
return nil
|
||||
}
|
||||
@@ -151,7 +150,7 @@ func (r *Repository) ChangeCollaborationAccessMode(userID int64, mode AccessMode
|
||||
if r.Owner.IsOrganization() {
|
||||
teams, err := GetUserTeams(r.OwnerID, userID)
|
||||
if err != nil {
|
||||
return fmt.Errorf("GetUserTeams: [org_id: %d, user_id: %d]: %v", r.OwnerID, userID, err)
|
||||
return errors.Newf("GetUserTeams: [org_id: %d, user_id: %d]: %v", r.OwnerID, userID, err)
|
||||
}
|
||||
for i := range teams {
|
||||
if mode < teams[i].Authorize {
|
||||
@@ -167,7 +166,7 @@ func (r *Repository) ChangeCollaborationAccessMode(userID int64, mode AccessMode
|
||||
}
|
||||
|
||||
if _, err = sess.ID(collaboration.ID).AllCols().Update(collaboration); err != nil {
|
||||
return fmt.Errorf("update collaboration: %v", err)
|
||||
return errors.Newf("update collaboration: %v", err)
|
||||
}
|
||||
|
||||
access := &Access{
|
||||
@@ -176,7 +175,7 @@ func (r *Repository) ChangeCollaborationAccessMode(userID int64, mode AccessMode
|
||||
}
|
||||
has, err = sess.Get(access)
|
||||
if err != nil {
|
||||
return fmt.Errorf("get access record: %v", err)
|
||||
return errors.Newf("get access record: %v", err)
|
||||
}
|
||||
if has {
|
||||
_, err = sess.Exec("UPDATE access SET mode = ? WHERE user_id = ? AND repo_id = ?", mode, userID, r.ID)
|
||||
@@ -185,7 +184,7 @@ func (r *Repository) ChangeCollaborationAccessMode(userID int64, mode AccessMode
|
||||
_, err = sess.Insert(access)
|
||||
}
|
||||
if err != nil {
|
||||
return fmt.Errorf("update/insert access table: %v", err)
|
||||
return errors.Newf("update/insert access table: %v", err)
|
||||
}
|
||||
|
||||
return sess.Commit()
|
||||
|
||||
@@ -11,7 +11,7 @@ import (
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/pkg/errors"
|
||||
"github.com/cockroachdb/errors"
|
||||
gouuid "github.com/satori/go.uuid"
|
||||
"github.com/unknwon/com"
|
||||
|
||||
@@ -97,7 +97,7 @@ func discardLocalRepoBranchChanges(localPath, branch string) error {
|
||||
|
||||
rev := "origin/" + branch
|
||||
if err := git.Reset(localPath, rev, git.ResetOptions{Hard: true}); err != nil {
|
||||
return fmt.Errorf("reset [revision: %s]: %v", rev, err)
|
||||
return errors.Newf("reset [revision: %s]: %v", rev, err)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
@@ -112,7 +112,7 @@ func (r *Repository) CheckoutNewBranch(oldBranch, newBranch string) error {
|
||||
BaseBranch: oldBranch,
|
||||
Timeout: time.Duration(conf.Git.Timeout.Pull) * time.Second,
|
||||
}); err != nil {
|
||||
return fmt.Errorf("checkout [base: %s, new: %s]: %v", oldBranch, newBranch, err)
|
||||
return errors.Newf("checkout [base: %s, new: %s]: %v", oldBranch, newBranch, err)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
@@ -151,9 +151,9 @@ func (r *Repository) UpdateRepoFile(doer *User, opts UpdateRepoFileOptions) erro
|
||||
defer repoWorkingPool.CheckOut(com.ToStr(r.ID))
|
||||
|
||||
if err := r.DiscardLocalRepoBranchChanges(opts.OldBranch); err != nil {
|
||||
return fmt.Errorf("discard local repo branch[%s] changes: %v", opts.OldBranch, err)
|
||||
return errors.Newf("discard local repo branch[%s] changes: %v", opts.OldBranch, err)
|
||||
} else if err = r.UpdateLocalCopyBranch(opts.OldBranch); err != nil {
|
||||
return fmt.Errorf("update local copy branch[%s]: %v", opts.OldBranch, err)
|
||||
return errors.Newf("update local copy branch[%s]: %v", opts.OldBranch, err)
|
||||
}
|
||||
|
||||
localPath := r.LocalCopyPath()
|
||||
@@ -176,12 +176,12 @@ func (r *Repository) UpdateRepoFile(doer *User, opts UpdateRepoFileOptions) erro
|
||||
if err := git.DeleteBranch(localPath, opts.NewBranch, git.DeleteBranchOptions{
|
||||
Force: true,
|
||||
}); err != nil {
|
||||
return fmt.Errorf("delete branch %q: %v", opts.NewBranch, err)
|
||||
return errors.Newf("delete branch %q: %v", opts.NewBranch, err)
|
||||
}
|
||||
}
|
||||
|
||||
if err := r.CheckoutNewBranch(opts.OldBranch, opts.NewBranch); err != nil {
|
||||
return fmt.Errorf("checkout new branch[%s] from old branch[%s]: %v", opts.NewBranch, opts.OldBranch, err)
|
||||
return errors.Newf("checkout new branch[%s] from old branch[%s]: %v", opts.NewBranch, opts.OldBranch, err)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -204,11 +204,11 @@ func (r *Repository) UpdateRepoFile(doer *User, opts UpdateRepoFileOptions) erro
|
||||
}
|
||||
|
||||
if err := os.WriteFile(newFilePath, []byte(opts.Content), 0o600); err != nil {
|
||||
return fmt.Errorf("write file: %v", err)
|
||||
return errors.Newf("write file: %v", err)
|
||||
}
|
||||
|
||||
if err := git.Add(localPath, git.AddOptions{All: true}); err != nil {
|
||||
return fmt.Errorf("git add --all: %v", err)
|
||||
return errors.Newf("git add --all: %v", err)
|
||||
}
|
||||
err := git.CreateCommit(
|
||||
localPath,
|
||||
@@ -220,7 +220,7 @@ func (r *Repository) UpdateRepoFile(doer *User, opts UpdateRepoFileOptions) erro
|
||||
opts.Message,
|
||||
)
|
||||
if err != nil {
|
||||
return fmt.Errorf("commit changes on %q: %v", localPath, err)
|
||||
return errors.Newf("commit changes on %q: %v", localPath, err)
|
||||
}
|
||||
|
||||
err = git.Push(localPath, "origin", opts.NewBranch,
|
||||
@@ -238,7 +238,7 @@ func (r *Repository) UpdateRepoFile(doer *User, opts UpdateRepoFileOptions) erro
|
||||
},
|
||||
)
|
||||
if err != nil {
|
||||
return fmt.Errorf("git push origin %s: %v", opts.NewBranch, err)
|
||||
return errors.Newf("git push origin %s: %v", opts.NewBranch, err)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
@@ -254,9 +254,9 @@ func (r *Repository) GetDiffPreview(branch, treePath, content string) (*gitutil.
|
||||
defer repoWorkingPool.CheckOut(com.ToStr(r.ID))
|
||||
|
||||
if err := r.DiscardLocalRepoBranchChanges(branch); err != nil {
|
||||
return nil, fmt.Errorf("discard local repo branch[%s] changes: %v", branch, err)
|
||||
return nil, errors.Newf("discard local repo branch[%s] changes: %v", branch, err)
|
||||
} else if err = r.UpdateLocalCopyBranch(branch); err != nil {
|
||||
return nil, fmt.Errorf("update local copy branch[%s]: %v", branch, err)
|
||||
return nil, errors.Newf("update local copy branch[%s]: %v", branch, err)
|
||||
}
|
||||
|
||||
localPath := r.LocalCopyPath()
|
||||
@@ -271,7 +271,7 @@ func (r *Repository) GetDiffPreview(branch, treePath, content string) (*gitutil.
|
||||
if err := os.MkdirAll(path.Dir(filePath), os.ModePerm); err != nil {
|
||||
return nil, errors.Wrap(err, "create parent directories")
|
||||
} else if err = os.WriteFile(filePath, []byte(content), 0o600); err != nil {
|
||||
return nil, fmt.Errorf("write file: %v", err)
|
||||
return nil, errors.Newf("write file: %v", err)
|
||||
}
|
||||
|
||||
// 🚨 SECURITY: Prevent including unintended options in the path to the Git command.
|
||||
@@ -281,11 +281,11 @@ func (r *Repository) GetDiffPreview(branch, treePath, content string) (*gitutil.
|
||||
|
||||
stdout, err := cmd.StdoutPipe()
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("get stdout pipe: %v", err)
|
||||
return nil, errors.Newf("get stdout pipe: %v", err)
|
||||
}
|
||||
|
||||
if err = cmd.Start(); err != nil {
|
||||
return nil, fmt.Errorf("start: %v", err)
|
||||
return nil, errors.Newf("start: %v", err)
|
||||
}
|
||||
|
||||
pid := process.Add(fmt.Sprintf("GetDiffPreview [repo_path: %s]", r.RepoPath()), cmd)
|
||||
@@ -293,10 +293,10 @@ func (r *Repository) GetDiffPreview(branch, treePath, content string) (*gitutil.
|
||||
|
||||
diff, err := gitutil.ParseDiff(stdout, conf.Git.MaxDiffFiles, conf.Git.MaxDiffLines, conf.Git.MaxDiffLineChars)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("parse diff: %v", err)
|
||||
return nil, errors.Newf("parse diff: %v", err)
|
||||
}
|
||||
if err = cmd.Wait(); err != nil {
|
||||
return nil, fmt.Errorf("wait: %v", err)
|
||||
return nil, errors.Newf("wait: %v", err)
|
||||
}
|
||||
return diff, nil
|
||||
}
|
||||
@@ -327,9 +327,9 @@ func (r *Repository) DeleteRepoFile(doer *User, opts DeleteRepoFileOptions) (err
|
||||
defer repoWorkingPool.CheckOut(com.ToStr(r.ID))
|
||||
|
||||
if err = r.DiscardLocalRepoBranchChanges(opts.OldBranch); err != nil {
|
||||
return fmt.Errorf("discard local r branch[%s] changes: %v", opts.OldBranch, err)
|
||||
return errors.Newf("discard local r branch[%s] changes: %v", opts.OldBranch, err)
|
||||
} else if err = r.UpdateLocalCopyBranch(opts.OldBranch); err != nil {
|
||||
return fmt.Errorf("update local copy branch[%s]: %v", opts.OldBranch, err)
|
||||
return errors.Newf("update local copy branch[%s]: %v", opts.OldBranch, err)
|
||||
}
|
||||
|
||||
localPath := r.LocalCopyPath()
|
||||
@@ -342,17 +342,17 @@ func (r *Repository) DeleteRepoFile(doer *User, opts DeleteRepoFileOptions) (err
|
||||
|
||||
if opts.OldBranch != opts.NewBranch {
|
||||
if err := r.CheckoutNewBranch(opts.OldBranch, opts.NewBranch); err != nil {
|
||||
return fmt.Errorf("checkout new branch[%s] from old branch[%s]: %v", opts.NewBranch, opts.OldBranch, err)
|
||||
return errors.Newf("checkout new branch[%s] from old branch[%s]: %v", opts.NewBranch, opts.OldBranch, err)
|
||||
}
|
||||
}
|
||||
|
||||
filePath := path.Join(localPath, opts.TreePath)
|
||||
if err = os.Remove(filePath); err != nil {
|
||||
return fmt.Errorf("remove file %q: %v", opts.TreePath, err)
|
||||
return errors.Newf("remove file %q: %v", opts.TreePath, err)
|
||||
}
|
||||
|
||||
if err = git.Add(localPath, git.AddOptions{All: true}); err != nil {
|
||||
return fmt.Errorf("git add --all: %v", err)
|
||||
return errors.Newf("git add --all: %v", err)
|
||||
}
|
||||
|
||||
err = git.CreateCommit(
|
||||
@@ -365,7 +365,7 @@ func (r *Repository) DeleteRepoFile(doer *User, opts DeleteRepoFileOptions) (err
|
||||
opts.Message,
|
||||
)
|
||||
if err != nil {
|
||||
return fmt.Errorf("commit changes to %q: %v", localPath, err)
|
||||
return errors.Newf("commit changes to %q: %v", localPath, err)
|
||||
}
|
||||
|
||||
err = git.Push(localPath, "origin", opts.NewBranch,
|
||||
@@ -383,7 +383,7 @@ func (r *Repository) DeleteRepoFile(doer *User, opts DeleteRepoFileOptions) (err
|
||||
},
|
||||
)
|
||||
if err != nil {
|
||||
return fmt.Errorf("git push origin %s: %v", opts.NewBranch, err)
|
||||
return errors.Newf("git push origin %s: %v", opts.NewBranch, err)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
@@ -416,7 +416,7 @@ func (upload *Upload) LocalPath() string {
|
||||
// NewUpload creates a new upload object.
|
||||
func NewUpload(name string, buf []byte, file multipart.File) (_ *Upload, err error) {
|
||||
if tool.IsMaliciousPath(name) {
|
||||
return nil, fmt.Errorf("malicious path detected: %s", name)
|
||||
return nil, errors.Newf("malicious path detected: %s", name)
|
||||
}
|
||||
|
||||
upload := &Upload{
|
||||
@@ -426,19 +426,19 @@ func NewUpload(name string, buf []byte, file multipart.File) (_ *Upload, err err
|
||||
|
||||
localPath := upload.LocalPath()
|
||||
if err = os.MkdirAll(path.Dir(localPath), os.ModePerm); err != nil {
|
||||
return nil, fmt.Errorf("mkdir all: %v", err)
|
||||
return nil, errors.Newf("mkdir all: %v", err)
|
||||
}
|
||||
|
||||
fw, err := os.Create(localPath)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("create: %v", err)
|
||||
return nil, errors.Newf("create: %v", err)
|
||||
}
|
||||
defer func() { _ = fw.Close() }()
|
||||
|
||||
if _, err = fw.Write(buf); err != nil {
|
||||
return nil, fmt.Errorf("write: %v", err)
|
||||
return nil, errors.Newf("write: %v", err)
|
||||
} else if _, err = io.Copy(fw, file); err != nil {
|
||||
return nil, fmt.Errorf("copy: %v", err)
|
||||
return nil, errors.Newf("copy: %v", err)
|
||||
}
|
||||
|
||||
if _, err := x.Insert(upload); err != nil {
|
||||
@@ -485,7 +485,7 @@ func DeleteUploads(uploads ...*Upload) (err error) {
|
||||
ids[i] = uploads[i].ID
|
||||
}
|
||||
if _, err = sess.In("id", ids).Delete(new(Upload)); err != nil {
|
||||
return fmt.Errorf("delete uploads: %v", err)
|
||||
return errors.Newf("delete uploads: %v", err)
|
||||
}
|
||||
|
||||
for _, upload := range uploads {
|
||||
@@ -495,7 +495,7 @@ func DeleteUploads(uploads ...*Upload) (err error) {
|
||||
}
|
||||
|
||||
if err := os.Remove(localPath); err != nil {
|
||||
return fmt.Errorf("remove upload: %v", err)
|
||||
return errors.Newf("remove upload: %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -512,11 +512,11 @@ func DeleteUploadByUUID(uuid string) error {
|
||||
if IsErrUploadNotExist(err) {
|
||||
return nil
|
||||
}
|
||||
return fmt.Errorf("get upload by UUID[%s]: %v", uuid, err)
|
||||
return errors.Newf("get upload by UUID[%s]: %v", uuid, err)
|
||||
}
|
||||
|
||||
if err := DeleteUpload(upload); err != nil {
|
||||
return fmt.Errorf("delete upload: %v", err)
|
||||
return errors.Newf("delete upload: %v", err)
|
||||
}
|
||||
|
||||
return nil
|
||||
@@ -558,21 +558,21 @@ func (r *Repository) UploadRepoFiles(doer *User, opts UploadRepoFileOptions) err
|
||||
|
||||
uploads, err := GetUploadsByUUIDs(opts.Files)
|
||||
if err != nil {
|
||||
return fmt.Errorf("get uploads by UUIDs[%v]: %v", opts.Files, err)
|
||||
return errors.Newf("get uploads by UUIDs[%v]: %v", opts.Files, err)
|
||||
}
|
||||
|
||||
repoWorkingPool.CheckIn(com.ToStr(r.ID))
|
||||
defer repoWorkingPool.CheckOut(com.ToStr(r.ID))
|
||||
|
||||
if err = r.DiscardLocalRepoBranchChanges(opts.OldBranch); err != nil {
|
||||
return fmt.Errorf("discard local r branch[%s] changes: %v", opts.OldBranch, err)
|
||||
return errors.Newf("discard local r branch[%s] changes: %v", opts.OldBranch, err)
|
||||
} else if err = r.UpdateLocalCopyBranch(opts.OldBranch); err != nil {
|
||||
return fmt.Errorf("update local copy branch[%s]: %v", opts.OldBranch, err)
|
||||
return errors.Newf("update local copy branch[%s]: %v", opts.OldBranch, err)
|
||||
}
|
||||
|
||||
if opts.OldBranch != opts.NewBranch {
|
||||
if err = r.CheckoutNewBranch(opts.OldBranch, opts.NewBranch); err != nil {
|
||||
return fmt.Errorf("checkout new branch[%s] from old branch[%s]: %v", opts.NewBranch, opts.OldBranch, err)
|
||||
return errors.Newf("checkout new branch[%s] from old branch[%s]: %v", opts.NewBranch, opts.OldBranch, err)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -602,16 +602,16 @@ func (r *Repository) UploadRepoFiles(doer *User, opts UploadRepoFileOptions) err
|
||||
// 🚨 SECURITY: Prevent updating files in surprising place, check if the target
|
||||
// is a symlink.
|
||||
if osutil.IsSymlink(targetPath) {
|
||||
return fmt.Errorf("cannot overwrite symbolic link: %s", upload.Name)
|
||||
return errors.Newf("cannot overwrite symbolic link: %s", upload.Name)
|
||||
}
|
||||
|
||||
if err = com.Copy(tmpPath, targetPath); err != nil {
|
||||
return fmt.Errorf("copy: %v", err)
|
||||
return errors.Newf("copy: %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
if err = git.Add(localPath, git.AddOptions{All: true}); err != nil {
|
||||
return fmt.Errorf("git add --all: %v", err)
|
||||
return errors.Newf("git add --all: %v", err)
|
||||
}
|
||||
|
||||
err = git.CreateCommit(
|
||||
@@ -624,7 +624,7 @@ func (r *Repository) UploadRepoFiles(doer *User, opts UploadRepoFileOptions) err
|
||||
opts.Message,
|
||||
)
|
||||
if err != nil {
|
||||
return fmt.Errorf("commit changes on %q: %v", localPath, err)
|
||||
return errors.Newf("commit changes on %q: %v", localPath, err)
|
||||
}
|
||||
|
||||
err = git.Push(localPath, "origin", opts.NewBranch,
|
||||
@@ -642,7 +642,7 @@ func (r *Repository) UploadRepoFiles(doer *User, opts UploadRepoFileOptions) err
|
||||
},
|
||||
)
|
||||
if err != nil {
|
||||
return fmt.Errorf("git push origin %s: %v", opts.NewBranch, err)
|
||||
return errors.Newf("git push origin %s: %v", opts.NewBranch, err)
|
||||
}
|
||||
|
||||
return DeleteUploads(uploads...)
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
package database
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
|
||||
"github.com/cockroachdb/errors"
|
||||
"github.com/gogs/git-module"
|
||||
)
|
||||
|
||||
@@ -17,7 +16,7 @@ type Tag struct {
|
||||
func (ta *Tag) GetCommit() (*git.Commit, error) {
|
||||
gitRepo, err := git.Open(ta.RepoPath)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("open repository: %v", err)
|
||||
return nil, errors.Newf("open repository: %v", err)
|
||||
}
|
||||
return gitRepo.TagCommit(ta.Name)
|
||||
}
|
||||
@@ -25,12 +24,12 @@ func (ta *Tag) GetCommit() (*git.Commit, error) {
|
||||
func GetTagsByPath(path string) ([]*Tag, error) {
|
||||
gitRepo, err := git.Open(path)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("open repository: %v", err)
|
||||
return nil, errors.Newf("open repository: %v", err)
|
||||
}
|
||||
|
||||
names, err := gitRepo.Tags()
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("list tags")
|
||||
return nil, errors.Newf("list tags: %v", err)
|
||||
}
|
||||
|
||||
tags := make([]*Tag, len(names))
|
||||
|
||||
@@ -6,8 +6,8 @@ import (
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/cockroachdb/errors"
|
||||
api "github.com/gogs/go-gogs-client"
|
||||
"github.com/pkg/errors"
|
||||
"gorm.io/gorm"
|
||||
|
||||
"gogs.io/gogs/internal/errutil"
|
||||
|
||||
@@ -7,8 +7,8 @@ import (
|
||||
"sort"
|
||||
"strings"
|
||||
|
||||
"github.com/cockroachdb/errors"
|
||||
"github.com/olekukonko/tablewriter"
|
||||
"github.com/pkg/errors"
|
||||
"gopkg.in/DATA-DOG/go-sqlmock.v2"
|
||||
"gorm.io/driver/mysql"
|
||||
"gorm.io/driver/postgres"
|
||||
|
||||
@@ -4,7 +4,6 @@ import (
|
||||
"context"
|
||||
"encoding/base64"
|
||||
"encoding/binary"
|
||||
"errors"
|
||||
"fmt"
|
||||
"math/big"
|
||||
"os"
|
||||
@@ -14,6 +13,7 @@ import (
|
||||
"sync"
|
||||
"time"
|
||||
|
||||
"github.com/cockroachdb/errors"
|
||||
"github.com/unknwon/com"
|
||||
"golang.org/x/crypto/ssh"
|
||||
log "unknwon.dev/clog/v2"
|
||||
@@ -92,12 +92,12 @@ func (k *PublicKey) IsDeployKey() bool {
|
||||
func extractTypeFromBase64Key(key string) (string, error) {
|
||||
b, err := base64.StdEncoding.DecodeString(key)
|
||||
if err != nil || len(b) < 4 {
|
||||
return "", fmt.Errorf("invalid key format: %v", err)
|
||||
return "", errors.Newf("invalid key format: %v", err)
|
||||
}
|
||||
|
||||
keyLength := int(binary.BigEndian.Uint32(b))
|
||||
if len(b) < 4+keyLength {
|
||||
return "", fmt.Errorf("invalid key format: not enough length %d", keyLength)
|
||||
return "", errors.Newf("invalid key format: not enough length %d", keyLength)
|
||||
}
|
||||
|
||||
return string(b[4 : 4+keyLength]), nil
|
||||
@@ -141,12 +141,12 @@ func parseKeyString(content string) (string, error) {
|
||||
// If keyType is not given, extract it from content. If given, validate it.
|
||||
t, err := extractTypeFromBase64Key(keyContent)
|
||||
if err != nil {
|
||||
return "", fmt.Errorf("extractTypeFromBase64Key: %v", err)
|
||||
return "", errors.Newf("extractTypeFromBase64Key: %v", err)
|
||||
}
|
||||
if keyType == "" {
|
||||
keyType = t
|
||||
} else if keyType != t {
|
||||
return "", fmt.Errorf("key type and content does not match: %s - %s", keyType, t)
|
||||
return "", errors.Newf("key type and content does not match: %s - %s", keyType, t)
|
||||
}
|
||||
} else {
|
||||
// Parse SSH2 file format.
|
||||
@@ -166,7 +166,7 @@ func parseKeyString(content string) (string, error) {
|
||||
|
||||
t, err := extractTypeFromBase64Key(keyContent)
|
||||
if err != nil {
|
||||
return "", fmt.Errorf("extractTypeFromBase64Key: %v", err)
|
||||
return "", errors.Newf("extractTypeFromBase64Key: %v", err)
|
||||
}
|
||||
keyType = t
|
||||
}
|
||||
@@ -178,12 +178,12 @@ func parseKeyString(content string) (string, error) {
|
||||
func writeTmpKeyFile(content string) (string, error) {
|
||||
tmpFile, err := os.CreateTemp(conf.SSH.KeyTestPath, "gogs_keytest")
|
||||
if err != nil {
|
||||
return "", fmt.Errorf("TempFile: %v", err)
|
||||
return "", errors.Newf("TempFile: %v", err)
|
||||
}
|
||||
defer tmpFile.Close()
|
||||
|
||||
if _, err = tmpFile.WriteString(content); err != nil {
|
||||
return "", fmt.Errorf("WriteString: %v", err)
|
||||
return "", errors.Newf("WriteString: %v", err)
|
||||
}
|
||||
return tmpFile.Name(), nil
|
||||
}
|
||||
@@ -192,13 +192,13 @@ func writeTmpKeyFile(content string) (string, error) {
|
||||
func SSHKeyGenParsePublicKey(key string) (string, int, error) {
|
||||
tmpName, err := writeTmpKeyFile(key)
|
||||
if err != nil {
|
||||
return "", 0, fmt.Errorf("writeTmpKeyFile: %v", err)
|
||||
return "", 0, errors.Newf("writeTmpKeyFile: %v", err)
|
||||
}
|
||||
defer os.Remove(tmpName)
|
||||
|
||||
stdout, stderr, err := process.Exec("SSHKeyGenParsePublicKey", conf.SSH.KeygenPath, "-lf", tmpName)
|
||||
if err != nil {
|
||||
return "", 0, fmt.Errorf("fail to parse public key: %s - %s", err, stderr)
|
||||
return "", 0, errors.Newf("fail to parse public key: %s - %s", err, stderr)
|
||||
}
|
||||
if strings.Contains(stdout, "is not a public key file") {
|
||||
return "", 0, ErrKeyUnableVerify{stdout}
|
||||
@@ -206,7 +206,7 @@ func SSHKeyGenParsePublicKey(key string) (string, int, error) {
|
||||
|
||||
fields := strings.Split(stdout, " ")
|
||||
if len(fields) < 4 {
|
||||
return "", 0, fmt.Errorf("invalid public key line: %s", stdout)
|
||||
return "", 0, errors.Newf("invalid public key line: %s", stdout)
|
||||
}
|
||||
|
||||
keyType := strings.Trim(fields[len(fields)-1], "()\r\n")
|
||||
@@ -217,7 +217,7 @@ func SSHKeyGenParsePublicKey(key string) (string, int, error) {
|
||||
func SSHNativeParsePublicKey(keyLine string) (string, int, error) {
|
||||
fields := strings.Fields(keyLine)
|
||||
if len(fields) < 2 {
|
||||
return "", 0, fmt.Errorf("not enough fields in public key line: %s", keyLine)
|
||||
return "", 0, errors.Newf("not enough fields in public key line: %s", keyLine)
|
||||
}
|
||||
|
||||
raw, err := base64.StdEncoding.DecodeString(fields[1])
|
||||
@@ -230,7 +230,7 @@ func SSHNativeParsePublicKey(keyLine string) (string, int, error) {
|
||||
if strings.Contains(err.Error(), "ssh: unknown key algorithm") {
|
||||
return "", 0, ErrKeyUnableVerify{err.Error()}
|
||||
}
|
||||
return "", 0, fmt.Errorf("ParsePublicKey: %v", err)
|
||||
return "", 0, errors.Newf("ParsePublicKey: %v", err)
|
||||
}
|
||||
|
||||
// The ssh library can parse the key, so next we find out what key exactly we have.
|
||||
@@ -265,7 +265,7 @@ func SSHNativeParsePublicKey(keyLine string) (string, int, error) {
|
||||
case ssh.KeyAlgoED25519:
|
||||
return "ed25519", 256, nil
|
||||
}
|
||||
return "", 0, fmt.Errorf("unsupported key length detection for type: %s", pkey.Type())
|
||||
return "", 0, errors.Newf("unsupported key length detection for type: %s", pkey.Type())
|
||||
}
|
||||
|
||||
// CheckPublicKeyString checks if the given public key string is recognized by SSH.
|
||||
@@ -305,16 +305,16 @@ func CheckPublicKeyString(content string) (_ string, err error) {
|
||||
keyType, length, err = SSHKeyGenParsePublicKey(content)
|
||||
}
|
||||
if err != nil {
|
||||
return "", fmt.Errorf("%s: %v", fnName, err)
|
||||
return "", errors.Newf("%s: %v", fnName, err)
|
||||
}
|
||||
log.Trace("Key info [native: %v]: %s-%d", conf.SSH.StartBuiltinServer, keyType, length)
|
||||
|
||||
if minLen, found := conf.SSH.MinimumKeySizes[keyType]; found && length >= minLen {
|
||||
return content, nil
|
||||
} else if found && length < minLen {
|
||||
return "", fmt.Errorf("key length is not enough: got %d, needs %d", length, minLen)
|
||||
return "", errors.Newf("key length is not enough: got %d, needs %d", length, minLen)
|
||||
}
|
||||
return "", fmt.Errorf("key type is not allowed: %s", keyType)
|
||||
return "", errors.Newf("key type is not allowed: %s", keyType)
|
||||
}
|
||||
|
||||
// appendAuthorizedKeysToFile appends new SSH keys' content to authorized_keys file.
|
||||
@@ -378,7 +378,7 @@ func addKey(e Engine, key *PublicKey) (err error) {
|
||||
|
||||
stdout, stderr, err := process.Exec("AddPublicKey", conf.SSH.KeygenPath, "-lf", tmpPath)
|
||||
if err != nil {
|
||||
return fmt.Errorf("fail to parse public key: %s - %s", err, stderr)
|
||||
return errors.Newf("fail to parse public key: %s - %s", err, stderr)
|
||||
} else if len(stdout) < 2 {
|
||||
return errors.New("not enough output for calculating fingerprint: " + stdout)
|
||||
}
|
||||
@@ -425,7 +425,7 @@ func AddPublicKey(ownerID int64, name, content string) (*PublicKey, error) {
|
||||
Type: KeyTypeUser,
|
||||
}
|
||||
if err = addKey(sess, key); err != nil {
|
||||
return nil, fmt.Errorf("addKey: %v", err)
|
||||
return nil, errors.Newf("addKey: %v", err)
|
||||
}
|
||||
|
||||
return key, sess.Commit()
|
||||
@@ -486,7 +486,7 @@ func DeletePublicKey(doer *User, id int64) (err error) {
|
||||
if IsErrKeyNotExist(err) {
|
||||
return nil
|
||||
}
|
||||
return fmt.Errorf("GetPublicKeyByID: %v", err)
|
||||
return errors.Newf("GetPublicKeyByID: %v", err)
|
||||
}
|
||||
|
||||
// Check if user has access to delete this key.
|
||||
@@ -671,13 +671,13 @@ func AddDeployKey(repoID int64, name, content string) (*DeployKey, error) {
|
||||
// First time use this deploy key.
|
||||
if !has {
|
||||
if err = addKey(sess, pkey); err != nil {
|
||||
return nil, fmt.Errorf("addKey: %v", err)
|
||||
return nil, errors.Newf("addKey: %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
key, err := addDeployKey(sess, pkey.ID, repoID, name, pkey.Fingerprint)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("addDeployKey: %v", err)
|
||||
return nil, errors.Newf("addDeployKey: %v", err)
|
||||
}
|
||||
|
||||
return key, sess.Commit()
|
||||
@@ -742,14 +742,14 @@ func DeleteDeployKey(doer *User, id int64) error {
|
||||
if IsErrDeployKeyNotExist(err) {
|
||||
return nil
|
||||
}
|
||||
return fmt.Errorf("GetDeployKeyByID: %v", err)
|
||||
return errors.Newf("GetDeployKeyByID: %v", err)
|
||||
}
|
||||
|
||||
// Check if user has access to delete this key.
|
||||
if !doer.IsAdmin {
|
||||
repo, err := GetRepositoryByID(key.RepoID)
|
||||
if err != nil {
|
||||
return fmt.Errorf("GetRepositoryByID: %v", err)
|
||||
return errors.Newf("GetRepositoryByID: %v", err)
|
||||
}
|
||||
if !Handle.Permissions().Authorize(context.TODO(), doer.ID, repo.ID, AccessModeAdmin,
|
||||
AccessModeOptions{
|
||||
@@ -768,7 +768,7 @@ func DeleteDeployKey(doer *User, id int64) error {
|
||||
}
|
||||
|
||||
if _, err = sess.ID(key.ID).Delete(new(DeployKey)); err != nil {
|
||||
return fmt.Errorf("delete deploy key [%d]: %v", key.ID, err)
|
||||
return errors.Newf("delete deploy key [%d]: %v", key.ID, err)
|
||||
}
|
||||
|
||||
// Check if this is the last reference to same key content.
|
||||
|
||||
@@ -5,6 +5,7 @@ import (
|
||||
"fmt"
|
||||
"time"
|
||||
|
||||
"github.com/cockroachdb/errors"
|
||||
"github.com/pquerna/otp/totp"
|
||||
"github.com/unknwon/com"
|
||||
|
||||
@@ -26,11 +27,11 @@ type TwoFactor struct {
|
||||
func (t *TwoFactor) ValidateTOTP(passcode string) (bool, error) {
|
||||
secret, err := base64.StdEncoding.DecodeString(t.Secret)
|
||||
if err != nil {
|
||||
return false, fmt.Errorf("DecodeString: %v", err)
|
||||
return false, errors.Newf("DecodeString: %v", err)
|
||||
}
|
||||
decryptSecret, err := com.AESGCMDecrypt(cryptoutil.MD5Bytes(conf.Security.SecretKey), secret)
|
||||
if err != nil {
|
||||
return false, fmt.Errorf("AESGCMDecrypt: %v", err)
|
||||
return false, errors.Newf("AESGCMDecrypt: %v", err)
|
||||
}
|
||||
return totp.Validate(passcode, string(decryptSecret)), nil
|
||||
}
|
||||
@@ -44,9 +45,9 @@ func DeleteTwoFactor(userID int64) (err error) {
|
||||
}
|
||||
|
||||
if _, err = sess.Where("user_id = ?", userID).Delete(new(TwoFactor)); err != nil {
|
||||
return fmt.Errorf("delete two-factor: %v", err)
|
||||
return errors.Newf("delete two-factor: %v", err)
|
||||
} else if err = deleteRecoveryCodesByUserID(sess, userID); err != nil {
|
||||
return fmt.Errorf("deleteRecoveryCodesByUserID: %v", err)
|
||||
return errors.Newf("deleteRecoveryCodesByUserID: %v", err)
|
||||
}
|
||||
|
||||
return sess.Commit()
|
||||
@@ -75,7 +76,7 @@ func deleteRecoveryCodesByUserID(e Engine, userID int64) error {
|
||||
func RegenerateRecoveryCodes(userID int64) error {
|
||||
recoveryCodes, err := generateRecoveryCodes(userID, 10)
|
||||
if err != nil {
|
||||
return fmt.Errorf("generateRecoveryCodes: %v", err)
|
||||
return errors.Newf("generateRecoveryCodes: %v", err)
|
||||
}
|
||||
|
||||
sess := x.NewSession()
|
||||
@@ -85,9 +86,9 @@ func RegenerateRecoveryCodes(userID int64) error {
|
||||
}
|
||||
|
||||
if err = deleteRecoveryCodesByUserID(sess, userID); err != nil {
|
||||
return fmt.Errorf("deleteRecoveryCodesByUserID: %v", err)
|
||||
return errors.Newf("deleteRecoveryCodesByUserID: %v", err)
|
||||
} else if _, err = sess.Insert(recoveryCodes); err != nil {
|
||||
return fmt.Errorf("insert new recovery codes: %v", err)
|
||||
return errors.Newf("insert new recovery codes: %v", err)
|
||||
}
|
||||
|
||||
return sess.Commit()
|
||||
@@ -111,14 +112,14 @@ func UseRecoveryCode(_ int64, code string) error {
|
||||
recoveryCode := new(TwoFactorRecoveryCode)
|
||||
has, err := x.Where("code = ?", code).And("is_used = ?", false).Get(recoveryCode)
|
||||
if err != nil {
|
||||
return fmt.Errorf("get unused code: %v", err)
|
||||
return errors.Newf("get unused code: %v", err)
|
||||
} else if !has {
|
||||
return ErrTwoFactorRecoveryCodeNotFound{Code: code}
|
||||
}
|
||||
|
||||
recoveryCode.IsUsed = true
|
||||
if _, err = x.Id(recoveryCode.ID).Cols("is_used").Update(recoveryCode); err != nil {
|
||||
return fmt.Errorf("mark code as used: %v", err)
|
||||
return errors.Newf("mark code as used: %v", err)
|
||||
}
|
||||
|
||||
return nil
|
||||
|
||||
@@ -7,7 +7,7 @@ import (
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/pkg/errors"
|
||||
"github.com/cockroachdb/errors"
|
||||
"gorm.io/gorm"
|
||||
log "unknwon.dev/clog/v2"
|
||||
|
||||
|
||||
@@ -2,12 +2,11 @@ package database
|
||||
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
"os/exec"
|
||||
"strings"
|
||||
|
||||
"github.com/cockroachdb/errors"
|
||||
"github.com/gogs/git-module"
|
||||
"github.com/pkg/errors"
|
||||
)
|
||||
|
||||
// CommitToPushCommit transforms a git.Commit to PushCommit type.
|
||||
@@ -53,7 +52,7 @@ func PushUpdate(opts PushUpdateOptions) (err error) {
|
||||
isNewRef := strings.HasPrefix(opts.OldCommitID, git.EmptyID)
|
||||
isDelRef := strings.HasPrefix(opts.NewCommitID, git.EmptyID)
|
||||
if isNewRef && isDelRef {
|
||||
return fmt.Errorf("both old and new revisions are %q", git.EmptyID)
|
||||
return errors.Newf("both old and new revisions are %q", git.EmptyID)
|
||||
}
|
||||
|
||||
repoPath := RepoPath(opts.RepoUserName, opts.RepoName)
|
||||
@@ -61,26 +60,26 @@ 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("run 'git update-server-info': %v", err)
|
||||
return errors.Newf("run 'git update-server-info': %v", err)
|
||||
}
|
||||
|
||||
gitRepo, err := git.Open(repoPath)
|
||||
if err != nil {
|
||||
return fmt.Errorf("open repository: %v", err)
|
||||
return errors.Newf("open repository: %v", err)
|
||||
}
|
||||
|
||||
owner, err := Handle.Users().GetByUsername(ctx, opts.RepoUserName)
|
||||
if err != nil {
|
||||
return fmt.Errorf("GetUserByName: %v", err)
|
||||
return errors.Newf("GetUserByName: %v", err)
|
||||
}
|
||||
|
||||
repo, err := GetRepositoryByName(owner.ID, opts.RepoName)
|
||||
if err != nil {
|
||||
return fmt.Errorf("GetRepositoryByName: %v", err)
|
||||
return errors.Newf("GetRepositoryByName: %v", err)
|
||||
}
|
||||
|
||||
if err = repo.UpdateSize(); err != nil {
|
||||
return fmt.Errorf("UpdateSize: %v", err)
|
||||
return errors.Newf("UpdateSize: %v", err)
|
||||
}
|
||||
|
||||
// Push tags
|
||||
@@ -106,19 +105,19 @@ func PushUpdate(opts PushUpdateOptions) (err error) {
|
||||
// Push new branch
|
||||
newCommit, err := gitRepo.CatFileCommit(opts.NewCommitID)
|
||||
if err != nil {
|
||||
return fmt.Errorf("GetCommit [commit_id: %s]: %v", opts.NewCommitID, err)
|
||||
return errors.Newf("GetCommit [commit_id: %s]: %v", opts.NewCommitID, err)
|
||||
}
|
||||
|
||||
if isNewRef {
|
||||
commits, err = newCommit.Ancestors(git.LogOptions{MaxCount: 9})
|
||||
if err != nil {
|
||||
return fmt.Errorf("CommitsBeforeLimit [commit_id: %s]: %v", newCommit.ID, err)
|
||||
return errors.Newf("CommitsBeforeLimit [commit_id: %s]: %v", newCommit.ID, err)
|
||||
}
|
||||
commits = append([]*git.Commit{newCommit}, commits...)
|
||||
} else {
|
||||
commits, err = newCommit.CommitsAfter(opts.OldCommitID)
|
||||
if err != nil {
|
||||
return fmt.Errorf("CommitsBeforeUntil [commit_id: %s]: %v", opts.OldCommitID, err)
|
||||
return errors.Newf("CommitsBeforeUntil [commit_id: %s]: %v", opts.OldCommitID, err)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -9,9 +9,9 @@ import (
|
||||
"time"
|
||||
"unicode/utf8"
|
||||
|
||||
"github.com/cockroachdb/errors"
|
||||
"github.com/go-macaron/binding"
|
||||
api "github.com/gogs/go-gogs-client"
|
||||
"github.com/pkg/errors"
|
||||
"gorm.io/gorm"
|
||||
log "unknwon.dev/clog/v2"
|
||||
|
||||
@@ -130,7 +130,7 @@ func (s *UsersStore) Authenticate(ctx context.Context, login, password string, l
|
||||
|
||||
// Validate username make sure it satisfies requirement.
|
||||
if binding.AlphaDashDotPattern.MatchString(extAccount.Name) {
|
||||
return nil, fmt.Errorf("invalid pattern for attribute 'username' [%s]: must be valid alpha or numeric or dash(-_) or dot characters", extAccount.Name)
|
||||
return nil, errors.Newf("invalid pattern for attribute 'username' [%s]: must be valid alpha or numeric or dash(-_) or dot characters", extAccount.Name)
|
||||
}
|
||||
|
||||
return s.Create(ctx, extAccount.Name, extAccount.Email,
|
||||
|
||||
@@ -11,6 +11,7 @@ import (
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/cockroachdb/errors"
|
||||
jsoniter "github.com/json-iterator/go"
|
||||
gouuid "github.com/satori/go.uuid"
|
||||
log "unknwon.dev/clog/v2"
|
||||
@@ -605,17 +606,17 @@ func prepareHookTasks(e Engine, repo *Repository, event HookEventType, p api.Pay
|
||||
case SLACK:
|
||||
payloader, err = GetSlackPayload(p, event, w.Meta)
|
||||
if err != nil {
|
||||
return fmt.Errorf("GetSlackPayload: %v", err)
|
||||
return errors.Newf("GetSlackPayload: %v", err)
|
||||
}
|
||||
case DISCORD:
|
||||
payloader, err = GetDiscordPayload(p, event, w.Meta)
|
||||
if err != nil {
|
||||
return fmt.Errorf("GetDiscordPayload: %v", err)
|
||||
return errors.Newf("GetDiscordPayload: %v", err)
|
||||
}
|
||||
case DINGTALK:
|
||||
payloader, err = GetDingtalkPayload(p, event)
|
||||
if err != nil {
|
||||
return fmt.Errorf("GetDingtalkPayload: %v", err)
|
||||
return errors.Newf("GetDingtalkPayload: %v", err)
|
||||
}
|
||||
default:
|
||||
payloader = p
|
||||
@@ -643,7 +644,7 @@ func prepareHookTasks(e Engine, repo *Repository, event HookEventType, p api.Pay
|
||||
EventType: event,
|
||||
IsSSL: w.IsSSL,
|
||||
}); err != nil {
|
||||
return fmt.Errorf("createHookTask: %v", err)
|
||||
return errors.Newf("createHookTask: %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -657,7 +658,7 @@ func prepareHookTasks(e Engine, repo *Repository, event HookEventType, p api.Pay
|
||||
func prepareWebhooks(e Engine, repo *Repository, event HookEventType, p api.Payloader) error {
|
||||
webhooks, err := getActiveWebhooksByRepoID(e, repo.ID)
|
||||
if err != nil {
|
||||
return fmt.Errorf("getActiveWebhooksByRepoID [%d]: %v", repo.ID, err)
|
||||
return errors.Newf("getActiveWebhooksByRepoID [%d]: %v", repo.ID, err)
|
||||
}
|
||||
|
||||
// check if repo belongs to org and append additional webhooks
|
||||
@@ -665,7 +666,7 @@ func prepareWebhooks(e Engine, repo *Repository, event HookEventType, p api.Payl
|
||||
// get hooks for org
|
||||
orgws, err := getActiveWebhooksByOrgID(e, repo.OwnerID)
|
||||
if err != nil {
|
||||
return fmt.Errorf("getActiveWebhooksByOrgID [%d]: %v", repo.OwnerID, err)
|
||||
return errors.Newf("getActiveWebhooksByOrgID [%d]: %v", repo.OwnerID, err)
|
||||
}
|
||||
webhooks = append(webhooks, orgws...)
|
||||
}
|
||||
@@ -686,7 +687,7 @@ func PrepareWebhooks(repo *Repository, event HookEventType, p api.Payloader) err
|
||||
func TestWebhook(repo *Repository, event HookEventType, p api.Payloader, webhookID int64) error {
|
||||
webhook, err := GetWebhookOfRepoByID(repo.ID, webhookID)
|
||||
if err != nil {
|
||||
return fmt.Errorf("GetWebhookOfRepoByID [repo_id: %d, id: %d]: %v", repo.ID, webhookID, err)
|
||||
return errors.Newf("GetWebhookOfRepoByID [repo_id: %d, id: %d]: %v", repo.ID, webhookID, err)
|
||||
}
|
||||
return prepareHookTasks(x, repo, event, p, []*Webhook{webhook})
|
||||
}
|
||||
|
||||
@@ -4,8 +4,8 @@ import (
|
||||
"fmt"
|
||||
"strings"
|
||||
|
||||
"github.com/cockroachdb/errors"
|
||||
jsoniter "github.com/json-iterator/go"
|
||||
"github.com/pkg/errors"
|
||||
|
||||
"github.com/gogs/git-module"
|
||||
api "github.com/gogs/go-gogs-client"
|
||||
|
||||
@@ -5,8 +5,8 @@ import (
|
||||
"strconv"
|
||||
"strings"
|
||||
|
||||
"github.com/cockroachdb/errors"
|
||||
jsoniter "github.com/json-iterator/go"
|
||||
"github.com/pkg/errors"
|
||||
|
||||
"github.com/gogs/git-module"
|
||||
api "github.com/gogs/go-gogs-client"
|
||||
@@ -370,7 +370,7 @@ func getDiscordReleasePayload(p *api.ReleasePayload) *DiscordPayload {
|
||||
func GetDiscordPayload(p api.Payloader, event HookEventType, meta string) (payload *DiscordPayload, err error) {
|
||||
slack := &SlackMeta{}
|
||||
if err := jsoniter.Unmarshal([]byte(meta), &slack); err != nil {
|
||||
return nil, fmt.Errorf("jsoniter.Unmarshal: %v", err)
|
||||
return nil, errors.Newf("jsoniter.Unmarshal: %v", err)
|
||||
}
|
||||
|
||||
switch event {
|
||||
|
||||
@@ -4,8 +4,8 @@ import (
|
||||
"fmt"
|
||||
"strings"
|
||||
|
||||
"github.com/cockroachdb/errors"
|
||||
jsoniter "github.com/json-iterator/go"
|
||||
"github.com/pkg/errors"
|
||||
|
||||
"github.com/gogs/git-module"
|
||||
api "github.com/gogs/go-gogs-client"
|
||||
@@ -287,7 +287,7 @@ func getSlackReleasePayload(p *api.ReleasePayload) *SlackPayload {
|
||||
func GetSlackPayload(p api.Payloader, event HookEventType, meta string) (payload *SlackPayload, err error) {
|
||||
slack := &SlackMeta{}
|
||||
if err := jsoniter.Unmarshal([]byte(meta), &slack); err != nil {
|
||||
return nil, fmt.Errorf("unmarshal: %v", err)
|
||||
return nil, errors.Newf("unmarshal: %v", err)
|
||||
}
|
||||
|
||||
switch event {
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
package database
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"net/url"
|
||||
"os"
|
||||
"path"
|
||||
@@ -9,6 +8,7 @@ import (
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/cockroachdb/errors"
|
||||
"github.com/unknwon/com"
|
||||
|
||||
"github.com/gogs/git-module"
|
||||
@@ -71,9 +71,9 @@ func (r *Repository) InitWiki() error {
|
||||
}
|
||||
|
||||
if err := git.Init(r.WikiPath(), git.InitOptions{Bare: true}); err != nil {
|
||||
return fmt.Errorf("init repository: %v", err)
|
||||
return errors.Newf("init repository: %v", err)
|
||||
} else if err = createDelegateHooks(r.WikiPath()); err != nil {
|
||||
return fmt.Errorf("createDelegateHooks: %v", err)
|
||||
return errors.Newf("createDelegateHooks: %v", err)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
@@ -98,14 +98,14 @@ func (r *Repository) updateWikiPage(doer *User, oldTitle, title, content, messag
|
||||
defer wikiWorkingPool.CheckOut(com.ToStr(r.ID))
|
||||
|
||||
if err = r.InitWiki(); err != nil {
|
||||
return fmt.Errorf("InitWiki: %v", err)
|
||||
return errors.Newf("InitWiki: %v", err)
|
||||
}
|
||||
|
||||
localPath := r.LocalWikiPath()
|
||||
if err = discardLocalWikiChanges(localPath); err != nil {
|
||||
return fmt.Errorf("discardLocalWikiChanges: %v", err)
|
||||
return errors.Newf("discardLocalWikiChanges: %v", err)
|
||||
} else if err = r.UpdateLocalWiki(); err != nil {
|
||||
return fmt.Errorf("UpdateLocalWiki: %v", err)
|
||||
return errors.Newf("UpdateLocalWiki: %v", err)
|
||||
}
|
||||
|
||||
title = ToWikiPageName(title)
|
||||
@@ -128,14 +128,14 @@ func (r *Repository) updateWikiPage(doer *User, oldTitle, title, content, messag
|
||||
os.Remove(filename)
|
||||
|
||||
if err = os.WriteFile(filename, []byte(content), 0o666); err != nil {
|
||||
return fmt.Errorf("WriteFile: %v", err)
|
||||
return errors.Newf("WriteFile: %v", err)
|
||||
}
|
||||
|
||||
if message == "" {
|
||||
message = "Update page '" + title + "'"
|
||||
}
|
||||
if err = git.Add(localPath, git.AddOptions{All: true}); err != nil {
|
||||
return fmt.Errorf("add all changes: %v", err)
|
||||
return errors.Newf("add all changes: %v", err)
|
||||
}
|
||||
|
||||
err = git.CreateCommit(
|
||||
@@ -148,9 +148,9 @@ func (r *Repository) updateWikiPage(doer *User, oldTitle, title, content, messag
|
||||
message,
|
||||
)
|
||||
if err != nil {
|
||||
return fmt.Errorf("commit changes: %v", err)
|
||||
return errors.Newf("commit changes: %v", err)
|
||||
} else if err = git.Push(localPath, "origin", WikiBranch(localPath)); err != nil {
|
||||
return fmt.Errorf("push: %v", err)
|
||||
return errors.Newf("push: %v", err)
|
||||
}
|
||||
|
||||
return nil
|
||||
@@ -170,9 +170,9 @@ func (r *Repository) DeleteWikiPage(doer *User, title string) (err error) {
|
||||
|
||||
localPath := r.LocalWikiPath()
|
||||
if err = discardLocalWikiChanges(localPath); err != nil {
|
||||
return fmt.Errorf("discardLocalWikiChanges: %v", err)
|
||||
return errors.Newf("discardLocalWikiChanges: %v", err)
|
||||
} else if err = r.UpdateLocalWiki(); err != nil {
|
||||
return fmt.Errorf("UpdateLocalWiki: %v", err)
|
||||
return errors.Newf("UpdateLocalWiki: %v", err)
|
||||
}
|
||||
|
||||
title = ToWikiPageName(title)
|
||||
@@ -182,7 +182,7 @@ func (r *Repository) DeleteWikiPage(doer *User, title string) (err error) {
|
||||
message := "Delete page '" + title + "'"
|
||||
|
||||
if err = git.Add(localPath, git.AddOptions{All: true}); err != nil {
|
||||
return fmt.Errorf("add all changes: %v", err)
|
||||
return errors.Newf("add all changes: %v", err)
|
||||
}
|
||||
|
||||
err = git.CreateCommit(
|
||||
@@ -195,9 +195,9 @@ func (r *Repository) DeleteWikiPage(doer *User, title string) (err error) {
|
||||
message,
|
||||
)
|
||||
if err != nil {
|
||||
return fmt.Errorf("commit changes: %v", err)
|
||||
return errors.Newf("commit changes: %v", err)
|
||||
} else if err = git.Push(localPath, "origin", WikiBranch(localPath)); err != nil {
|
||||
return fmt.Errorf("push: %v", err)
|
||||
return errors.Newf("push: %v", err)
|
||||
}
|
||||
|
||||
return nil
|
||||
|
||||
@@ -4,7 +4,7 @@ import (
|
||||
"fmt"
|
||||
"strings"
|
||||
|
||||
"github.com/pkg/errors"
|
||||
"github.com/cockroachdb/errors"
|
||||
"gorm.io/driver/mysql"
|
||||
"gorm.io/driver/postgres"
|
||||
"gorm.io/driver/sqlite"
|
||||
|
||||
@@ -2,7 +2,6 @@ package email
|
||||
|
||||
import (
|
||||
"crypto/tls"
|
||||
"fmt"
|
||||
"io"
|
||||
"net"
|
||||
"net/smtp"
|
||||
@@ -10,6 +9,7 @@ import (
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/cockroachdb/errors"
|
||||
"github.com/jaytaylor/html2text"
|
||||
"gopkg.in/gomail.v2"
|
||||
log "unknwon.dev/clog/v2"
|
||||
@@ -85,7 +85,7 @@ func (a *loginAuth) Next(fromServer []byte, more bool) ([]byte, error) {
|
||||
case "Password:":
|
||||
return []byte(a.password), nil
|
||||
default:
|
||||
return nil, fmt.Errorf("unknwon fromServer: %s", string(fromServer))
|
||||
return nil, errors.Newf("unknwon fromServer: %s", string(fromServer))
|
||||
}
|
||||
}
|
||||
return nil, nil
|
||||
@@ -129,7 +129,7 @@ func (*Sender) Send(from string, to []string, msg io.WriterTo) error {
|
||||
|
||||
client, err := smtp.NewClient(conn, host)
|
||||
if err != nil {
|
||||
return fmt.Errorf("NewClient: %v", err)
|
||||
return errors.Newf("NewClient: %v", err)
|
||||
}
|
||||
|
||||
if !opts.DisableHELO {
|
||||
@@ -142,7 +142,7 @@ func (*Sender) Send(from string, to []string, msg io.WriterTo) error {
|
||||
}
|
||||
|
||||
if err = client.Hello(hostname); err != nil {
|
||||
return fmt.Errorf("hello: %v", err)
|
||||
return errors.Newf("hello: %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -150,7 +150,7 @@ func (*Sender) Send(from string, to []string, msg io.WriterTo) error {
|
||||
hasStartTLS, _ := client.Extension("STARTTLS")
|
||||
if !isSecureConn && hasStartTLS {
|
||||
if err = client.StartTLS(tlsconfig); err != nil {
|
||||
return fmt.Errorf("StartTLS: %v", err)
|
||||
return errors.Newf("StartTLS: %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -169,28 +169,28 @@ func (*Sender) Send(from string, to []string, msg io.WriterTo) error {
|
||||
|
||||
if auth != nil {
|
||||
if err = client.Auth(auth); err != nil {
|
||||
return fmt.Errorf("auth: %v", err)
|
||||
return errors.Newf("auth: %v", err)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if err = client.Mail(from); err != nil {
|
||||
return fmt.Errorf("mail: %v", err)
|
||||
return errors.Newf("mail: %v", err)
|
||||
}
|
||||
|
||||
for _, rec := range to {
|
||||
if err = client.Rcpt(rec); err != nil {
|
||||
return fmt.Errorf("rcpt: %v", err)
|
||||
return errors.Newf("rcpt: %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
w, err := client.Data()
|
||||
if err != nil {
|
||||
return fmt.Errorf("data: %v", err)
|
||||
return errors.Newf("data: %v", err)
|
||||
} else if _, err = msg.WriteTo(w); err != nil {
|
||||
return fmt.Errorf("write to: %v", err)
|
||||
return errors.Newf("write to: %v", err)
|
||||
} else if err = w.Close(); err != nil {
|
||||
return fmt.Errorf("close: %v", err)
|
||||
return errors.Newf("close: %v", err)
|
||||
}
|
||||
|
||||
return client.Quit()
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
package errutil
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"testing"
|
||||
|
||||
"github.com/cockroachdb/errors"
|
||||
"github.com/stretchr/testify/assert"
|
||||
)
|
||||
|
||||
|
||||
@@ -2,12 +2,12 @@ package gitutil
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"fmt"
|
||||
"html"
|
||||
"html/template"
|
||||
"io"
|
||||
"sync"
|
||||
|
||||
"github.com/cockroachdb/errors"
|
||||
"github.com/sergi/go-diff/diffmatchpatch"
|
||||
"golang.org/x/net/html/charset"
|
||||
"golang.org/x/text/transform"
|
||||
@@ -176,7 +176,7 @@ func ParseDiff(r io.Reader, maxFiles, maxFileLines, maxLineChars int) (*Diff, er
|
||||
|
||||
result := <-done
|
||||
if result.Err != nil {
|
||||
return nil, fmt.Errorf("stream parse diff: %v", result.Err)
|
||||
return nil, errors.Newf("stream parse diff: %v", result.Err)
|
||||
}
|
||||
return NewDiff(result.Diff), nil
|
||||
}
|
||||
@@ -185,7 +185,7 @@ func ParseDiff(r io.Reader, maxFiles, maxFileLines, maxLineChars int) (*Diff, er
|
||||
func RepoDiff(repo *git.Repository, rev string, maxFiles, maxFileLines, maxLineChars int, opts ...git.DiffOptions) (*Diff, error) {
|
||||
diff, err := repo.Diff(rev, maxFiles, maxFileLines, maxLineChars, opts...)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("get diff: %v", err)
|
||||
return nil, errors.Newf("get diff: %v", err)
|
||||
}
|
||||
return NewDiff(diff), nil
|
||||
}
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
package gitutil
|
||||
|
||||
import (
|
||||
"github.com/cockroachdb/errors"
|
||||
"github.com/gogs/git-module"
|
||||
"github.com/pkg/errors"
|
||||
|
||||
"gogs.io/gogs/internal/errutil"
|
||||
)
|
||||
|
||||
@@ -1,12 +1,11 @@
|
||||
package gitutil
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"strconv"
|
||||
"time"
|
||||
|
||||
"github.com/cockroachdb/errors"
|
||||
"github.com/gogs/git-module"
|
||||
"github.com/pkg/errors"
|
||||
log "unknwon.dev/clog/v2"
|
||||
)
|
||||
|
||||
@@ -28,7 +27,7 @@ func (module) PullRequestMeta(headPath, basePath, headBranch, baseBranch string)
|
||||
tmpRemote := strconv.FormatInt(time.Now().UnixNano(), 10)
|
||||
err := Module.RemoteAdd(headPath, tmpRemote, basePath, git.RemoteAddOptions{Fetch: true})
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("add remote: %v", err)
|
||||
return nil, errors.Newf("add remote: %v", err)
|
||||
}
|
||||
defer func() {
|
||||
err := Module.RemoteRemove(headPath, tmpRemote)
|
||||
|
||||
@@ -1,11 +1,10 @@
|
||||
package gitutil
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"testing"
|
||||
|
||||
"github.com/cockroachdb/errors"
|
||||
"github.com/gogs/git-module"
|
||||
"github.com/pkg/errors"
|
||||
"github.com/stretchr/testify/assert"
|
||||
)
|
||||
|
||||
@@ -23,64 +22,64 @@ func TestModuler_PullRequestMeta(t *testing.T) {
|
||||
SetMockModuleStore(t, &MockModuleStore{
|
||||
remoteAdd: func(repoPath, name, url string, opts ...git.RemoteAddOptions) error {
|
||||
if repoPath != headPath {
|
||||
return fmt.Errorf("repoPath: want %q but got %q", headPath, repoPath)
|
||||
return errors.Newf("repoPath: want %q but got %q", headPath, repoPath)
|
||||
} else if name == "" {
|
||||
return errors.New("empty name")
|
||||
} else if url != basePath {
|
||||
return fmt.Errorf("url: want %q but got %q", basePath, url)
|
||||
return errors.Newf("url: want %q but got %q", basePath, url)
|
||||
}
|
||||
|
||||
if len(opts) == 0 {
|
||||
return errors.New("no options")
|
||||
} else if !opts[0].Fetch {
|
||||
return fmt.Errorf("opts.Fetch: want %v but got %v", true, opts[0].Fetch)
|
||||
return errors.Newf("opts.Fetch: want %v but got %v", true, opts[0].Fetch)
|
||||
}
|
||||
|
||||
return nil
|
||||
},
|
||||
mergeBase: func(repoPath, base, head string, opts ...git.MergeBaseOptions) (string, error) {
|
||||
if repoPath != headPath {
|
||||
return "", fmt.Errorf("repoPath: want %q but got %q", headPath, repoPath)
|
||||
return "", errors.Newf("repoPath: want %q but got %q", headPath, repoPath)
|
||||
} else if base == "" {
|
||||
return "", errors.New("empty base")
|
||||
} else if head != headBranch {
|
||||
return "", fmt.Errorf("head: want %q but got %q", headBranch, head)
|
||||
return "", errors.Newf("head: want %q but got %q", headBranch, head)
|
||||
}
|
||||
|
||||
return mergeBase, nil
|
||||
},
|
||||
log: func(repoPath, rev string, opts ...git.LogOptions) ([]*git.Commit, error) {
|
||||
if repoPath != headPath {
|
||||
return nil, fmt.Errorf("repoPath: want %q but got %q", headPath, repoPath)
|
||||
return nil, errors.Newf("repoPath: want %q but got %q", headPath, repoPath)
|
||||
}
|
||||
|
||||
expRev := mergeBase + "..." + headBranch
|
||||
if rev != expRev {
|
||||
return nil, fmt.Errorf("rev: want %q but got %q", expRev, rev)
|
||||
return nil, errors.Newf("rev: want %q but got %q", expRev, rev)
|
||||
}
|
||||
|
||||
return commits, nil
|
||||
},
|
||||
diffNameOnly: func(repoPath, base, head string, opts ...git.DiffNameOnlyOptions) ([]string, error) {
|
||||
if repoPath != headPath {
|
||||
return nil, fmt.Errorf("repoPath: want %q but got %q", headPath, repoPath)
|
||||
return nil, errors.Newf("repoPath: want %q but got %q", headPath, repoPath)
|
||||
} else if base == "" {
|
||||
return nil, errors.New("empty base")
|
||||
} else if head != headBranch {
|
||||
return nil, fmt.Errorf("head: want %q but got %q", headBranch, head)
|
||||
return nil, errors.Newf("head: want %q but got %q", headBranch, head)
|
||||
}
|
||||
|
||||
if len(opts) == 0 {
|
||||
return nil, errors.New("no options")
|
||||
} else if !opts[0].NeedsMergeBase {
|
||||
return nil, fmt.Errorf("opts.NeedsMergeBase: want %v but got %v", true, opts[0].NeedsMergeBase)
|
||||
return nil, errors.Newf("opts.NeedsMergeBase: want %v but got %v", true, opts[0].NeedsMergeBase)
|
||||
}
|
||||
|
||||
return changedFiles, nil
|
||||
},
|
||||
remoteRemove: func(repoPath, name string, opts ...git.RemoteRemoveOptions) error {
|
||||
if repoPath != headPath {
|
||||
return fmt.Errorf("repoPath: want %q but got %q", headPath, repoPath)
|
||||
return errors.Newf("repoPath: want %q but got %q", headPath, repoPath)
|
||||
} else if name == "" {
|
||||
return errors.New("empty name")
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package gitutil
|
||||
|
||||
import (
|
||||
"github.com/pkg/errors"
|
||||
"github.com/cockroachdb/errors"
|
||||
)
|
||||
|
||||
// TagsPage contains a list of tags and pagination information.
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package lfsutil
|
||||
|
||||
import (
|
||||
"github.com/pkg/errors"
|
||||
"github.com/cockroachdb/errors"
|
||||
|
||||
"gogs.io/gogs/internal/lazyregexp"
|
||||
)
|
||||
|
||||
@@ -5,7 +5,7 @@ import (
|
||||
"os"
|
||||
"path/filepath"
|
||||
|
||||
"github.com/pkg/errors"
|
||||
"github.com/cockroachdb/errors"
|
||||
|
||||
"gogs.io/gogs/internal/osutil"
|
||||
)
|
||||
|
||||
@@ -2,12 +2,11 @@ package process
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"errors"
|
||||
"fmt"
|
||||
"os/exec"
|
||||
"sync"
|
||||
"time"
|
||||
|
||||
"github.com/cockroachdb/errors"
|
||||
log "unknwon.dev/clog/v2"
|
||||
)
|
||||
|
||||
@@ -125,7 +124,7 @@ func Kill(pid int64) error {
|
||||
if proc.Cmd != nil && proc.Cmd.Process != nil &&
|
||||
proc.Cmd.ProcessState != nil && !proc.Cmd.ProcessState.Exited() {
|
||||
if err := proc.Cmd.Process.Kill(); err != nil {
|
||||
return fmt.Errorf("fail to kill process [pid: %d, desc: %s]: %v", proc.PID, proc.Description, err)
|
||||
return errors.Newf("fail to kill process [pid: %d, desc: %s]: %v", proc.PID, proc.Description, err)
|
||||
}
|
||||
}
|
||||
Remove(pid)
|
||||
|
||||
@@ -6,8 +6,8 @@ import (
|
||||
"net/http"
|
||||
"path"
|
||||
|
||||
"github.com/cockroachdb/errors"
|
||||
"github.com/gogs/git-module"
|
||||
"github.com/pkg/errors"
|
||||
|
||||
"gogs.io/gogs/internal/context"
|
||||
"gogs.io/gogs/internal/database"
|
||||
|
||||
@@ -3,8 +3,8 @@ package repo
|
||||
import (
|
||||
"net/http"
|
||||
|
||||
"github.com/cockroachdb/errors"
|
||||
jsoniter "github.com/json-iterator/go"
|
||||
"github.com/pkg/errors"
|
||||
"github.com/unknwon/com"
|
||||
|
||||
api "github.com/gogs/go-gogs-client"
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
package repo
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"net/http"
|
||||
"strings"
|
||||
|
||||
"github.com/cockroachdb/errors"
|
||||
api "github.com/gogs/go-gogs-client"
|
||||
|
||||
"gogs.io/gogs/internal/conf"
|
||||
@@ -82,7 +82,7 @@ func CreateIssue(c *context.APIContext, form api.CreateIssueOption) {
|
||||
assignee, err := database.Handle.Users().GetByUsername(c.Req.Context(), form.Assignee)
|
||||
if err != nil {
|
||||
if database.IsErrUserNotExist(err) {
|
||||
c.ErrorStatus(http.StatusUnprocessableEntity, fmt.Errorf("assignee does not exist: [name: %s]", form.Assignee))
|
||||
c.ErrorStatus(http.StatusUnprocessableEntity, errors.Newf("assignee does not exist: [name: %s]", form.Assignee))
|
||||
} else {
|
||||
c.Error(err, "get user by name")
|
||||
}
|
||||
@@ -144,7 +144,7 @@ func EditIssue(c *context.APIContext, form api.EditIssueOption) {
|
||||
assignee, err := database.Handle.Users().GetByUsername(c.Req.Context(), *form.Assignee)
|
||||
if err != nil {
|
||||
if database.IsErrUserNotExist(err) {
|
||||
c.ErrorStatus(http.StatusUnprocessableEntity, fmt.Errorf("assignee does not exist: [name: %s]", *form.Assignee))
|
||||
c.ErrorStatus(http.StatusUnprocessableEntity, errors.Newf("assignee does not exist: [name: %s]", *form.Assignee))
|
||||
} else {
|
||||
c.Error(err, "get user by name")
|
||||
}
|
||||
|
||||
@@ -3,8 +3,8 @@ package repo
|
||||
import (
|
||||
"net/http"
|
||||
|
||||
"github.com/cockroachdb/errors"
|
||||
api "github.com/gogs/go-gogs-client"
|
||||
"github.com/pkg/errors"
|
||||
|
||||
"gogs.io/gogs/internal/conf"
|
||||
"gogs.io/gogs/internal/context"
|
||||
|
||||
@@ -4,8 +4,8 @@ import (
|
||||
"net/http"
|
||||
"path"
|
||||
|
||||
"github.com/cockroachdb/errors"
|
||||
api "github.com/gogs/go-gogs-client"
|
||||
"github.com/pkg/errors"
|
||||
log "unknwon.dev/clog/v2"
|
||||
|
||||
"gogs.io/gogs/internal/conf"
|
||||
|
||||
@@ -3,8 +3,8 @@ package user
|
||||
import (
|
||||
"net/http"
|
||||
|
||||
"github.com/cockroachdb/errors"
|
||||
api "github.com/gogs/go-gogs-client"
|
||||
"github.com/pkg/errors"
|
||||
|
||||
"gogs.io/gogs/internal/conf"
|
||||
"gogs.io/gogs/internal/context"
|
||||
|
||||
@@ -3,8 +3,8 @@ package user
|
||||
import (
|
||||
"net/http"
|
||||
|
||||
"github.com/cockroachdb/errors"
|
||||
api "github.com/gogs/go-gogs-client"
|
||||
"github.com/pkg/errors"
|
||||
|
||||
"gogs.io/gogs/internal/conf"
|
||||
"gogs.io/gogs/internal/context"
|
||||
|
||||
@@ -7,8 +7,8 @@ import (
|
||||
"path/filepath"
|
||||
"strings"
|
||||
|
||||
"github.com/cockroachdb/errors"
|
||||
"github.com/gogs/git-module"
|
||||
"github.com/pkg/errors"
|
||||
"github.com/unknwon/com"
|
||||
"gopkg.in/ini.v1"
|
||||
"gopkg.in/macaron.v1"
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
package repo
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"net/http"
|
||||
"path"
|
||||
|
||||
"github.com/cockroachdb/errors"
|
||||
"github.com/gogs/git-module"
|
||||
|
||||
"gogs.io/gogs/internal/conf"
|
||||
@@ -16,7 +16,7 @@ import (
|
||||
func serveData(c *context.Context, name string, data []byte) error {
|
||||
commit, err := c.Repo.Commit.CommitByPath(git.CommitByRevisionOptions{Path: c.Repo.TreePath})
|
||||
if err != nil {
|
||||
return fmt.Errorf("get commit by path %q: %v", c.Repo.TreePath, err)
|
||||
return errors.Newf("get commit by path %q: %v", c.Repo.TreePath, err)
|
||||
}
|
||||
c.Resp.Header().Set("Last-Modified", commit.Committer.When.Format(http.TimeFormat))
|
||||
|
||||
@@ -30,7 +30,7 @@ func serveData(c *context.Context, name string, data []byte) error {
|
||||
}
|
||||
|
||||
if _, err := c.Resp.Write(data); err != nil {
|
||||
return fmt.Errorf("write buffer to response: %v", err)
|
||||
return errors.Newf("write buffer to response: %v", err)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
package repo
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"fmt"
|
||||
"net/http"
|
||||
"path"
|
||||
"strings"
|
||||
|
||||
"github.com/cockroachdb/errors"
|
||||
log "unknwon.dev/clog/v2"
|
||||
|
||||
"gogs.io/gogs/internal/conf"
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
package repo
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"fmt"
|
||||
"net/http"
|
||||
"net/url"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/cockroachdb/errors"
|
||||
"github.com/unknwon/com"
|
||||
"github.com/unknwon/paginater"
|
||||
log "unknwon.dev/clog/v2"
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
package repo
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"strings"
|
||||
|
||||
"github.com/cockroachdb/errors"
|
||||
"github.com/gogs/git-module"
|
||||
log "unknwon.dev/clog/v2"
|
||||
|
||||
@@ -27,11 +27,11 @@ func calReleaseNumCommitsBehind(repoCtx *context.Repository, release *database.R
|
||||
if repoCtx.GitRepo.HasBranch(release.Target) {
|
||||
commit, err := repoCtx.GitRepo.BranchCommit(release.Target)
|
||||
if err != nil {
|
||||
return fmt.Errorf("get branch commit: %v", err)
|
||||
return errors.Newf("get branch commit: %v", err)
|
||||
}
|
||||
countCache[release.Target], err = commit.CommitsCount()
|
||||
if err != nil {
|
||||
return fmt.Errorf("count commits: %v", err)
|
||||
return errors.Newf("count commits: %v", err)
|
||||
}
|
||||
} else {
|
||||
// Use NumCommits of the newest release on that target
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
package repo
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"fmt"
|
||||
"io"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/cockroachdb/errors"
|
||||
"github.com/gogs/git-module"
|
||||
"github.com/unknwon/com"
|
||||
log "unknwon.dev/clog/v2"
|
||||
@@ -327,19 +327,19 @@ func UpdateAvatarSetting(c *context.Context, f form.Avatar, ctxRepo *database.Re
|
||||
if f.Avatar != nil {
|
||||
r, err := f.Avatar.Open()
|
||||
if err != nil {
|
||||
return fmt.Errorf("open avatar reader: %v", err)
|
||||
return errors.Newf("open avatar reader: %v", err)
|
||||
}
|
||||
defer r.Close()
|
||||
|
||||
data, err := io.ReadAll(r)
|
||||
if err != nil {
|
||||
return fmt.Errorf("read avatar content: %v", err)
|
||||
return errors.Newf("read avatar content: %v", err)
|
||||
}
|
||||
if !tool.IsImageFile(data) {
|
||||
return errors.New(c.Tr("settings.uploaded_avatar_not_a_image"))
|
||||
}
|
||||
if err = ctxRepo.UploadAvatar(data); err != nil {
|
||||
return fmt.Errorf("upload avatar: %v", err)
|
||||
return errors.Newf("upload avatar: %v", err)
|
||||
}
|
||||
} else {
|
||||
// No avatar is uploaded and reset setting back.
|
||||
@@ -349,7 +349,7 @@ func UpdateAvatarSetting(c *context.Context, f form.Avatar, ctxRepo *database.Re
|
||||
}
|
||||
|
||||
if err := database.UpdateRepository(ctxRepo, false); err != nil {
|
||||
return fmt.Errorf("update repository: %v", err)
|
||||
return errors.Newf("update repository: %v", err)
|
||||
}
|
||||
|
||||
return nil
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
package repo
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"fmt"
|
||||
"net/http"
|
||||
"net/url"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/cockroachdb/errors"
|
||||
"github.com/gogs/git-module"
|
||||
api "github.com/gogs/go-gogs-client"
|
||||
jsoniter "github.com/json-iterator/go"
|
||||
|
||||
@@ -3,10 +3,10 @@ package user
|
||||
import (
|
||||
gocontext "context"
|
||||
"encoding/hex"
|
||||
"fmt"
|
||||
"net/http"
|
||||
"net/url"
|
||||
|
||||
"github.com/cockroachdb/errors"
|
||||
"github.com/go-macaron/captcha"
|
||||
"github.com/unknwon/com"
|
||||
log "unknwon.dev/clog/v2"
|
||||
@@ -55,7 +55,7 @@ func AutoLogin(c *context.Context) (bool, error) {
|
||||
u, err := database.Handle.Users().GetByUsername(c.Req.Context(), uname)
|
||||
if err != nil {
|
||||
if !database.IsErrUserNotExist(err) {
|
||||
return false, fmt.Errorf("get user by name: %v", err)
|
||||
return false, errors.Newf("get user by name: %v", err)
|
||||
}
|
||||
return false, nil
|
||||
}
|
||||
|
||||
@@ -9,7 +9,7 @@ import (
|
||||
"image/png"
|
||||
"io"
|
||||
|
||||
"github.com/pkg/errors"
|
||||
"github.com/cockroachdb/errors"
|
||||
"github.com/pquerna/otp"
|
||||
"github.com/pquerna/otp/totp"
|
||||
"gopkg.in/macaron.v1"
|
||||
@@ -146,13 +146,13 @@ func UpdateAvatarSetting(c *context.Context, f form.Avatar, ctxUser *database.Us
|
||||
if f.Avatar != nil && f.Avatar.Filename != "" {
|
||||
r, err := f.Avatar.Open()
|
||||
if err != nil {
|
||||
return fmt.Errorf("open avatar reader: %v", err)
|
||||
return errors.Newf("open avatar reader: %v", err)
|
||||
}
|
||||
defer func() { _ = r.Close() }()
|
||||
|
||||
data, err := io.ReadAll(r)
|
||||
if err != nil {
|
||||
return fmt.Errorf("read avatar content: %v", err)
|
||||
return errors.Newf("read avatar content: %v", err)
|
||||
}
|
||||
if !tool.IsImageFile(data) {
|
||||
return errors.New(c.Tr("settings.uploaded_avatar_not_a_image"))
|
||||
|
||||
@@ -10,7 +10,7 @@ import (
|
||||
"strings"
|
||||
"syscall"
|
||||
|
||||
"github.com/pkg/errors"
|
||||
"github.com/cockroachdb/errors"
|
||||
"github.com/sourcegraph/run"
|
||||
"github.com/unknwon/com"
|
||||
"golang.org/x/crypto/ssh"
|
||||
|
||||
@@ -9,6 +9,7 @@ import (
|
||||
"sync"
|
||||
"time"
|
||||
|
||||
"github.com/cockroachdb/errors"
|
||||
"github.com/editorconfig/editorconfig-core-go/v2"
|
||||
jsoniter "github.com/json-iterator/go"
|
||||
"github.com/microcosm-cc/bluemonday"
|
||||
@@ -160,7 +161,7 @@ func ToUTF8WithErr(content []byte) (string, error) {
|
||||
|
||||
encoding, _ := charset.Lookup(charsetLabel)
|
||||
if encoding == nil {
|
||||
return string(content), fmt.Errorf("unknown encoding: %s", charsetLabel)
|
||||
return string(content), errors.Newf("unknown encoding: %s", charsetLabel)
|
||||
}
|
||||
|
||||
// If there is an error, we concatenate the nicely decoded part and the
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
package testutil
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"fmt"
|
||||
"os"
|
||||
"os/exec"
|
||||
"strings"
|
||||
|
||||
"github.com/cockroachdb/errors"
|
||||
)
|
||||
|
||||
// Exec executes "go test" on given helper with supplied environment variables.
|
||||
@@ -34,7 +34,7 @@ func Exec(helper string, envs ...string) (string, error) {
|
||||
}
|
||||
|
||||
if err != nil {
|
||||
return "", fmt.Errorf("%v - %s", err, str)
|
||||
return "", errors.Newf("%v - %s", err, str)
|
||||
}
|
||||
return "", errors.New(str)
|
||||
}
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
package testutil
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"fmt"
|
||||
"os"
|
||||
"testing"
|
||||
@@ -24,17 +23,17 @@ func TestExecHelper(_ *testing.T) {
|
||||
|
||||
func TestExec(t *testing.T) {
|
||||
tests := []struct {
|
||||
helper string
|
||||
env string
|
||||
expOut string
|
||||
expErr error
|
||||
helper string
|
||||
env string
|
||||
expOut string
|
||||
expErrMsg string
|
||||
}{
|
||||
{
|
||||
helper: "NoTestsToRun",
|
||||
expErr: errors.New("no tests to run"),
|
||||
helper: "NoTestsToRun",
|
||||
expErrMsg: "no tests to run",
|
||||
}, {
|
||||
helper: "TestExecHelper",
|
||||
expErr: errors.New("exit status 1 - tests failed\n"),
|
||||
helper: "TestExecHelper",
|
||||
expErrMsg: "exit status 1 - tests failed\n",
|
||||
}, {
|
||||
helper: "TestExecHelper",
|
||||
env: "PASS=1",
|
||||
@@ -44,7 +43,12 @@ func TestExec(t *testing.T) {
|
||||
for _, test := range tests {
|
||||
t.Run("", func(t *testing.T) {
|
||||
out, err := Exec(test.helper, test.env)
|
||||
assert.Equal(t, test.expErr, err)
|
||||
if test.expErrMsg != "" {
|
||||
assert.Error(t, err)
|
||||
assert.Contains(t, err.Error(), test.expErrMsg)
|
||||
} else {
|
||||
assert.NoError(t, err)
|
||||
}
|
||||
assert.Equal(t, test.expOut, out)
|
||||
})
|
||||
}
|
||||
|
||||
@@ -13,8 +13,8 @@ import (
|
||||
"strconv"
|
||||
"strings"
|
||||
|
||||
"github.com/cockroachdb/errors"
|
||||
"github.com/nfnt/resize"
|
||||
"github.com/pkg/errors"
|
||||
"golang.org/x/crypto/pbkdf2"
|
||||
|
||||
"gogs.io/gogs/internal/avatar"
|
||||
|
||||
@@ -3,13 +3,13 @@ package templates
|
||||
import (
|
||||
"bytes"
|
||||
"embed"
|
||||
"fmt"
|
||||
"io"
|
||||
"io/fs"
|
||||
"os"
|
||||
"path"
|
||||
"strings"
|
||||
|
||||
"github.com/cockroachdb/errors"
|
||||
"gopkg.in/macaron.v1"
|
||||
|
||||
"gogs.io/gogs/internal/osutil"
|
||||
@@ -33,7 +33,7 @@ func (fs *fileSystem) Get(name string) (io.Reader, error) {
|
||||
return bytes.NewReader(fs.files[i].Data()), nil
|
||||
}
|
||||
}
|
||||
return nil, fmt.Errorf("file %q not found", name)
|
||||
return nil, errors.Newf("file %q not found", name)
|
||||
}
|
||||
|
||||
func mustNames(fsys fs.FS) []string {
|
||||
|
||||
Reference in New Issue
Block a user