File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -1203,6 +1203,9 @@ then the remote is never removed.
12031203
12041204 Currently this only supports Github and Gitlab.
12051205
1206+ With a prefix argument, fork all branches, not just the default
1207+ branch. On Gitlab it is not possible to fork only the default.
1208+
12061209- Key: N - H (forge-toggle-topic-legend) ::
12071210
12081211 This command toggle whether to show a legend for faces used in topic
Original file line number Diff line number Diff line change @@ -1403,6 +1403,9 @@ access to.
14031403
14041404Currently this only supports Github and Gitlab.
14051405
1406+ With a prefix argument, fork all branches, not just the default
1407+ branch. On Gitlab it is not possible to fork only the default.
1408+
14061409@item @kbd {N - H } (@code {forge-toggle-topic-legend })
14071410@kindex N - H
14081411@findex forge-toggle-topic-legend
Original file line number Diff line number Diff line change @@ -1059,20 +1059,25 @@ number) and this command is made available as a substitute in the
10591059; ;; Remotely
10601060
10611061;;;### autoload
1062- (defun forge-fork (fork remote )
1062+ (defun forge-fork (fork remote all )
10631063 " Fork the current repository to FORK and add it as a REMOTE.
1064+
10641065If the fork already exists, then that isn't an error; the remote
1065- is added anyway. Currently this only supports Github and Gitlab."
1066+ is added anyway. Currently this only supports Github and Gitlab.
1067+
1068+ With prefix argument ALL, fork all branches, not just the default
1069+ branch. On Gitlab it is not possible to fork only the default."
10661070 (interactive
10671071 (let ((fork (magit-completing-read " Fork to"
10681072 (mapcar #'car forge-owned-accounts))))
10691073 (list fork
10701074 (read-string " Remote name: "
10711075 (or (plist-get (cdr (assoc fork forge-owned-accounts))
10721076 'remote-name )
1073- fork)))))
1077+ fork))
1078+ current-prefix-arg)))
10741079 (let ((repo (forge-get-repository :stub )))
1075- (forge--fork-repository repo fork)
1080+ (forge--fork-repository repo fork all )
10761081 (magit-remote-add remote
10771082 (magit-clone--format-url (oref repo githost) fork
10781083 (oref repo name))
Original file line number Diff line number Diff line change 12631263 (message " Waiting 5 seconds for GitHub to complete rename...done " )
12641264 (magit-call-git " fetch" " --prune" (oref repo remote)))
12651265
1266- (cl-defmethod forge--fork-repository ((repo forge-github-repository) fork)
1266+ (cl-defmethod forge--fork-repository ((repo forge-github-repository) fork all )
12671267 (with-slots (name apihost) repo
12681268 (forge-rest repo " POST" " /repos/:owner/:name/forks"
12691269 ((and (not (equal fork (ghub--username apihost)))
1270- (organization fork))))
1270+ (organization fork))
1271+ (default-branch-only (not all))))
12711272 (ghub-wait (format " /repos/%s /%s " fork name)
12721273 nil :auth 'forge :host apihost)))
12731274
Original file line number Diff line number Diff line change 598598 (_ (subclass forge-pullreq)))
599599 (forge--topic-template-files-1 repo " md" " .gitlab/merge_request_templates" ))
600600
601- (cl-defmethod forge--fork-repository ((repo forge-gitlab-repository) fork)
601+ (cl-defmethod forge--fork-repository ((repo forge-gitlab-repository) fork _all )
602602 (with-slots (name apihost) repo
603603 (forge--glab-post repo " /projects/:project/fork"
604604 (and (not (equal fork (ghub--username apihost 'gitlab )))
You can’t perform that action at this time.
0 commit comments