20210707
(#16366)
* update gitea.com/go-chi/binding
* update github.com/blevesearch/bleve/v2
* update github.com/caddyserver/certmagic
* update github.com/go-git/go-git/v5
* update github.com/lafriks/xormstore
* update github.com/yuin/goldmark
* Revert "update gitea.com/go-chi/binding"
This reverts commit dea2f292b1
.
tags/v1.15.0-rc1
@@ -13,9 +13,9 @@ require ( | |||
gitea.com/lunny/levelqueue v0.3.0 | |||
github.com/Microsoft/go-winio v0.5.0 // indirect | |||
github.com/NYTimes/gziphandler v1.1.1 | |||
github.com/ProtonMail/go-crypto v0.0.0-20210512092938-c05353c2d58c // indirect | |||
github.com/ProtonMail/go-crypto v0.0.0-20210705153151-cc34b1f6908b // indirect | |||
github.com/PuerkitoBio/goquery v1.7.0 | |||
github.com/RoaringBitmap/roaring v0.8.0 // indirect | |||
github.com/RoaringBitmap/roaring v0.9.1 // indirect | |||
github.com/alecthomas/chroma v0.9.2 | |||
github.com/andybalholm/brotli v1.0.3 // indirect | |||
github.com/andybalholm/cascadia v1.2.0 // indirect | |||
@@ -70,7 +70,7 @@ require ( | |||
github.com/kevinburke/ssh_config v1.1.0 // indirect | |||
github.com/keybase/go-crypto v0.0.0-20200123153347-de78d2cb44f4 | |||
github.com/klauspost/compress v1.13.1 | |||
github.com/klauspost/cpuid/v2 v2.0.7 // indirect | |||
github.com/klauspost/cpuid/v2 v2.0.8 // indirect | |||
github.com/klauspost/pgzip v1.2.5 // indirect | |||
github.com/lafriks/xormstore v1.4.0 | |||
github.com/lib/pq v1.10.2 | |||
@@ -115,7 +115,7 @@ require ( | |||
github.com/urfave/cli v1.22.5 | |||
github.com/xanzy/go-gitlab v0.50.1 | |||
github.com/yohcop/openid-go v1.0.0 | |||
github.com/yuin/goldmark v1.3.9 | |||
github.com/yuin/goldmark v1.4.0 | |||
github.com/yuin/goldmark-highlighting v0.0.0-20210516132338-9216f9c5aa01 | |||
github.com/yuin/goldmark-meta v1.0.0 | |||
go.etcd.io/bbolt v1.3.6 // indirect | |||
@@ -139,7 +139,7 @@ require ( | |||
mvdan.cc/xurls/v2 v2.2.0 | |||
strk.kbt.io/projects/go/libravatar v0.0.0-20191008002943-06d1c002b251 | |||
xorm.io/builder v0.3.9 | |||
xorm.io/xorm v1.1.1 | |||
xorm.io/xorm v1.1.2 | |||
) | |||
replace github.com/hashicorp/go-version => github.com/6543/go-version v1.3.1 |
@@ -68,8 +68,8 @@ github.com/NYTimes/gziphandler v1.1.1 h1:ZUDjpQae29j0ryrS0u/B8HZfJBtBQHjqw2rQ2cq | |||
github.com/NYTimes/gziphandler v1.1.1/go.mod h1:n/CVRwUEOgIxrgPvAQhUUr9oeUtvrhMomdKFjzJNB0c= | |||
github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= | |||
github.com/ProtonMail/go-crypto v0.0.0-20210428141323-04723f9f07d7/go.mod h1:z4/9nQmJSSwwds7ejkxaJwO37dru3geImFUdJlaLzQo= | |||
github.com/ProtonMail/go-crypto v0.0.0-20210512092938-c05353c2d58c h1:bNpaLLv2Y4kslsdkdCwAYu8Bak1aGVtxwi8Z/wy4Yuo= | |||
github.com/ProtonMail/go-crypto v0.0.0-20210512092938-c05353c2d58c/go.mod h1:z4/9nQmJSSwwds7ejkxaJwO37dru3geImFUdJlaLzQo= | |||
github.com/ProtonMail/go-crypto v0.0.0-20210705153151-cc34b1f6908b h1:BF5p87XWvmgdrTPPzcRMwC0TMQbviwQ+uBKfNfWJy50= | |||
github.com/ProtonMail/go-crypto v0.0.0-20210705153151-cc34b1f6908b/go.mod h1:z4/9nQmJSSwwds7ejkxaJwO37dru3geImFUdJlaLzQo= | |||
github.com/PuerkitoBio/goquery v1.5.1/go.mod h1:GsLWisAFVj4WgDibEWF4pvYnkVQBpKBKeU+7zCJoLcc= | |||
github.com/PuerkitoBio/goquery v1.7.0 h1:O5SP3b9JWqMSVMG69zMfj577zwkSNpxrFf7ybS74eiw= | |||
github.com/PuerkitoBio/goquery v1.7.0/go.mod h1:GsLWisAFVj4WgDibEWF4pvYnkVQBpKBKeU+7zCJoLcc= | |||
@@ -78,10 +78,12 @@ github.com/PuerkitoBio/purell v1.1.1 h1:WEQqlqaGbrPkxLJWfBwQmfEAE1Z7ONdDLqrN38tN | |||
github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= | |||
github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 h1:d+Bc7a5rLufV/sSk/8dngufqelfh6jnri85riMAaF/M= | |||
github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= | |||
github.com/RoaringBitmap/gocroaring v0.4.0/go.mod h1:NieMwz7ZqwU2DD73/vvYwv7r4eWBKuPVSXZIpsaMwCI= | |||
github.com/RoaringBitmap/real-roaring-datasets v0.0.0-20190726190000-eb7c87156f76/go.mod h1:oM0MHmQ3nDsq609SS36p+oYbRi16+oVvU2Bw4Ipv0SE= | |||
github.com/RoaringBitmap/roaring v0.4.23/go.mod h1:D0gp8kJQgE1A4LQ5wFLggQEyvDi06Mq5mKs52e1TwOo= | |||
github.com/RoaringBitmap/roaring v0.7.3/go.mod h1:jdT9ykXwHFNdJbEtxePexlFYH9LXucApeS0/+/g+p1I= | |||
github.com/RoaringBitmap/roaring v0.8.0 h1:3naGkGvYAANr3ntyV+OpyhH+/rDaE2om9coNpIIdWAA= | |||
github.com/RoaringBitmap/roaring v0.8.0/go.mod h1:jdT9ykXwHFNdJbEtxePexlFYH9LXucApeS0/+/g+p1I= | |||
github.com/RoaringBitmap/roaring v0.9.1 h1:5PRizBmoN/PfV17nPNQou4dHQ7NcJi8FO/bihdYyCEM= | |||
github.com/RoaringBitmap/roaring v0.9.1/go.mod h1:h1B7iIUOmnAeb5ytYMvnHJwxMc6LUrwBnzXWRuqTQUc= | |||
github.com/acomagu/bufpipe v1.0.3 h1:fxAGrHZTgQ9w5QqVItgzwj235/uYZYgbXitB+dLupOk= | |||
github.com/acomagu/bufpipe v1.0.3/go.mod h1:mxdxdup/WdsKVreO5GpW4+M/1CE2sMG4jeGJ2sYmHc4= | |||
github.com/agnivade/levenshtein v1.0.1/go.mod h1:CURSv5d9Uaml+FovSIICkLbAUZ9S4RqaHDIsdSBg7lM= | |||
@@ -712,8 +714,8 @@ github.com/klauspost/cpuid v1.3.1/go.mod h1:bYW4mA6ZgKPob1/Dlai2LviZJO7KGI3uoWLd | |||
github.com/klauspost/cpuid/v2 v2.0.1/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= | |||
github.com/klauspost/cpuid/v2 v2.0.4/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= | |||
github.com/klauspost/cpuid/v2 v2.0.6/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= | |||
github.com/klauspost/cpuid/v2 v2.0.7 h1:U89pAFid7wpIWvTFJnMKgU+Sabb7DLEgHI7Xt8apo3Y= | |||
github.com/klauspost/cpuid/v2 v2.0.7/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= | |||
github.com/klauspost/cpuid/v2 v2.0.8 h1:bhR2mgIlno/Sfk4oUbH4sPlc83z1yGrN9bvqiq3C33I= | |||
github.com/klauspost/cpuid/v2 v2.0.8/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= | |||
github.com/klauspost/pgzip v1.2.4/go.mod h1:Ch1tH69qFZu15pkjo5kYi6mth2Zzwzt50oCQKQE9RUs= | |||
github.com/klauspost/pgzip v1.2.5 h1:qnWYvvKqedOF2ulHpMG72XQol4ILEJ8k2wwRl/Km8oE= | |||
github.com/klauspost/pgzip v1.2.5/go.mod h1:Ch1tH69qFZu15pkjo5kYi6mth2Zzwzt50oCQKQE9RUs= | |||
@@ -1063,8 +1065,8 @@ github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9de | |||
github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= | |||
github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= | |||
github.com/yuin/goldmark v1.3.6/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= | |||
github.com/yuin/goldmark v1.3.9 h1:XsVHmzm4P6g84IBbAj+WYMF/IEZ3J9+3I1wlqCNa/SQ= | |||
github.com/yuin/goldmark v1.3.9/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= | |||
github.com/yuin/goldmark v1.4.0 h1:OtISOGfH6sOWa1/qXqqAiOIAO6Z5J3AEAE18WAq6BiQ= | |||
github.com/yuin/goldmark v1.4.0/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= | |||
github.com/yuin/goldmark-highlighting v0.0.0-20210516132338-9216f9c5aa01 h1:0SJnXjE4jDClMW6grE0xpNhwpqbPwkBTn8zpVw5C0SI= | |||
github.com/yuin/goldmark-highlighting v0.0.0-20210516132338-9216f9c5aa01/go.mod h1:TwKQPa5XkCCRC2GRZ5wtfNUTQ2+9/i19mGRijFeJ4BE= | |||
github.com/yuin/goldmark-meta v1.0.0 h1:ScsatUIT2gFS6azqzLGUjgOnELsBOxMXerM3ogdJhAM= | |||
@@ -1615,5 +1617,5 @@ xorm.io/builder v0.3.8/go.mod h1:aUW0S9eb9VCaPohFCH3j7czOx1PMW3i1HrSzbLYGBSE= | |||
xorm.io/builder v0.3.9 h1:Sd65/LdWyO7LR8+Cbd+e7mm3sK/7U9k0jS3999IDHMc= | |||
xorm.io/builder v0.3.9/go.mod h1:aUW0S9eb9VCaPohFCH3j7czOx1PMW3i1HrSzbLYGBSE= | |||
xorm.io/xorm v1.0.6/go.mod h1:uF9EtbhODq5kNWxMbnBEj8hRRZnlcNSz2t2N7HW/+A4= | |||
xorm.io/xorm v1.1.1 h1:cc1yot5rhoBucfk2lgZPZPEuI/9QsVvHuQpjI0wmcf8= | |||
xorm.io/xorm v1.1.1/go.mod h1:Cb0DKYTHbyECMaSfgRnIZp5aiUgQozxcJJ0vzcLGJSg= | |||
xorm.io/xorm v1.1.2 h1:bje+1KZvK3m5AHtZNfUDlKEEyuw/IRHT+an0CLIG5TU= | |||
xorm.io/xorm v1.1.2/go.mod h1:Cb0DKYTHbyECMaSfgRnIZp5aiUgQozxcJJ0vzcLGJSg= |
@@ -507,6 +507,9 @@ func serializeSubpackets(to []byte, subpackets []outputSubpacket, hashed bool) { | |||
if subpacket.hashed == hashed { | |||
n := serializeSubpacketLength(to, len(subpacket.contents)+1) | |||
to[n] = byte(subpacket.subpacketType) | |||
if subpacket.isCritical { | |||
to[n] |= 0x80 | |||
} | |||
to = to[1+n:] | |||
n = copy(to, subpacket.contents) | |||
to = to[n:] |
@@ -3,18 +3,9 @@ module github.com/RoaringBitmap/roaring | |||
go 1.14 | |||
require ( | |||
github.com/RoaringBitmap/gocroaring v0.4.0 | |||
github.com/RoaringBitmap/real-roaring-datasets v0.0.0-20190726190000-eb7c87156f76 // indirect | |||
github.com/bits-and-blooms/bitset v1.2.0 | |||
github.com/dvyukov/go-fuzz v0.0.0-20210429054444-fca39067bc72 // indirect | |||
github.com/elazarl/go-bindata-assetfs v1.0.1 // indirect | |||
github.com/glycerine/go-unsnap-stream v0.0.0-20181221182339-f9677308dec2 | |||
github.com/glycerine/goconvey v0.0.0-20190410193231-58a59202ab31 // indirect | |||
github.com/golang/snappy v0.0.1 // indirect | |||
github.com/gopherjs/gopherjs v0.0.0-20190910122728-9d188e94fb99 // indirect | |||
github.com/jtolds/gls v4.20.0+incompatible // indirect | |||
github.com/mschoch/smat v0.2.0 | |||
github.com/philhofer/fwd v1.0.0 // indirect | |||
github.com/stephens2424/writerset v1.0.2 // indirect | |||
github.com/stretchr/testify v1.4.0 | |||
golang.org/x/lint v0.0.0-20200302205851-738671d3881b // indirect | |||
golang.org/x/tools v0.0.0-20200928182047-19e03678916f // indirect | |||
) |
@@ -1,65 +1,18 @@ | |||
github.com/Julusian/godocdown v0.0.0-20170816220326-6d19f8ff2df8/go.mod h1:INZr5t32rG59/5xeltqoCJoNY7e5x/3xoY9WSWVWg74= | |||
github.com/RoaringBitmap/gocroaring v0.4.0 h1:5nufXUgWpBEUNEJXw7926YAA58ZAQRpWPrQV1xCoSjc= | |||
github.com/RoaringBitmap/gocroaring v0.4.0/go.mod h1:NieMwz7ZqwU2DD73/vvYwv7r4eWBKuPVSXZIpsaMwCI= | |||
github.com/RoaringBitmap/real-roaring-datasets v0.0.0-20190726190000-eb7c87156f76 h1:ZYlhPbqQFU+AHfgtCdHGDTtRW1a8geZyiE8c6Q+Sl1s= | |||
github.com/RoaringBitmap/real-roaring-datasets v0.0.0-20190726190000-eb7c87156f76/go.mod h1:oM0MHmQ3nDsq609SS36p+oYbRi16+oVvU2Bw4Ipv0SE= | |||
github.com/bits-and-blooms/bitset v1.2.0 h1:Kn4yilvwNtMACtf1eYDlG8H77R07mZSPbMjLyS07ChA= | |||
github.com/bits-and-blooms/bitset v1.2.0/go.mod h1:gIdJ4wp64HaoK2YrL1Q5/N7Y16edYb8uY+O0FJTyyDA= | |||
github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8= | |||
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= | |||
github.com/dvyukov/go-fuzz v0.0.0-20210429054444-fca39067bc72 h1:XiR1YwcWcRFzxjAhWK29HQL4nocj0QWJjpeRi/YASV0= | |||
github.com/dvyukov/go-fuzz v0.0.0-20210429054444-fca39067bc72/go.mod h1:11Gm+ccJnvAhCNLlf5+cS9KjtbaD5I5zaZpFMsTHWTw= | |||
github.com/elazarl/go-bindata-assetfs v1.0.1 h1:m0kkaHRKEu7tUIUFVwhGGGYClXvyl4RE03qmvRTNfbw= | |||
github.com/elazarl/go-bindata-assetfs v1.0.1/go.mod h1:v+YaWX3bdea5J/mo8dSETolEo7R71Vk1u8bnjau5yw4= | |||
github.com/glycerine/go-unsnap-stream v0.0.0-20181221182339-f9677308dec2 h1:Ujru1hufTHVb++eG6OuNDKMxZnGIvF6o/u8q/8h2+I4= | |||
github.com/glycerine/go-unsnap-stream v0.0.0-20181221182339-f9677308dec2/go.mod h1:/20jfyN9Y5QPEAprSgKAUr+glWDY39ZiUEAYOEv5dsE= | |||
github.com/glycerine/goconvey v0.0.0-20190410193231-58a59202ab31 h1:gclg6gY70GLy3PbkQ1AERPfmLMMagS60DKF78eWwLn8= | |||
github.com/glycerine/goconvey v0.0.0-20190410193231-58a59202ab31/go.mod h1:Ogl1Tioa0aV7gstGFO7KhffUsb9M4ydbEbbxpcEDc24= | |||
github.com/golang/snappy v0.0.1 h1:Qgr9rKW7uDUkrbSmQeiDsGa8SjGyCOGtuasMWwvp2P4= | |||
github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= | |||
github.com/gopherjs/gopherjs v0.0.0-20190910122728-9d188e94fb99 h1:twflg0XRTjwKpxb/jFExr4HGq6on2dEOmnL6FV+fgPw= | |||
github.com/gopherjs/gopherjs v0.0.0-20190910122728-9d188e94fb99/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= | |||
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/mschoch/smat v0.0.0-20160514031455-90eadee771ae h1:VeRdUYdCw49yizlSbMEn2SZ+gT+3IUKx8BqxyQdz+BY= | |||
github.com/mschoch/smat v0.0.0-20160514031455-90eadee771ae/go.mod h1:qAyveg+e4CE+eKJXWVjKXM4ck2QobLqTDytGJbLLhJg= | |||
github.com/mschoch/smat v0.2.0 h1:8imxQsjDm8yFEAVBe7azKmKSgzSkZXDuKkSq9374khM= | |||
github.com/mschoch/smat v0.2.0/go.mod h1:kc9mz7DoBKqDyiRL7VZN8KvXQMWeTaVnttLRXOlotKw= | |||
github.com/philhofer/fwd v1.0.0 h1:UbZqGr5Y38ApvM/V/jEljVxwocdweyH+vmYvRPBnbqQ= | |||
github.com/philhofer/fwd v1.0.0/go.mod h1:gk3iGcWd9+svBvR0sR+KPcfE+RNWozjowpeBVG3ZVNU= | |||
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= | |||
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= | |||
github.com/robertkrimen/godocdown v0.0.0-20130622164427-0bfa04905481/go.mod h1:C9WhFzY47SzYBIvzFqSvHIR6ROgDo4TtdTuRaOMjF/s= | |||
github.com/stephens2424/writerset v1.0.2 h1:znRLgU6g8RS5euYRcy004XeE4W+Tu44kALzy7ghPif8= | |||
github.com/stephens2424/writerset v1.0.2/go.mod h1:aS2JhsMn6eA7e82oNmW4rfsgAOp9COBTTl8mzkwADnc= | |||
github.com/stretchr/objx v0.1.0 h1:4G4v2dO3VZwixGIRoQ5Lfboy6nUhCyYzaqnIAPPhYs4= | |||
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= | |||
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= | |||
github.com/stretchr/testify v1.4.0 h1:2E4SXV/wtOkTonXsotYi4li6zVWxYlZuYNCXe9XRJyk= | |||
github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= | |||
github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= | |||
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= | |||
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= | |||
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= | |||
golang.org/x/lint v0.0.0-20200302205851-738671d3881b h1:Wh+f8QHJXR411sJR8/vRBTZ7YapZaRvUcLFFJhusH0k= | |||
golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= | |||
golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= | |||
golang.org/x/mod v0.3.0 h1:RM4zey1++hCTbCVQfnWeKs9/IEsaBLA8vTkd0WVtmH4= | |||
golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= | |||
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= | |||
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= | |||
golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= | |||
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= | |||
golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= | |||
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= | |||
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | |||
golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | |||
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= | |||
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= | |||
golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7 h1:EBZoQjiKKPaLbPrbpssUfuHtwM6KV/vb4U85g/cigFY= | |||
golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= | |||
golang.org/x/tools v0.0.0-20200928182047-19e03678916f h1:VwGa2Wf+rHGIxvsssCkUNIyFv8jQY0VCBCNWtikoWq0= | |||
golang.org/x/tools v0.0.0-20200928182047-19e03678916f/go.mod h1:z6u4i615ZeAfBE4XtMziQW1fSVJXACjjbWkB/mvPzlU= | |||
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= | |||
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= | |||
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE= | |||
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= | |||
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM= | |||
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= | |||
gopkg.in/yaml.v2 v2.2.2 h1:ZCJp+EgiOT7lHqUV2J862kp8Qj64Jo6az82+3Td9dZw= |
@@ -569,7 +569,7 @@ func (ra *roaringArray) readFrom(stream internal.ByteInput, cookieHeader ...byte | |||
var isRunBitmap []byte | |||
if cookie&0x0000FFFF == serialCookie { | |||
size = uint32(uint16(cookie>>16) + 1) | |||
size = uint32(cookie>>16 + 1) | |||
// create is-run-container bitmap | |||
isRunBitmapSize := (int(size) + 7) / 8 | |||
isRunBitmap, err = stream.Next(isRunBitmapSize) |
@@ -3,6 +3,7 @@ | |||
package roaring | |||
import ( | |||
"encoding/binary" | |||
"errors" | |||
"io" | |||
"reflect" | |||
@@ -132,3 +133,284 @@ func byteSliceAsInterval16Slice(slice []byte) (result []interval16) { | |||
// return result | |||
return | |||
} | |||
// FromBuffer creates a bitmap from its serialized version stored in buffer. | |||
// It uses CRoaring's frozen bitmap format. | |||
// | |||
// The format specification is available here: | |||
// https://github.com/RoaringBitmap/CRoaring/blob/2c867e9f9c9e2a3a7032791f94c4c7ae3013f6e0/src/roaring.c#L2756-L2783 | |||
// | |||
// The provided byte array (buf) is expected to be a constant. | |||
// The function makes the best effort attempt not to copy data. | |||
// Only little endian is supported. The function will err if it detects a big | |||
// endian serialized file. | |||
// You should take care not to modify buff as it will likely result in | |||
// unexpected program behavior. | |||
// If said buffer comes from a memory map, it's advisable to give it read | |||
// only permissions, either at creation or by calling Mprotect from the | |||
// golang.org/x/sys/unix package. | |||
// | |||
// Resulting bitmaps are effectively immutable in the following sense: | |||
// a copy-on-write marker is used so that when you modify the resulting | |||
// bitmap, copies of selected data (containers) are made. | |||
// You should *not* change the copy-on-write status of the resulting | |||
// bitmaps (SetCopyOnWrite). | |||
// | |||
// If buf becomes unavailable, then a bitmap created with | |||
// FromBuffer would be effectively broken. Furthermore, any | |||
// bitmap derived from this bitmap (e.g., via Or, And) might | |||
// also be broken. Thus, before making buf unavailable, you should | |||
// call CloneCopyOnWriteContainers on all such bitmaps. | |||
// | |||
func (rb *Bitmap) FrozenView(buf []byte) error { | |||
return rb.highlowcontainer.frozenView(buf) | |||
} | |||
/* Verbatim specification from CRoaring. | |||
* | |||
* FROZEN SERIALIZATION FORMAT DESCRIPTION | |||
* | |||
* -- (beginning must be aligned by 32 bytes) -- | |||
* <bitset_data> uint64_t[BITSET_CONTAINER_SIZE_IN_WORDS * num_bitset_containers] | |||
* <run_data> rle16_t[total number of rle elements in all run containers] | |||
* <array_data> uint16_t[total number of array elements in all array containers] | |||
* <keys> uint16_t[num_containers] | |||
* <counts> uint16_t[num_containers] | |||
* <typecodes> uint8_t[num_containers] | |||
* <header> uint32_t | |||
* | |||
* <header> is a 4-byte value which is a bit union of FROZEN_COOKIE (15 bits) | |||
* and the number of containers (17 bits). | |||
* | |||
* <counts> stores number of elements for every container. | |||
* Its meaning depends on container type. | |||
* For array and bitset containers, this value is the container cardinality minus one. | |||
* For run container, it is the number of rle_t elements (n_runs). | |||
* | |||
* <bitset_data>,<array_data>,<run_data> are flat arrays of elements of | |||
* all containers of respective type. | |||
* | |||
* <*_data> and <keys> are kept close together because they are not accessed | |||
* during deserilization. This may reduce IO in case of large mmaped bitmaps. | |||
* All members have their native alignments during deserilization except <header>, | |||
* which is not guaranteed to be aligned by 4 bytes. | |||
*/ | |||
const FROZEN_COOKIE = 13766 | |||
var ( | |||
FrozenBitmapInvalidCookie = errors.New("header does not contain the FROZEN_COOKIE") | |||
FrozenBitmapBigEndian = errors.New("loading big endian frozen bitmaps is not supported") | |||
FrozenBitmapIncomplete = errors.New("input buffer too small to contain a frozen bitmap") | |||
FrozenBitmapOverpopulated = errors.New("too many containers") | |||
FrozenBitmapUnexpectedData = errors.New("spurious data in input") | |||
FrozenBitmapInvalidTypecode = errors.New("unrecognized typecode") | |||
FrozenBitmapBufferTooSmall = errors.New("buffer too small") | |||
) | |||
func (ra *roaringArray) frozenView(buf []byte) error { | |||
if len(buf) < 4 { | |||
return FrozenBitmapIncomplete | |||
} | |||
headerBE := binary.BigEndian.Uint32(buf[len(buf)-4:]) | |||
if headerBE & 0x7fff == FROZEN_COOKIE { | |||
return FrozenBitmapBigEndian | |||
} | |||
header := binary.LittleEndian.Uint32(buf[len(buf)-4:]) | |||
buf = buf[:len(buf)-4] | |||
if header & 0x7fff != FROZEN_COOKIE { | |||
return FrozenBitmapInvalidCookie | |||
} | |||
nCont := int(header >> 15) | |||
if nCont > (1 << 16) { | |||
return FrozenBitmapOverpopulated | |||
} | |||
// 1 byte per type, 2 bytes per key, 2 bytes per count. | |||
if len(buf) < 5*nCont { | |||
return FrozenBitmapIncomplete | |||
} | |||
types := buf[len(buf)-nCont:] | |||
buf = buf[:len(buf)-nCont] | |||
counts := byteSliceAsUint16Slice(buf[len(buf)-2*nCont:]) | |||
buf = buf[:len(buf)-2*nCont] | |||
keys := byteSliceAsUint16Slice(buf[len(buf)-2*nCont:]) | |||
buf = buf[:len(buf)-2*nCont] | |||
nBitmap, nArray, nRun := uint64(0), uint64(0), uint64(0) | |||
nArrayEl, nRunEl := uint64(0), uint64(0) | |||
for i, t := range types { | |||
switch (t) { | |||
case 1: | |||
nBitmap++ | |||
case 2: | |||
nArray++ | |||
nArrayEl += uint64(counts[i])+1 | |||
case 3: | |||
nRun++ | |||
nRunEl += uint64(counts[i]) | |||
default: | |||
return FrozenBitmapInvalidTypecode | |||
} | |||
} | |||
if uint64(len(buf)) < (1 << 13)*nBitmap + 4*nRunEl + 2*nArrayEl { | |||
return FrozenBitmapIncomplete | |||
} | |||
bitsetsArena := byteSliceAsUint64Slice(buf[:(1 << 13)*nBitmap]) | |||
buf = buf[(1 << 13)*nBitmap:] | |||
runsArena := byteSliceAsInterval16Slice(buf[:4*nRunEl]) | |||
buf = buf[4*nRunEl:] | |||
arraysArena := byteSliceAsUint16Slice(buf[:2*nArrayEl]) | |||
buf = buf[2*nArrayEl:] | |||
if len(buf) != 0 { | |||
return FrozenBitmapUnexpectedData | |||
} | |||
// TODO: maybe arena_alloc all this. | |||
containers := make([]container, nCont) | |||
bitsets := make([]bitmapContainer, nBitmap) | |||
arrays := make([]arrayContainer, nArray) | |||
runs := make([]runContainer16, nRun) | |||
needCOW := make([]bool, nCont) | |||
iBitset, iArray, iRun := uint64(0), uint64(0), uint64(0) | |||
for i, t := range types { | |||
needCOW[i] = true | |||
switch (t) { | |||
case 1: | |||
containers[i] = &bitsets[iBitset] | |||
bitsets[iBitset].cardinality = int(counts[i])+1 | |||
bitsets[iBitset].bitmap = bitsetsArena[:1024] | |||
bitsetsArena = bitsetsArena[1024:] | |||
iBitset++ | |||
case 2: | |||
containers[i] = &arrays[iArray] | |||
arrays[iArray].content = arraysArena[:counts[i]+1] | |||
arraysArena = arraysArena[counts[i]+1:] | |||
iArray++ | |||
case 3: | |||
containers[i] = &runs[iRun] | |||
runs[iRun].iv = runsArena[:counts[i]] | |||
runsArena = runsArena[counts[i]:] | |||
iRun++ | |||
} | |||
} | |||
// Not consuming the full input is a bug. | |||
if iBitset != nBitmap || len(bitsetsArena) != 0 || | |||
iArray != nArray || len(arraysArena) != 0 || | |||
iRun != nRun || len(runsArena) != 0 { | |||
panic("we missed something") | |||
} | |||
ra.keys = keys | |||
ra.containers = containers | |||
ra.needCopyOnWrite = needCOW | |||
ra.copyOnWrite = true | |||
return nil | |||
} | |||
func (bm *Bitmap) GetFrozenSizeInBytes() uint64 { | |||
nBits, nArrayEl, nRunEl := uint64(0), uint64(0), uint64(0) | |||
for _, c := range bm.highlowcontainer.containers { | |||
switch v := c.(type) { | |||
case *bitmapContainer: | |||
nBits++ | |||
case *arrayContainer: | |||
nArrayEl += uint64(len(v.content)) | |||
case *runContainer16: | |||
nRunEl += uint64(len(v.iv)) | |||
} | |||
} | |||
return 4 + 5*uint64(len(bm.highlowcontainer.containers)) + | |||
(nBits << 13) + 2*nArrayEl + 4*nRunEl | |||
} | |||
func (bm *Bitmap) Freeze() ([]byte, error) { | |||
sz := bm.GetFrozenSizeInBytes() | |||
buf := make([]byte, sz) | |||
_, err := bm.FreezeTo(buf) | |||
return buf, err | |||
} | |||
func (bm *Bitmap) FreezeTo(buf []byte) (int, error) { | |||
containers := bm.highlowcontainer.containers | |||
nCont := len(containers) | |||
nBits, nArrayEl, nRunEl := 0, 0, 0 | |||
for _, c := range containers { | |||
switch v := c.(type) { | |||
case *bitmapContainer: | |||
nBits++ | |||
case *arrayContainer: | |||
nArrayEl += len(v.content) | |||
case *runContainer16: | |||
nRunEl += len(v.iv) | |||
} | |||
} | |||
serialSize := 4 + 5*nCont + (1 << 13)*nBits + 4*nRunEl + 2*nArrayEl | |||
if len(buf) < serialSize { | |||
return 0, FrozenBitmapBufferTooSmall | |||
} | |||
bitsArena := byteSliceAsUint64Slice(buf[:(1 << 13)*nBits]) | |||
buf = buf[(1 << 13)*nBits:] | |||
runsArena := byteSliceAsInterval16Slice(buf[:4*nRunEl]) | |||
buf = buf[4*nRunEl:] | |||
arraysArena := byteSliceAsUint16Slice(buf[:2*nArrayEl]) | |||
buf = buf[2*nArrayEl:] | |||
keys := byteSliceAsUint16Slice(buf[:2*nCont]) | |||
buf = buf[2*nCont:] | |||
counts := byteSliceAsUint16Slice(buf[:2*nCont]) | |||
buf = buf[2*nCont:] | |||
types := buf[:nCont] | |||
buf = buf[nCont:] | |||
header := uint32(FROZEN_COOKIE|(nCont << 15)) | |||
binary.LittleEndian.PutUint32(buf[:4], header) | |||
copy(keys, bm.highlowcontainer.keys[:]) | |||
for i, c := range containers { | |||
switch v := c.(type) { | |||
case *bitmapContainer: | |||
copy(bitsArena, v.bitmap) | |||
bitsArena = bitsArena[1024:] | |||
counts[i] = uint16(v.cardinality-1) | |||
types[i] = 1 | |||
case *arrayContainer: | |||
copy(arraysArena, v.content) | |||
arraysArena = arraysArena[len(v.content):] | |||
elems := len(v.content) | |||
counts[i] = uint16(elems)-1 | |||
types[i] = 2 | |||
case *runContainer16: | |||
copy(runsArena, v.iv) | |||
runs := len(v.iv) | |||
runsArena = runsArena[runs:] | |||
counts[i] = uint16(runs) | |||
types[i] = 3 | |||
} | |||
} | |||
return serialSize, nil | |||
} |
@@ -384,7 +384,6 @@ func (c *CPUInfo) frequencies() { | |||
eax, ebx, ecx, _ := cpuid(0x15) | |||
if eax != 0 && ebx != 0 && ecx != 0 { | |||
c.Hz = (int64(ecx) * int64(ebx)) / int64(eax) | |||
fmt.Println("frequencies(): ", ecx, ebx, eax, "->", c.Hz) | |||
} | |||
} | |||
if mfi >= 0x16 { |
@@ -8,7 +8,7 @@ goldmark | |||
> A Markdown parser written in Go. Easy to extend, standards-compliant, well-structured. | |||
goldmark is compliant with CommonMark 0.29. | |||
goldmark is compliant with CommonMark 0.30. | |||
Motivation | |||
---------------------- |
@@ -332,7 +332,7 @@ type List struct { | |||
Marker byte | |||
// IsTight is a true if this list is a 'tight' list. | |||
// See https://spec.commonmark.org/0.29/#loose for details. | |||
// See https://spec.commonmark.org/0.30/#loose for details. | |||
IsTight bool | |||
// Start is an initial number of this ordered list. | |||
@@ -414,7 +414,7 @@ func NewListItem(offset int) *ListItem { | |||
} | |||
// HTMLBlockType represents kinds of an html blocks. | |||
// See https://spec.commonmark.org/0.29/#html-blocks | |||
// See https://spec.commonmark.org/0.30/#html-blocks | |||
type HTMLBlockType int | |||
const ( |
@@ -111,7 +111,7 @@ func (n *Text) SetRaw(v bool) { | |||
} | |||
// HardLineBreak returns true if this node ends with a hard line break. | |||
// See https://spec.commonmark.org/0.29/#hard-line-breaks for details. | |||
// See https://spec.commonmark.org/0.30/#hard-line-breaks for details. | |||
func (n *Text) HardLineBreak() bool { | |||
return n.flags&textHardLineBreak != 0 | |||
} |
@@ -30,11 +30,11 @@ type Delimiter struct { | |||
Segment text.Segment | |||
// CanOpen is set true if this delimiter can open a span for a new node. | |||
// See https://spec.commonmark.org/0.29/#can-open-emphasis for details. | |||
// See https://spec.commonmark.org/0.30/#can-open-emphasis for details. | |||
CanOpen bool | |||
// CanClose is set true if this delimiter can close a span for a new node. | |||
// See https://spec.commonmark.org/0.29/#can-open-emphasis for details. | |||
// See https://spec.commonmark.org/0.30/#can-open-emphasis for details. | |||
CanClose bool | |||
// Length is a remaining length of this delimiter. |
@@ -76,8 +76,8 @@ var allowedBlockTags = map[string]bool{ | |||
"ul": true, | |||
} | |||
var htmlBlockType1OpenRegexp = regexp.MustCompile(`(?i)^[ ]{0,3}<(script|pre|style)(?:\s.*|>.*|/>.*|)\n?$`) | |||
var htmlBlockType1CloseRegexp = regexp.MustCompile(`(?i)^.*</(?:script|pre|style)>.*`) | |||
var htmlBlockType1OpenRegexp = regexp.MustCompile(`(?i)^[ ]{0,3}<(script|pre|style|textarea)(?:\s.*|>.*|/>.*|)\n?$`) | |||
var htmlBlockType1CloseRegexp = regexp.MustCompile(`(?i)^.*</(?:script|pre|style|textarea)>.*`) | |||
var htmlBlockType2OpenRegexp = regexp.MustCompile(`^[ ]{0,3}<!\-\-`) | |||
var htmlBlockType2Close = []byte{'-', '-', '>'} |
@@ -1148,7 +1148,7 @@ func (p *parser) parseBlock(block text.BlockReader, parent ast.Node, pc Context) | |||
} else if hasNewLine { | |||
// If the line ends with a newline character, but it is not a hardlineBreak, then it is a softLinebreak | |||
// If the line ends with a hardlineBreak, then it cannot end with a softLinebreak | |||
// See https://spec.commonmark.org/0.29/#soft-line-breaks | |||
// See https://spec.commonmark.org/0.30/#soft-line-breaks | |||
softLinebreak = true | |||
} | |||
@@ -37,7 +37,7 @@ github.com/Microsoft/go-winio/pkg/guid | |||
# github.com/NYTimes/gziphandler v1.1.1 | |||
## explicit | |||
github.com/NYTimes/gziphandler | |||
# github.com/ProtonMail/go-crypto v0.0.0-20210512092938-c05353c2d58c | |||
# github.com/ProtonMail/go-crypto v0.0.0-20210705153151-cc34b1f6908b | |||
## explicit | |||
github.com/ProtonMail/go-crypto/bitcurves | |||
github.com/ProtonMail/go-crypto/brainpool | |||
@@ -62,7 +62,7 @@ github.com/PuerkitoBio/goquery | |||
github.com/PuerkitoBio/purell | |||
# github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 | |||
github.com/PuerkitoBio/urlesc | |||
# github.com/RoaringBitmap/roaring v0.8.0 | |||
# github.com/RoaringBitmap/roaring v0.9.1 | |||
## explicit | |||
github.com/RoaringBitmap/roaring | |||
github.com/RoaringBitmap/roaring/internal | |||
@@ -539,7 +539,7 @@ github.com/klauspost/compress/gzip | |||
github.com/klauspost/compress/huff0 | |||
github.com/klauspost/compress/zstd | |||
github.com/klauspost/compress/zstd/internal/xxhash | |||
# github.com/klauspost/cpuid/v2 v2.0.7 | |||
# github.com/klauspost/cpuid/v2 v2.0.8 | |||
## explicit | |||
github.com/klauspost/cpuid/v2 | |||
# github.com/klauspost/pgzip v1.2.5 | |||
@@ -797,7 +797,7 @@ github.com/xi2/xz | |||
# github.com/yohcop/openid-go v1.0.0 | |||
## explicit | |||
github.com/yohcop/openid-go | |||
# github.com/yuin/goldmark v1.3.9 | |||
# github.com/yuin/goldmark v1.4.0 | |||
## explicit | |||
github.com/yuin/goldmark | |||
github.com/yuin/goldmark/ast | |||
@@ -1037,7 +1037,7 @@ strk.kbt.io/projects/go/libravatar | |||
# xorm.io/builder v0.3.9 | |||
## explicit | |||
xorm.io/builder | |||
# xorm.io/xorm v1.1.1 | |||
# xorm.io/xorm v1.1.2 | |||
## explicit | |||
xorm.io/xorm | |||
xorm.io/xorm/caches |
@@ -347,3 +347,19 @@ steps: | |||
image: golang:1.15 | |||
commands: | |||
- make coverage | |||
--- | |||
kind: pipeline | |||
name: release-tag | |||
trigger: | |||
event: | |||
- tag | |||
steps: | |||
- name: release-tag-gitea | |||
pull: always | |||
image: plugins/gitea-release:latest | |||
settings: | |||
base_url: https://gitea.com | |||
title: '${DRONE_TAG} is released' | |||
api_key: | |||
from_secret: gitea_token |
@@ -3,6 +3,11 @@ | |||
This changelog goes through all the changes that have been made in each release | |||
without substantial changes to our git log. | |||
## [1.1.2](https://gitea.com/xorm/xorm/releases/tag/1.1.2) - 2021-07-04 | |||
* BUILD | |||
* Add release tag (#1966) | |||
## [1.1.1](https://gitea.com/xorm/xorm/releases/tag/1.1.1) - 2021-07-03 | |||
* BUGFIXES |