From 1d9789d1e9459b91f58dc2db960c2fa5ba5460da Mon Sep 17 00:00:00 2001 From: Kyle Meyer Date: Sun, 5 May 2019 23:10:42 -0400 Subject: magit: Add command to copy branch --- init.el | 4 ++-- lisp/km-magit.el | 10 ++++++++++ 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/init.el b/init.el index 623b8d1..50fab18 100644 --- a/init.el +++ b/init.el @@ -1157,8 +1157,8 @@ '("c" "Create & checkout from current" km/magit-branch-and-checkout-from-current)) - (transient-replace-suffix 'magit-branch "r" - '("r" "Rename branch" km/magit-branch-rename)) + (transient-append-suffix 'magit-branch "S" + '("d" "Copy branch" km/magit-branch-copy)) (transient-append-suffix 'magit-branch "r" '("s" "Backup current branch" km/magit-branch-backup-current)) diff --git a/lisp/km-magit.el b/lisp/km-magit.el index 8faceeb..e672ec8 100644 --- a/lisp/km-magit.el +++ b/lisp/km-magit.el @@ -158,6 +158,16 @@ namespace." (unless (string= old new) (magit-run-git "branch" (if force "-M" "-m") old new))) +(defun km/magit-branch-copy (old new &optional force) + (interactive + (let ((branch (magit-read-local-branch "Copy branch"))) + (list branch + (magit-read-string-ns (format "Copy branch '%s' to" branch) + branch) + current-prefix-arg))) + (unless (string= old new) + (magit-run-git "branch" (if force "-C" "-c") old new))) + (defun km/magit-checkout-master () "Check out master branch. \n(git checkout master)" -- cgit v1.2.3