From 7d5f4e73158cfc4837e6fe1ccf609c931c4f87b7 Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Wed, 2 Nov 2016 18:53:20 -0400 Subject: views --- got/deleted.got | 6 ++++++ got/modified.got | 6 ++++++ got/view_blob.got | 8 ++++++++ got/view_tree.got | 2 ++ src/edit/git.go | 9 +++++++-- src/edit/posthack.go | 2 +- src/edit/util.go | 18 ++++++++++++++++++ src/edit/views.go | 24 ++++++++++++++++++++---- 8 files changed, 68 insertions(+), 7 deletions(-) diff --git a/got/deleted.got b/got/deleted.got index e69de29..b1aa645 100644 --- a/got/deleted.got +++ b/got/deleted.got @@ -0,0 +1,6 @@ + +

Deleted: {{.path | html}}

+

File has successfully been deleted.

+ diff --git a/got/modified.got b/got/modified.got index e69de29..f62b21d 100644 --- a/got/modified.got +++ b/got/modified.got @@ -0,0 +1,6 @@ + +

Modified: {{.path | html}}

+

File has successfully been modified.

+ diff --git a/got/view_blob.got b/got/view_blob.got index a1d7e2c..63039f2 100644 --- a/got/view_blob.got +++ b/got/view_blob.got @@ -24,3 +24,11 @@ +
+ + + +
diff --git a/got/view_tree.got b/got/view_tree.got index 46f4af7..e4539a7 100644 --- a/got/view_tree.got +++ b/got/view_tree.got @@ -11,6 +11,8 @@ {{$name | html}} {{$file.Type | html}} {{if lt $file.Size 0}}-{{else}}{{$file.Size | html}}{{end}} +
+
{{end}} diff --git a/src/edit/git.go b/src/edit/git.go index 715a703..25d46cc 100644 --- a/src/edit/git.go +++ b/src/edit/git.go @@ -10,12 +10,17 @@ import ( "time" ) +// Use .Output() instead of .Run() so that it populates +// ExitError.Stderr. + func GitPull() error { - return exec.Command("git", "fetch").Run() + _, err := exec.Command("git", "fetch").Output() + return err } func GitPush() error { - return exec.Command("git", "push").Run() + _, err := exec.Command("git", "push").Output() + return err } type Edit struct { diff --git a/src/edit/posthack.go b/src/edit/posthack.go index 062903f..9e4759e 100644 --- a/src/edit/posthack.go +++ b/src/edit/posthack.go @@ -28,7 +28,7 @@ func PostHack(req *http.Request) { req.PostForm.Del("_message") } // _body - if file, header, err := req.FormFile("_body"); err != nil { + if file, header, err := req.FormFile("_body"); err == nil { req.Body = file for k, v := range header.Header { req.Header[k] = v diff --git a/src/edit/util.go b/src/edit/util.go index 519e46c..566796c 100644 --- a/src/edit/util.go +++ b/src/edit/util.go @@ -1,7 +1,25 @@ package main +import ( + "os/exec" +) + +type exitError exec.ExitError + +func (e *exitError) Error() string { + ret := e.ProcessState.String() + if len(e.Stderr) > 0 { + ret += "\n" + string(e.Stderr) + } + return ret +} + func errcheck(err error) { if err != nil { + if ee, ok := err.(*exec.ExitError); ok { + ee2 := exitError(*ee) + err = &ee2 + } panic(err) } } diff --git a/src/edit/views.go b/src/edit/views.go index d5ad985..81a6945 100644 --- a/src/edit/views.go +++ b/src/edit/views.go @@ -73,11 +73,27 @@ func renderViewBlob(w io.Writer, upath string, file GitFile) error { } func renderModified(w io.Writer, upath string) error { - // TODO - return nil + // Component render + var buf bytes.Buffer + err := tmplModified.Execute(&buf, map[string]string{ + "path": upath, + }) + if err != nil { + return err + } + // Page render + return renderPage(w, upath, "", buf.String()) } func renderDeleted(w io.Writer, upath string) error { - // TODO - return nil + // Component render + var buf bytes.Buffer + err := tmplDeleted.Execute(&buf, map[string]string{ + "path": upath, + }) + if err != nil { + return err + } + // Page render + return renderPage(w, upath, "", buf.String()) } -- cgit v1.2.3