add --keep-dist
This commit is contained in:
@@ -11,7 +11,7 @@ func TestMerge(t *testing.T) {
|
|||||||
t.Errorf("got %q", v)
|
t.Errorf("got %q", v)
|
||||||
}
|
}
|
||||||
|
|
||||||
if v := unparse(genericMerge(parse(`
|
if v := unparse(genericMerge(parse(`
|
||||||
a: t
|
a: t
|
||||||
b: t
|
b: t
|
||||||
m:
|
m:
|
||||||
@@ -32,8 +32,8 @@ m:
|
|||||||
b1: t
|
b1: t
|
||||||
c1: s
|
c1: s
|
||||||
` {
|
` {
|
||||||
t.Errorf("got\n%s", v)
|
t.Errorf("got\n%s", v)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func parse(s string) (r interface{}) {
|
func parse(s string) (r interface{}) {
|
||||||
|
|||||||
@@ -86,7 +86,12 @@ func updateCache() {
|
|||||||
|
|
||||||
existing := []string{}
|
existing := []string{}
|
||||||
|
|
||||||
for _, dir := range []string{distDir, cacheDir} {
|
cleanDirs := []string{cacheDir}
|
||||||
|
if !*keepDist {
|
||||||
|
cleanDirs = append(cleanDirs, distDir)
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, dir := range cleanDirs {
|
||||||
fs.WalkDir(os.DirFS(dir), ".", func(path string, d fs.DirEntry, err error) error {
|
fs.WalkDir(os.DirFS(dir), ".", func(path string, d fs.DirEntry, err error) error {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Printf("update cache: walking %s failed: %v", dir, err)
|
log.Printf("update cache: walking %s failed: %v", dir, err)
|
||||||
|
|||||||
@@ -8,7 +8,8 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
dataDir = flag.String("data", "/var/lib/direktil", "Data dir")
|
dataDir = flag.String("data", "/var/lib/direktil", "Data dir")
|
||||||
|
keepDist = flag.Bool("keep-dist", false, "Keep dist files during cache cleanup (still removes assembled erofs)")
|
||||||
)
|
)
|
||||||
|
|
||||||
func configFilePath() string {
|
func configFilePath() string {
|
||||||
|
|||||||
+6
-6
@@ -2,23 +2,23 @@ package utf16
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"encoding/binary"
|
"encoding/binary"
|
||||||
"fmt"
|
"fmt"
|
||||||
"unicode/utf8"
|
"unicode/utf8"
|
||||||
)
|
)
|
||||||
|
|
||||||
func FromUTF8(data []byte) (res []byte) {
|
func FromUTF8(data []byte) (res []byte) {
|
||||||
endian := binary.LittleEndian
|
endian := binary.LittleEndian
|
||||||
|
|
||||||
res = make([]byte, (len(data)+1)*2)
|
res = make([]byte, (len(data)+1)*2)
|
||||||
|
|
||||||
res = res[:2]
|
res = res[:2]
|
||||||
endian.PutUint16(res, 0xfeff)
|
endian.PutUint16(res, 0xfeff)
|
||||||
|
|
||||||
for len(data) > 0 {
|
for len(data) > 0 {
|
||||||
r, size := utf8.DecodeRune(data)
|
r, size := utf8.DecodeRune(data)
|
||||||
if r > 65535 {
|
if r > 65535 {
|
||||||
panic(fmt.Errorf("r=0x%x > 0xffff", r))
|
panic(fmt.Errorf("r=0x%x > 0xffff", r))
|
||||||
}
|
}
|
||||||
|
|
||||||
slen := len(res)
|
slen := len(res)
|
||||||
res = res[:slen+2]
|
res = res[:slen+2]
|
||||||
|
|||||||
Reference in New Issue
Block a user