emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] emacs/lisp ChangeLog vc-git.el


From: Dan Nicolaescu
Subject: [Emacs-diffs] emacs/lisp ChangeLog vc-git.el
Date: Wed, 26 Aug 2009 07:01:14 +0000

CVSROOT:        /cvsroot/emacs
Module name:    emacs
Changes by:     Dan Nicolaescu <dann>   09/08/26 07:01:13

Modified files:
        lisp           : ChangeLog vc-git.el 

Log message:
        (vc-git-stash, vc-git-stash-show): New functions.
        (vc-git-extra-menu-map): Bind them.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/emacs/lisp/ChangeLog?cvsroot=emacs&r1=1.16016&r2=1.16017
http://cvs.savannah.gnu.org/viewcvs/emacs/lisp/vc-git.el?cvsroot=emacs&r1=1.88&r2=1.89

Patches:
Index: ChangeLog
===================================================================
RCS file: /cvsroot/emacs/emacs/lisp/ChangeLog,v
retrieving revision 1.16016
retrieving revision 1.16017
diff -u -b -r1.16016 -r1.16017
--- ChangeLog   26 Aug 2009 06:48:58 -0000      1.16016
+++ ChangeLog   26 Aug 2009 07:01:09 -0000      1.16017
@@ -1,6 +1,8 @@
 2009-08-26  Dan Nicolaescu  <address@hidden>
 
        * vc-git.el (vc-git-register): Use "git add" for directories.
+       (vc-git-stash, vc-git-stash-show): New functions.
+       (vc-git-extra-menu-map): Bind them.
 
        * vc-dir.el (vc-dir-node-directory, vc-dir-update): Get the parent
        directory correctly in case the item is a directory itself.

Index: vc-git.el
===================================================================
RCS file: /cvsroot/emacs/emacs/lisp/vc-git.el,v
retrieving revision 1.88
retrieving revision 1.89
diff -u -b -r1.88 -r1.89
--- vc-git.el   26 Aug 2009 06:49:01 -0000      1.88
+++ vc-git.el   26 Aug 2009 07:01:13 -0000      1.89
@@ -662,6 +662,12 @@
     (define-key map [git-grep]
       '(menu-item "Git grep..." vc-git-grep
                  :help "Run the `git grep' command"))
+    (define-key map [git-st]
+      '(menu-item "Stash..." vc-git-stash
+                 :help "Stash away changes"))
+    (define-key map [git-ss]
+      '(menu-item "Show Stash..." vc-git-stash-show
+                 :help "Show stash contents"))
     (define-key map [git-sig]
       '(menu-item "Add Signed-off-by on commit" vc-git-toggle-signoff
              :help "Add Add Signed-off-by when commiting (i.e. add the -s 
flag)"
@@ -730,6 +736,24 @@
        (if (eq next-error-last-buffer (current-buffer))
            (setq default-directory dir))))))
 
+(defun vc-git-stash (name)
+  "Create a stash."
+  (interactive "sStash name: ")
+  (let ((root (vc-git-root default-directory)))
+    (when root
+      (vc-git--call nil "stash" "save" name)
+      (vc-resynch-buffer root t t))))
+
+(defun vc-git-stash-show (name)
+  "Show the contents of stash NAME."
+  (interactive "sStash name: ")
+  (vc-setup-buffer "*vc-git-stash*")
+  (vc-git-command "*vc-git-stash*" 'async nil "stash" "show" "-p" name)
+  (set-buffer "*vc-git-stash*")
+  (diff-mode)
+  (setq buffer-read-only t)
+  (pop-to-buffer (current-buffer)))
+
 (defun vc-git-stash-list ()
   (replace-regexp-in-string
    "\n" "\n             "




reply via email to

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