···
breadcrumbs = append(breadcrumbs, []string{elem, fmt.Sprintf("%s/%s", breadcrumbs[idx][1], elem)})
···
showRendered = r.URL.Query().Get("code") != "true"
user := s.auth.GetUser(r)
s.pages.RepoBlob(w, pages.RepoBlobParams{
···
forkName := fmt.Sprintf("%s", f.RepoName)
1701
+
// this check is *only* to see if the forked repo name already exists
1702
+
// in the user's account.
existingRepo, err := db.GetRepo(s.db, user.Did, f.RepoName)
1702
-
if err == nil && existingRepo != nil {
1705
+
if errors.Is(err, sql.ErrNoRows) {
1706
+
// no existing repo with this name found, we can use the name as is
1708
+
log.Println("error fetching existing repo from db", err)
1709
+
s.pages.Notice(w, "repo", "Failed to fork this repository. Try again later.")
1712
+
} else if existingRepo != nil {
1713
+
// repo with this name already exists, append random string
forkName = fmt.Sprintf("%s-%s", forkName, randomString(3))
secret, err := db.GetRegistrationKey(s.db, knot)
s.pages.Notice(w, "repo", fmt.Sprintf("No registration key found for knot %s.", knot))
···
client, err := NewSignedClient(knot, secret, s.config.Dev)
1714
-
s.pages.Notice(w, "repo", "Failed to connect to knot server.")
1724
+
s.pages.Notice(w, "repo", "Failed to reach knot server.")
···
1724
-
sourceUrl := fmt.Sprintf("%s://%s/%s/%s", uri, knot, f.OwnerDid(), f.RepoName)
1734
+
sourceUrl := fmt.Sprintf("%s://%s/%s/%s", uri, f.Knot, f.OwnerDid(), f.RepoName)
sourceAt := f.RepoAt.String()