From 2acb711673318c8d9cb9147b0a10de22f53b9fc6 Mon Sep 17 00:00:00 2001 From: =?utf8?q?David=20K=C3=A5gedal?= Date: Fri, 31 Jul 2009 08:33:00 +0200 Subject: [PATCH] stgit.el: Add stgit-new-and-refresh command MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit This creates a new patch and fills it with the current changes, i.e. it is the same as the "N" command followed by "r". Signed-off-by: David KÃ¥gedal Signed-off-by: Gustav HÃ¥llberg --- contrib/stgit.el | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/contrib/stgit.el b/contrib/stgit.el index c96b7ff..7f64a51 100644 --- a/contrib/stgit.el +++ b/contrib/stgit.el @@ -793,6 +793,7 @@ file for (applied) copies and renames." ("M" . stgit-move-patches) ("S" . stgit-squash) ("N" . stgit-new) + ("c" . stgit-new-and-refresh) ("\C-c\C-c" . stgit-commit) ("\C-c\C-u" . stgit-uncommit) ("U" . stgit-revert-file) @@ -851,6 +852,7 @@ Commands for patches: \\[stgit-diff] Show the patch log and diff \\[stgit-new] Create a new, empty patch +\\[stgit-new-and-refresh] Create a new patch from index or work tree \\[stgit-rename] Rename patch \\[stgit-edit] Edit patch description \\[stgit-delete] Delete patch(es) @@ -1413,7 +1415,7 @@ file ended up. You can then jump to the file with \ (with-current-buffer log-edit-parent-buffer (stgit-reload)))) -(defun stgit-new (add-sign) +(defun stgit-new (add-sign &optional refresh) "Create a new patch. With a prefix argument, include a \"Signed-off-by:\" line at the end of the patch." @@ -1422,6 +1424,7 @@ end of the patch." (dir default-directory)) (log-edit 'stgit-confirm-new t nil edit-buf) (setq default-directory dir) + (set (make-local-variable 'stgit-refresh-after-new) refresh) (when add-sign (save-excursion (let ((standard-output (current-buffer))) @@ -1429,12 +1432,25 @@ end of the patch." (defun stgit-confirm-new () (interactive) - (let ((file (make-temp-file "stgit-edit-"))) + (let ((file (make-temp-file "stgit-edit-")) + (refresh stgit-refresh-after-new)) (write-region (point-min) (point-max) file) (stgit-capture-output nil (stgit-run "new" "-f" file)) (with-current-buffer log-edit-parent-buffer - (stgit-reload)))) + (if refresh + (stgit-refresh) + (stgit-reload))))) + +(defun stgit-new-and-refresh (add-sign) + "Create a new patch and refresh it with the current changes. + +With a prefix argument, include a \"Signed-off-by:\" line at the +end of the patch. + +This works just like running `stgit-new' followed by `stgit-refresh'." + (interactive "P") + (stgit-new add-sign t)) (defun stgit-create-patch-name (description) "Create a patch name from a long description" -- 2.11.0