The compare forks option dropdown now shows repos in which you are a collaborator on instead of just repos you own.
+8
-5
appview/db/repos.go
+8
-5
appview/db/repos.go
···
467
var repos []Repo
468
469
rows, err := e.Query(
470
+
`select distinct r.did, r.name, r.knot, r.rkey, r.description, r.created, r.at_uri, r.source
471
+
from repos r
472
+
left join collaborators c on r.at_uri = c.repo_at
473
+
where (r.did = ? or c.subject_did = ?)
474
+
and r.source is not null
475
+
and r.source != ''
476
+
order by r.created desc`,
477
+
did, did,
478
)
479
if err != nil {
480
return nil, err
+2
-2
appview/pages/templates/repo/pulls/fragments/pullCompareForks.html
+2
-2
appview/pages/templates/repo/pulls/fragments/pullCompareForks.html
+10
-5
appview/pulls/pulls.go
+10
-5
appview/pulls/pulls.go
···
852
}
853
854
func (s *Pulls) handleForkBasedPull(w http.ResponseWriter, r *http.Request, f *reporesolver.ResolvedRepo, user *oauth.User, forkRepo string, title, body, targetBranch, sourceBranch string, isStacked bool) {
855
-
fork, err := db.GetForkByDid(s.db, user.Did, forkRepo)
856
if errors.Is(err, sql.ErrNoRows) {
857
s.pages.Notice(w, "pull", "No such fork.")
858
return
···
883
return
884
}
885
886
-
resp, err := sc.NewHiddenRef(user.Did, fork.Name, sourceBranch, targetBranch)
887
if err != nil {
888
log.Println("failed to create hidden ref:", err, resp.StatusCode)
889
s.pages.Notice(w, "pull", "Failed to create pull request. Try again later.")
···
903
// hiddenRef: hidden/feature-1/main (on repo-fork)
904
// targetBranch: main (on repo-1)
905
// sourceBranch: feature-1 (on repo-fork)
906
-
comparison, err := us.Compare(user.Did, fork.Name, hiddenRef, sourceBranch)
907
if err != nil {
908
log.Println("failed to compare across branches", err)
909
s.pages.Notice(w, "pull", err.Error())
···
1269
}
1270
1271
forkVal := r.URL.Query().Get("fork")
1272
-
1273
// fork repo
1274
-
repo, err := db.GetRepo(s.db, user.Did, forkVal)
1275
if err != nil {
1276
log.Println("failed to get repo", user.Did, forkVal)
1277
return
···
852
}
853
854
func (s *Pulls) handleForkBasedPull(w http.ResponseWriter, r *http.Request, f *reporesolver.ResolvedRepo, user *oauth.User, forkRepo string, title, body, targetBranch, sourceBranch string, isStacked bool) {
855
+
repoString := strings.SplitN(forkRepo, "/", 2)
856
+
forkOwnerDid := repoString[0]
857
+
repoName := repoString[1]
858
+
fork, err := db.GetForkByDid(s.db, forkOwnerDid, repoName)
859
if errors.Is(err, sql.ErrNoRows) {
860
s.pages.Notice(w, "pull", "No such fork.")
861
return
···
886
return
887
}
888
889
+
resp, err := sc.NewHiddenRef(fork.Did, fork.Name, sourceBranch, targetBranch)
890
if err != nil {
891
log.Println("failed to create hidden ref:", err, resp.StatusCode)
892
s.pages.Notice(w, "pull", "Failed to create pull request. Try again later.")
···
906
// hiddenRef: hidden/feature-1/main (on repo-fork)
907
// targetBranch: main (on repo-1)
908
// sourceBranch: feature-1 (on repo-fork)
909
+
comparison, err := us.Compare(fork.Did, fork.Name, hiddenRef, sourceBranch)
910
if err != nil {
911
log.Println("failed to compare across branches", err)
912
s.pages.Notice(w, "pull", err.Error())
···
1272
}
1273
1274
forkVal := r.URL.Query().Get("fork")
1275
+
repoString := strings.SplitN(forkVal, "/", 2)
1276
+
forkOwnerDid := repoString[0]
1277
+
forkName := repoString[1]
1278
// fork repo
1279
+
repo, err := db.GetRepo(s.db, forkOwnerDid, forkName)
1280
if err != nil {
1281
log.Println("failed to get repo", user.Did, forkVal)
1282
return