- commit
- 220e877
- parent
- 0ea845e
- author
- Eric Bower
- date
- 2024-05-09 22:34:14 -0400 EDT
tweaks
3 files changed,
+39,
-9
+1,
-0
1@@ -13,3 +13,4 @@ ssh_data
2 __debug_bin
3 .bin
4 /public/
5+test.db
M
mdw.go
+37,
-8
1@@ -246,7 +246,10 @@ func GitPatchRequestMiddleware(be *Backend, pr GitPatchRequest) wish.Middleware
2 return func(sesh ssh.Session) {
3 pubkey := be.Pubkey(sesh.PublicKey())
4 args := sesh.Command()
5- cmd := args[0]
6+ cmd := "help"
7+ if len(args) > 0 {
8+ cmd = args[0]
9+ }
10
11 if cmd == "git-receive-pack" || cmd == "git-upload-pack" {
12 repoName := args[1]
13@@ -278,6 +281,12 @@ func GitPatchRequestMiddleware(be *Backend, pr GitPatchRequest) wish.Middleware
14 accept := prCmd.Bool("accept", false, "mark patch request as accepted")
15 closed := prCmd.Bool("close", false, "mark patch request as closed")
16 review := prCmd.Bool("review", false, "mark patch request as reviewed")
17+ stats := prCmd.Bool("stats", false, "return summary instead of patches")
18+
19+ if len(args) < 2 {
20+ wish.Fatalln(sesh, "must provide repo name or patch request ID")
21+ return
22+ }
23
24 var err error
25 err = prCmd.Parse(args[2:])
26@@ -322,7 +331,7 @@ func GitPatchRequestMiddleware(be *Backend, pr GitPatchRequest) wish.Middleware
27 wish.Fatalln(sesh, err)
28 return
29 }
30- wish.Printf(sesh, "Patch Request submitted! (ID:%d)\n", request.ID)
31+ wish.Printf(sesh, "Patch Request submitted! Use the ID for interacting with this Patch Request.\nID\tName\n%d\t%s\n", request.ID, request.Name)
32 } else if subCmd == "patchRequest" {
33 if *out {
34 patches, err := pr.GetPatchesByPrID(prID)
35@@ -331,14 +340,34 @@ func GitPatchRequestMiddleware(be *Backend, pr GitPatchRequest) wish.Middleware
36 return
37 }
38
39- if len(patches) == 1 {
40- wish.Println(sesh, patches[0].RawText)
41- return
42- }
43+ if *stats {
44+ for _, patch := range patches {
45+ reviewTxt := ""
46+ if patch.Review {
47+ reviewTxt = "[R]"
48+ }
49+ wish.Printf(
50+ sesh,
51+ "%s %s\n%s <%s>\n%s\n%s\n---\n",
52+ patch.Title,
53+ reviewTxt,
54+ patch.AuthorName,
55+ patch.AuthorEmail,
56+ patch.CommitDate.Format(time.RFC3339Nano),
57+ patch.Body,
58+ )
59+ }
60+ } else {
61+ if len(patches) == 1 {
62+ wish.Println(sesh, patches[0].RawText)
63+ return
64+ }
65
66- for _, patch := range patches {
67- wish.Printf(sesh, "%s\n\n\n", patch.RawText)
68+ for _, patch := range patches {
69+ wish.Printf(sesh, "%s\n\n\n", patch.RawText)
70+ }
71 }
72+
73 } else if *accept {
74 if !be.IsAdmin(sesh.PublicKey()) {
75 wish.Fatalln(sesh, "must be admin to accept PR")
M
ssh.go
+1,
-1
1@@ -30,7 +30,7 @@ func GitSshServer() {
2
3 cfg := NewGitCfg()
4 logger := slog.Default()
5- dbh, err := Open(":memory:", logger)
6+ dbh, err := Open("./test.db", logger)
7 if err != nil {
8 panic(err)
9 }