[Top][All Lists]
[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 "