Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(72)

Unified Diff: experimental/webtry/webtry.go

Issue 258033006: Add git revision info to the titlebar (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Created 6 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « experimental/webtry/templates/workspace.html ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: experimental/webtry/webtry.go
diff --git a/experimental/webtry/webtry.go b/experimental/webtry/webtry.go
index 8e02a751a32f6786f00cb669a837e02d01f9602a..7357b61b304940e785a9fb95b0f9d1c3e0d811b1 100644
--- a/experimental/webtry/webtry.go
+++ b/experimental/webtry/webtry.go
@@ -98,6 +98,9 @@ var (
"wood", "dream", "cherry", "tree", "fog", "frost", "voice", "paper",
"frog", "smoke", "star",
}
+
+ gitHash = ""
+ gitInfo = ""
)
// flags
@@ -163,6 +166,18 @@ func init() {
panic(err)
}
+ // The git command returns output of the format:
+ //
+ // f672cead70404080a991ebfb86c38316a4589b23 2014-04-27 19:21:51 +0000
+ //
+ logOutput, err := doCmd(`git log --format=%H%x20%ai HEAD^..HEAD`, true)
+ if err != nil {
+ panic(err)
+ }
+ logInfo := strings.Split(logOutput, " ")
+ gitHash = logInfo[0]
+ gitInfo = logInfo[1] + " " + logInfo[2] + " " + logInfo[0][0:6]
+
// Connect to MySQL server. First, get the password from the metadata server.
// See https://developers.google.com/compute/docs/metadata#custom.
req, err := http.NewRequest("GET", "http://metadata/computeMetadata/v1/instance/attributes/password", nil)
@@ -221,10 +236,17 @@ func init() {
}
}
+// Titlebar is used in titlebar template expansion.
+type Titlebar struct {
+ GitHash string
+ GitInfo string
+}
+
// userCode is used in template expansion.
type userCode struct {
- Code string
- Hash string
+ Code string
+ Hash string
+ Titlebar Titlebar
}
// expandToFile expands the template and writes the result to the file.
@@ -234,7 +256,7 @@ func expandToFile(filename string, code string, t *template.Template) error {
return err
}
defer f.Close()
- return t.Execute(f, userCode{Code: code})
+ return t.Execute(f, userCode{Code: code, Titlebar: Titlebar{GitHash: gitHash, GitInfo: gitInfo}})
}
// expandCode expands the template into a file and calculate the MD5 hash.
@@ -365,7 +387,8 @@ type Try struct {
}
type Recent struct {
- Tries []Try
+ Tries []Try
+ Titlebar Titlebar
}
// recentHandler shows the last 20 tries.
@@ -388,16 +411,17 @@ func recentHandler(w http.ResponseWriter, r *http.Request) {
}
recent = append(recent, Try{Hash: hash, CreateTS: create_ts.Format("2006-02-01")})
}
- if err := recentTemplate.Execute(w, Recent{Tries: recent}); err != nil {
+ if err := recentTemplate.Execute(w, Recent{Tries: recent, Titlebar: Titlebar{GitHash: gitHash, GitInfo: gitInfo}}); err != nil {
log.Printf("ERROR: Failed to expand template: %q\n", err)
}
}
type Workspace struct {
- Name string
- Code string
- Hash string
- Tries []Try
+ Name string
+ Code string
+ Hash string
+ Tries []Try
+ Titlebar Titlebar
}
// newWorkspace generates a new random workspace name and stores it in the database.
@@ -457,7 +481,7 @@ func workspaceHandler(w http.ResponseWriter, r *http.Request) {
hash = tries[len(tries)-1].Hash
code, _ = getCode(hash)
}
- if err := workspaceTemplate.Execute(w, Workspace{Tries: tries, Code: code, Name: name, Hash: hash}); err != nil {
+ if err := workspaceTemplate.Execute(w, Workspace{Tries: tries, Code: code, Name: name, Hash: hash, Titlebar: Titlebar{GitHash: gitHash, GitInfo: gitInfo}}); err != nil {
log.Printf("ERROR: Failed to expand template: %q\n", err)
}
} else if r.Method == "POST" {
@@ -577,7 +601,7 @@ func mainHandler(w http.ResponseWriter, r *http.Request) {
}
}
// Expand the template.
- if err := indexTemplate.Execute(w, userCode{Code: code, Hash: hash}); err != nil {
+ if err := indexTemplate.Execute(w, userCode{Code: code, Hash: hash, Titlebar: Titlebar{GitHash: gitHash, GitInfo: gitInfo}}); err != nil {
log.Printf("ERROR: Failed to expand template: %q\n", err)
}
} else if r.Method == "POST" {
« no previous file with comments | « experimental/webtry/templates/workspace.html ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698