Commit 335aff35 authored by Glenn Morris's avatar Glenn Morris
Browse files

Use bzr status --no-classify when supported (bug#6724)

* lisp/vc/vc-bzr.el (vc-bzr-status-switches): New option.
(vc-bzr-command): If running "status", pass vc-bzr-status-switches.
parent c676576a
2012-03-22 Glenn Morris <rgm@gnu.org>
* vc/vc-bzr.el (vc-bzr-status-switches): New option. (Bug#6724)
(vc-bzr-command): If running "status", pass vc-bzr-status-switches.
2012-03-22 Lars Magne Ingebrigtsen <larsi@gnus.org> 2012-03-22 Lars Magne Ingebrigtsen <larsi@gnus.org>
* net/network-stream.el (network-stream-open-starttls): Make error * net/network-stream.el (network-stream-open-starttls): Make error
......
...@@ -89,18 +89,40 @@ If nil, use the value of `vc-diff-switches'. If t, use no switches." ...@@ -89,18 +89,40 @@ If nil, use the value of `vc-diff-switches'. If t, use no switches."
(repeat :tag "Argument List" :value ("") string)) (repeat :tag "Argument List" :value ("") string))
:group 'vc-bzr) :group 'vc-bzr)
(defcustom vc-bzr-status-switches
(ignore-errors
(with-temp-buffer
(call-process vc-bzr-program nil t nil "help" "status")
(goto-char (point-min))
(if (search-forward "--no-classify")
"--no-classify")))
"String or list of strings specifying switches for bzr status under VC.
The option \"--no-classify\" should be present if your bzr supports it."
:type '(choice (const :tag "None" nil)
(string :tag "Argument String")
(repeat :tag "Argument List" :value ("") string))
:group 'vc-bzr
:version "24.1")
;; since v0.9, bzr supports removing the progress indicators ;; since v0.9, bzr supports removing the progress indicators
;; by setting environment variable BZR_PROGRESS_BAR to "none". ;; by setting environment variable BZR_PROGRESS_BAR to "none".
(defun vc-bzr-command (bzr-command buffer okstatus file-or-list &rest args) (defun vc-bzr-command (bzr-command buffer okstatus file-or-list &rest args)
"Wrapper round `vc-do-command' using `vc-bzr-program' as COMMAND. "Wrapper round `vc-do-command' using `vc-bzr-program' as COMMAND.
Invoke the bzr command adding `BZR_PROGRESS_BAR=none' and Invoke the bzr command adding `BZR_PROGRESS_BAR=none' and
`LC_MESSAGES=C' to the environment." `LC_MESSAGES=C' to the environment. If BZR-COMMAND is \"status\",
prepends `vc-bzr-status-switches' to ARGS."
(let ((process-environment (let ((process-environment
(list* "BZR_PROGRESS_BAR=none" ; Suppress progress output (bzr >=0.9) (list* "BZR_PROGRESS_BAR=none" ; Suppress progress output (bzr >=0.9)
"LC_MESSAGES=C" ; Force English output "LC_MESSAGES=C" ; Force English output
process-environment))) process-environment)))
(apply 'vc-do-command (or buffer "*vc*") okstatus vc-bzr-program (apply 'vc-do-command (or buffer "*vc*") okstatus vc-bzr-program
file-or-list bzr-command args))) file-or-list bzr-command
(if (string-equal "status" bzr-command)
(append (if (stringp vc-bzr-status-switches)
(list vc-bzr-status-switches)
vc-bzr-status-switches)
args)
args))))
(defun vc-bzr-async-command (bzr-command &rest args) (defun vc-bzr-async-command (bzr-command &rest args)
"Wrapper round `vc-do-async-command' using `vc-bzr-program' as COMMAND. "Wrapper round `vc-do-async-command' using `vc-bzr-program' as COMMAND.
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment