summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--memex/init.go59
-rw-r--r--memex/main.go14
2 files changed, 11 insertions, 62 deletions
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)
}
}
}