- commit
- 4975e6d
- parent
- f997e92
- author
- jolheiser
- date
- 2024-07-15 00:01:16 -0400 EDT
fix: use config url for web pages This patch uses the config URL in the frontend so that self-hosted users can point contributors to use their SSH server. Signed-off-by: jolheiser <git@jolheiser.com>
4 files changed,
+33,
-16
+8,
-8
1@@ -15,21 +15,21 @@
2 <summary>Help</summary>
3 <div class="group">
4 <pre class="m-0"># add changes to patch request
5-git format-patch {{.Branch}} --stdout | ssh pr.pico.sh pr add {{.Pr.ID}}</pre>
6+git format-patch {{.Branch}} --stdout | ssh {{.MetaData.URL}} pr add {{.Pr.ID}}</pre>
7 <pre class="m-0"># add review to patch request
8-git format-patch {{.Branch}} --stdout | ssh pr.pico.sh pr add --review {{.Pr.ID}}</pre>
9+git format-patch {{.Branch}} --stdout | ssh {{.MetaData.URL}} pr add --review {{.Pr.ID}}</pre>
10 <pre class="m-0"># overwrite patches
11-git format-patch {{.Branch}} --stdout | ssh pr.pico.sh pr add --force {{.Pr.ID}}</pre>
12+git format-patch {{.Branch}} --stdout | ssh {{.MetaData.URL}} pr add --force {{.Pr.ID}}</pre>
13 <pre class="m-0"># checkout all patches
14-ssh pr.pico.sh pr print {{.Pr.ID}} | git am -3</pre>
15+ssh {{.MetaData.URL}} pr print {{.Pr.ID}} | git am -3</pre>
16 <pre class="m-0"># checkout specific patch
17-ssh pr.pico.sh pr print {{.Pr.ID}} --filter n | git am -3</pre>
18+ssh {{.MetaData.URL}} pr print {{.Pr.ID}} --filter n | git am -3</pre>
19 <pre class="m-0"># checkout patch range
20-ssh pr.pico.sh pr print {{.Pr.ID}} --filter n:y | git am -3</pre>
21+ssh {{.MetaData.URL}} pr print {{.Pr.ID}} --filter n:y | git am -3</pre>
22 <pre class="m-0"># accept PR
23-ssh pr.pico.sh pr accept {{.Pr.ID}}</pre>
24+ssh {{.MetaData.URL}} pr accept {{.Pr.ID}}</pre>
25 <pre class="m-0"># close PR
26-ssh pr.pico.sh pr close {{.Pr.ID}}</pre>
27+ssh {{.MetaData.URL}} pr close {{.Pr.ID}}</pre>
28 </div>
29 </details>
30 </header>
+1,
-1
1@@ -19,7 +19,7 @@
2 <details>
3 <summary>Help</summary>
4 <pre class="m-0"># submit a new patch request
5-git format-patch {{.Branch}} --stdout | ssh pr.pico.sh pr create {{.ID}}</pre>
6+git format-patch {{.Branch}} --stdout | ssh {{.MetaData.URL}} pr create {{.ID}}</pre>
7 </details>
8 </div>
9 </header>
+7,
-7
1@@ -16,7 +16,7 @@
2 <a href="https://github.com/picosh/git-pr">github</a> ·
3 <a href="https://youtu.be/d28Dih-BBUw">demo video</a>
4 </div>
5- <pre class="m-0">ssh pr.pico.sh help</pre>
6+ <pre class="m-0">ssh {{.MetaData.URL}} help</pre>
7 <details>
8 <summary>Intro</summary>
9
10@@ -185,24 +185,24 @@ git clone git@github.com:picosh/test.git
11 git add -A && git commit -m "fix: some bugs"
12
13 # Contributor runs:
14-git format-patch origin/main --stdout | ssh pr.pico.sh pr create test
15+git format-patch origin/main --stdout | ssh {{.MetaData.URL}} pr create test
16 # > Patch Request has been created (ID: 1)
17
18 # Owner can checkout patch:
19-ssh pr.pico.sh pr print 1 | git am -3
20+ssh {{.MetaData.URL}} pr print 1 | git am -3
21 # Owner can comment (IN CODE), commit, then send another format-patch
22 # on top of the PR:
23-git format-patch origin/main --stdout | ssh pr.pico.sh pr add --review 1
24+git format-patch origin/main --stdout | ssh {{.MetaData.URL}} pr add --review 1
25 # UI clearly marks patch as a review
26
27 # Contributor can checkout reviews
28-ssh pr.pico.sh pr print 1 | git am -3
29+ssh {{.MetaData.URL}} pr print 1 | git am -3
30
31 # Owner can reject a pr:
32-ssh pr.pico.sh pr close 1
33+ssh {{.MetaData.URL}} pr close 1
34
35 # Owner can accept a pr:
36-ssh pr.pico.sh pr accept 1
37+ssh {{.MetaData.URL}} pr accept 1
38
39 # Owner can prep PR for upstream:
40 git rebase -i origin/main
M
web.go
+17,
-0
1@@ -40,6 +40,7 @@ func getWebCtx(r *http.Request) (*WebCtx, error) {
2 }
3 return data, nil
4 }
5+
6 func setWebCtx(ctx context.Context, web *WebCtx) context.Context {
7 return context.WithValue(ctx, ctxWeb{}, web)
8 }
9@@ -92,6 +93,7 @@ type RepoData struct {
10
11 type RepoListData struct {
12 Repos []RepoData
13+ MetaData
14 }
15
16 func repoListHandler(w http.ResponseWriter, r *http.Request) {
17@@ -148,12 +150,19 @@ func repoListHandler(w http.ResponseWriter, r *http.Request) {
18 tmpl := getTemplate("repo-list.html")
19 err = tmpl.Execute(w, RepoListData{
20 Repos: repoData,
21+ MetaData: MetaData{
22+ URL: web.Backend.Cfg.Url,
23+ },
24 })
25 if err != nil {
26 web.Backend.Logger.Error("cannot execute template", "err", err)
27 }
28 }
29
30+type MetaData struct {
31+ URL string
32+}
33+
34 type PrListData struct {
35 LinkData
36 ID int64
37@@ -172,6 +181,7 @@ type RepoDetailData struct {
38 AcceptedPrs []PrListData
39 ClosedPrs []PrListData
40 ReviewedPrs []PrListData
41+ MetaData
42 }
43
44 func repoDetailHandler(w http.ResponseWriter, r *http.Request) {
45@@ -246,6 +256,9 @@ func repoDetailHandler(w http.ResponseWriter, r *http.Request) {
46 AcceptedPrs: acceptedList,
47 ClosedPrs: closedList,
48 ReviewedPrs: reviewedList,
49+ MetaData: MetaData{
50+ URL: web.Backend.Cfg.Url,
51+ },
52 })
53 if err != nil {
54 web.Backend.Logger.Error("cannot execute template", "err", err)
55@@ -282,6 +295,7 @@ type PrDetailData struct {
56 Patches []PatchData
57 Branch string
58 Logs []EventLogData
59+ MetaData
60 }
61
62 func prDetailHandler(w http.ResponseWriter, r *http.Request) {
63@@ -386,6 +400,9 @@ func prDetailHandler(w http.ResponseWriter, r *http.Request) {
64 Date: pr.CreatedAt.Format(time.RFC3339),
65 Status: pr.Status,
66 },
67+ MetaData: MetaData{
68+ URL: web.Backend.Cfg.Url,
69+ },
70 })
71 if err != nil {
72 web.Backend.Logger.Error("cannot execute template", "err", err)