From 8c19b69d93c99e27f6a0ebe34d531831bb164589 Mon Sep 17 00:00:00 2001 From: Quentin Carbonneaux Date: Fri, 23 Jun 2023 15:36:41 +0200 Subject: [mx] inline init command --- memex/init.go | 59 ----------------------------------------------------------- memex/main.go | 14 +++++++++++--- 2 files changed, 11 insertions(+), 62 deletions(-) delete mode 100644 memex/init.go diff --git a/memex/init.go b/memex/init.go deleted file mode 100644 index fe1f4a0..0000000 --- a/memex/init.go +++ /dev/null @@ -1,59 +0,0 @@ -package main - -import ( - "fmt" - "os" - "path" -) - -type Maker struct { - op string - err error -} - -func (m *Maker) Error() string { - return fmt.Sprintf("could not %s\n%v", m.op, m.err) -} - -func MakeMaker() *Maker { - return &Maker{err: nil} -} - -func (m *Maker) MkDir(path string) { - if m.err != nil { - return - } - m.op = "mkdir " + path - m.err = os.Mkdir(path, 0777) -} - -func (m *Maker) MkRef(arch, ref string) { - if m.err != nil { - return - } - m.err = NewRef(arch, ref) - if m.err == nil { - m.err = WriteRef(arch, ref, ZeroAddr) - } -} - -func (m *Maker) Done() error { - if m.err != nil { - return m - } - return nil -} - -func InitArchive(apath string) error { - m := MakeMaker() - dirs := []string{"", "seg", "stash", "memex", "memex/refs"} - for _, d := range dirs { - m.MkDir(path.Join(apath, d)) - } - m.MkRef(apath, "main") - return m.Done() -} - -func InitCheckout(cpath string) error { - return nil -} diff --git a/memex/main.go b/memex/main.go index 14178d8..c62a203 100644 --- a/memex/main.go +++ b/memex/main.go @@ -742,11 +742,19 @@ func syncCmd(args syncArgs) { } func initCmd(paths []string) { + dirs := []string{"", "seg", "stash", "memex", "memex/refs"} for _, p := range paths { - if err := InitArchive(p); err != nil { + for _, d := range dirs { + err := os.Mkdir(path.Join(p, d), 0777) + if err != nil { + faile(err) + } + } + if err := NewRef(p, "main"); err != nil { + faile(err) + } + if err := WriteRef(p, "main", ZeroAddr); err != nil { faile(err) - } else { - fmt.Println("initialized new archive in", p) } } } -- cgit v1.2.3