diff --git a/appview/pages/templates/layouts/repobase.html b/appview/pages/templates/layouts/repobase.html
index abc95fe4..738f4f21 100644
--- a/appview/pages/templates/layouts/repobase.html
+++ b/appview/pages/templates/layouts/repobase.html
@@ -21,16 +21,6 @@
{{ template "repo/fragments/repoStar" .RepoInfo }}
- {{ if .RepoInfo.DisableFork }}
-
- {{ else }}
- {{ end }}
{{ template "repo/fragments/repoDescription" . }}
diff --git a/appview/reporesolver/resolver.go b/appview/reporesolver/resolver.go
index f00457f6..35622526 100644
--- a/appview/reporesolver/resolver.go
+++ b/appview/reporesolver/resolver.go
@@ -20,7 +20,6 @@ import (
"tangled.sh/tangled.sh/core/appview/pages"
"tangled.sh/tangled.sh/core/appview/pages/repoinfo"
"tangled.sh/tangled.sh/core/idresolver"
- "tangled.sh/tangled.sh/core/knotclient"
"tangled.sh/tangled.sh/core/rbac"
)
@@ -180,17 +179,6 @@ func (f *ResolvedRepo) RepoInfo(user *oauth.User) repoinfo.RepoInfo {
}
knot := f.Knot
- var disableFork bool
- us, err := knotclient.NewUnsignedClient(knot, f.rr.config.Core.Dev)
- if err != nil {
- log.Printf("failed to create unsigned client for %s: %v", knot, err)
- } else {
- if result, err := us.Branches(f.OwnerDid(), f.Name); err != nil {
- log.Printf("failed to get branches for %s/%s: %v", f.OwnerDid(), f.Name, err)
- } else if len(result.Branches) == 0 {
- disableFork = true
- }
- }
repoInfo := repoinfo.RepoInfo{
OwnerDid: f.OwnerDid(),
@@ -207,9 +195,8 @@ func (f *ResolvedRepo) RepoInfo(user *oauth.User) repoinfo.RepoInfo {
IssueCount: issueCount,
PullCount: pullCount,
},
- DisableFork: disableFork,
- CurrentDir: f.CurrentDir,
- Ref: f.Ref,
+ CurrentDir: f.CurrentDir,
+ Ref: f.Ref,
}
if sourceRepo != nil {
diff --git a/knotserver/git/fork.go b/knotserver/git/fork.go
index 5b9a865d..1ed9b5e8 100644
--- a/knotserver/git/fork.go
+++ b/knotserver/git/fork.go
@@ -10,17 +10,13 @@ import (
)
func Fork(repoPath, source string) error {
- _, err := git.PlainClone(repoPath, true, &git.CloneOptions{
- URL: source,
- SingleBranch: false,
- })
-
- if err != nil {
+ cloneCmd := exec.Command("git", "clone", "--bare", source, repoPath)
+ if err := cloneCmd.Run(); err != nil {
return fmt.Errorf("failed to bare clone repository: %w", err)
}
- err = exec.Command("git", "-C", repoPath, "config", "receive.hideRefs", "refs/hidden").Run()
- if err != nil {
+ configureCmd := exec.Command("git", "-C", repoPath, "config", "receive.hideRefs", "refs/hidden")
+ if err := configureCmd.Run(); err != nil {
return fmt.Errorf("failed to configure hidden refs: %w", err)
}