tijo-export: reduce memory usage
Dependencies
- [2]
XJAW762UAdd tijo-export command
Change contents
- edit in cmd/tijo-export/main.go at line 151
}if err := stream.WriteTo(os.Stdout); err != nil {printErrorAndExit("Error writing output stream:", err) - replacement in cmd/tijo-export/fast-export.go at line 6
"io""os" - replacement in cmd/tijo-export/fast-export.go at line 15
func (f FileModify) WriteTo(w io.Writer) error {_, err := fmt.Fprintf(w, "M 644 :%d %s\n", f.Blob, f.Path)return errfunc (f FileModify) write() {fmt.Printf("M 644 :%d %s\n", f.Blob, f.Path) - replacement in cmd/tijo-export/fast-export.go at line 30
func (c Commit) WriteTo(w io.Writer) error {if _, err := fmt.Fprintln(w, "commit refs/heads/"+c.Branch); err != nil {return err}func (c Commit) write() {fmt.Println("commit refs/heads/" + c.Branch) - replacement in cmd/tijo-export/fast-export.go at line 33
if _, err := fmt.Fprintf(w, "mark :%d\n", c.Mark); err != nil {return err}}if _, err := fmt.Fprintln(w, "committer", c.Committer, formatTime(c.Timestamp)); err != nil {return err}if _, err := fmt.Fprintln(w, "data", len(c.Message)); err != nil {return err}if _, err := fmt.Fprintln(w, c.Message); err != nil {return errfmt.Printf("mark :%d\n", c.Mark) - edit in cmd/tijo-export/fast-export.go at line 35
fmt.Println("committer", c.Committer, formatTime(c.Timestamp))fmt.Println("data", len(c.Message))fmt.Println(c.Message) - replacement in cmd/tijo-export/fast-export.go at line 39
if _, err := fmt.Fprintf(w, "from :%d\n", c.From); err != nil {return err}fmt.Printf("from :%d\n", c.From) - replacement in cmd/tijo-export/fast-export.go at line 42
if _, err := fmt.Fprintln(w, "deleteall"); err != nil {return err}fmt.Println("deleteall") - replacement in cmd/tijo-export/fast-export.go at line 45
if err := m.WriteTo(w); err != nil {return err}}if _, err := fmt.Fprintln(w); err != nil {return errm.write() - replacement in cmd/tijo-export/fast-export.go at line 47
return nilfmt.Println() - replacement in cmd/tijo-export/fast-export.go at line 55
func (b Blob) WriteTo(w io.Writer) error {if _, err := fmt.Fprintln(w, "blob"); err != nil {return err}func (b Blob) write() {fmt.Println("blob") - replacement in cmd/tijo-export/fast-export.go at line 58
if _, err := fmt.Fprintf(w, "mark :%d\n", b.Mark); err != nil {return err}fmt.Printf("mark :%d\n", b.Mark) - replacement in cmd/tijo-export/fast-export.go at line 60
if _, err := fmt.Fprintln(w, "data", len(b.Data)); err != nil {return err}if _, err := w.Write(b.Data); err != nil {return err}if _, err := fmt.Fprintln(w); err != nil {return err}return nilfmt.Println("data", len(b.Data))os.Stdout.Write(b.Data)fmt.Println() - replacement in cmd/tijo-export/fast-export.go at line 65
// A FastExportStream is an in-memory representation of a fast-export stream.// A FastExportStream is a representation of a fast-export stream. - edit in cmd/tijo-export/fast-export.go at line 67
Commits []CommitBlobs []Blob - replacement in cmd/tijo-export/fast-export.go at line 75
f.Commits = append(f.Commits, c)}func (f *FastExportStream) ReverseCommits() {for i, j := 0, len(f.Commits)-1; j > i; i, j = i+1, j-1 {f.Commits[i], f.Commits[j] = f.Commits[j], f.Commits[i]}}func (f *FastExportStream) WriteTo(w io.Writer) error {for _, b := range f.Blobs {if err := b.WriteTo(w); err != nil {return err}}for _, c := range f.Commits {if err := c.WriteTo(w); err != nil {return err}}return nilc.write() - edit in cmd/tijo-export/fast-export.go at line 88
f.Blobs = append(f.Blobs, b) - edit in cmd/tijo-export/fast-export.go at line 94
b.write()