emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[nongnu] elpa/git-commit 6ba3b50373 3/3: magit-stash-push: New command


From: ELPA Syncer
Subject: [nongnu] elpa/git-commit 6ba3b50373 3/3: magit-stash-push: New command
Date: Wed, 26 Jan 2022 11:58:01 -0500 (EST)

branch: elpa/git-commit
commit 6ba3b50373fffa89ae99fc0ad5135e3d574f6df4
Author: Jonas Bernoulli <jonas@bernoul.li>
Commit: Jonas Bernoulli <jonas@bernoul.li>

    magit-stash-push: New command
    
    Closes #4583.
---
 lisp/magit-stash.el | 27 ++++++++++++++++++++++++++-
 1 file changed, 26 insertions(+), 1 deletion(-)

diff --git a/lisp/magit-stash.el b/lisp/magit-stash.el
index ecaf38797a..7521256c29 100644
--- a/lisp/magit-stash.el
+++ b/lisp/magit-stash.el
@@ -96,7 +96,8 @@ AUTHOR-WIDTH has to be an integer.  When the name of the 
author
     ("z" "both"          magit-stash-both)
     ("i" "index"         magit-stash-index)
     ("w" "worktree"      magit-stash-worktree)
-    ("x" "keeping index" magit-stash-keep-index)]
+    ("x" "keeping index" magit-stash-keep-index)
+    ("P" "push"          magit-stash-push :level 5)]
    ["Snapshot"
     ("Z" "both"          magit-snapshot-both)
     ("I" "index"         magit-snapshot-index)
@@ -211,6 +212,30 @@ while two prefix arguments are equivalent to `--all'."
   (magit-stash-save (concat "WIP on " (magit-stash-summary))
                     index worktree untracked refresh t))
 
+;;;###autoload (autoload 'magit-stash-push "magit-stash" nil t)
+(transient-define-prefix magit-stash-push (&optional transient args)
+  "Create stash using \"git stash push\".
+
+This differs from Magit's other stashing commands, which don't
+use \"git stash\" and are generally more flexible but don't allow
+specifying a list of files to be stashed."
+  :man-page "git-stash"
+  ["Arguments"
+   (magit:-- :reader ,(-rpartial #'magit-read-files
+                                 #'magit-modified-files))
+   ("-u" "Also save untracked files" ("-u" "--include-untracked"))
+   ("-a" "Also save untracked and ignored files" ("-a" "--all"))
+   ("-k" "Keep index" ("-k" "--keep-index"))
+   ("-K" "Don't keep index" "--no-keep-index")]
+  ["Actions"
+   ("P" "push" magit-stash-push)]
+  (interactive (if (eq transient-current-command 'magit-stash-push)
+                   (list nil (transient-args 'magit-stash-push))
+                 (list t)))
+  (if transient
+      (transient-setup 'magit-stash-push)
+    (magit-run-git "stash" "push" args)))
+
 ;;;###autoload
 (defun magit-stash-apply (stash)
   "Apply a stash to the working tree.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]