diff options
author | Alexandre Julliard <julliard@winehq.org> | 2008-11-23 16:12:45 +0100 |
---|---|---|
committer | Alexandre Julliard <julliard@winehq.org> | 2009-02-07 13:48:54 +0100 |
commit | a7da5c425970372f75d7cc2c194d5646554f8a32 (patch) | |
tree | 4024032677ef5fb36de5dc9e3fd2525fd708cd3c | |
parent | ab69e3e43a12cf02505f3e9e561c49c1fe8a81a6 (diff) | |
download | git-a7da5c425970372f75d7cc2c194d5646554f8a32.tar.gz |
git.el: Make git-run-command-region display the error if any.
This makes it easier to figure out why a commit has failed.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
-rw-r--r-- | contrib/emacs/git.el | 38 |
1 files changed, 19 insertions, 19 deletions
diff --git a/contrib/emacs/git.el b/contrib/emacs/git.el index b7ea636534..415765ec51 100644 --- a/contrib/emacs/git.el +++ b/contrib/emacs/git.el @@ -220,7 +220,7 @@ the process output as a string, or nil if the git command failed." (with-current-buffer buffer (cd dir) (apply #'call-process-region start end program - nil (list output-buffer nil) nil args)))) + nil (list output-buffer t) nil args)))) (defun git-run-command-buffer (buffer-name &rest args) "Run a git command, sending the output to a buffer named BUFFER-NAME." @@ -237,13 +237,15 @@ the process output as a string, or nil if the git command failed." (defun git-run-command-region (buffer start end env &rest args) "Run a git command with specified buffer region as input." - (unless (eq 0 (if env - (git-run-process-region - buffer start end "env" - (append (git-get-env-strings env) (list "git") args)) + (with-temp-buffer + (if (eq 0 (if env (git-run-process-region - buffer start end "git" args))) - (error "Failed to run \"git %s\":\n%s" (mapconcat (lambda (x) x) args " ") (buffer-string)))) + buffer start end "env" + (append (git-get-env-strings env) (list "git") args)) + (git-run-process-region buffer start end "git" args))) + (buffer-string) + (display-message-or-buffer (current-buffer)) + nil))) (defun git-run-hook (hook env &rest args) "Run a git hook and display its output if any." @@ -456,18 +458,16 @@ Each entry is a cons of (SHORT-NAME . FULL-NAME)." (setq coding-system-for-write buffer-file-coding-system)) (let ((commit (git-get-string-sha1 - (with-output-to-string - (with-current-buffer standard-output - (let ((env `(("GIT_AUTHOR_NAME" . ,author-name) - ("GIT_AUTHOR_EMAIL" . ,author-email) - ("GIT_COMMITTER_NAME" . ,(git-get-committer-name)) - ("GIT_COMMITTER_EMAIL" . ,(git-get-committer-email))))) - (when author-date (push `("GIT_AUTHOR_DATE" . ,author-date) env)) - (apply #'git-run-command-region - buffer log-start log-end env - "commit-tree" tree (nreverse args)))))))) - (and (git-update-ref "HEAD" commit head subject) - commit)))) + (let ((env `(("GIT_AUTHOR_NAME" . ,author-name) + ("GIT_AUTHOR_EMAIL" . ,author-email) + ("GIT_COMMITTER_NAME" . ,(git-get-committer-name)) + ("GIT_COMMITTER_EMAIL" . ,(git-get-committer-email))))) + (when author-date (push `("GIT_AUTHOR_DATE" . ,author-date) env)) + (apply #'git-run-command-region + buffer log-start log-end env + "commit-tree" tree (nreverse args)))))) + (when commit (git-update-ref "HEAD" commit head subject)) + commit))) (defun git-empty-db-p () "Check if the git db is empty (no commit done yet)." |