Improve vc-bzr-working-revision for lightweight checkouts
* lisp/vc/vc-bzr.el (vc-bzr-working-revision): For lightweight local checkouts, check the parent dirstate matches the branch. Add "--tree" to "bzr revno" arguments. Don't try to shorten the empty string.
This commit is contained in:
parent
fea895b1d2
commit
823751606a
2 changed files with 15 additions and 4 deletions
|
@ -1,5 +1,10 @@
|
|||
2012-09-15 Glenn Morris <rgm@gnu.org>
|
||||
|
||||
* vc/vc-bzr.el (vc-bzr-working-revision): For lightweight local
|
||||
checkouts, check the parent dirstate matches the branch.
|
||||
Add "--tree" to "bzr revno" arguments. Don't try to shorten the
|
||||
empty string.
|
||||
|
||||
* version.el (emacs-bzr-version): Doc fix.
|
||||
(emacs-bzr-version-dirstate): New function.
|
||||
(emacs-bzr-get-version): For lightweight checkouts, if the parent
|
||||
|
|
|
@ -534,7 +534,9 @@ in the branch repository (or whose status not be determined)."
|
|||
;; FIXME: maybe it's overkill to check if both these
|
||||
;; files exist.
|
||||
(and (file-exists-p branch-format-file)
|
||||
(file-exists-p lastrev-file)))))
|
||||
(file-exists-p lastrev-file)
|
||||
(equal (emacs-bzr-version-dirstate l-c-parent-dir)
|
||||
(emacs-bzr-version-dirstate rootdir))))))
|
||||
t)))
|
||||
(with-temp-buffer
|
||||
(insert-file-contents branch-format-file)
|
||||
|
@ -553,13 +555,17 @@ in the branch repository (or whose status not be determined)."
|
|||
(insert-file-contents lastrev-file)
|
||||
(when (re-search-forward "[0-9]+" nil t)
|
||||
(buffer-substring (match-beginning 0) (match-end 0))))))
|
||||
;; fallback to calling "bzr revno"
|
||||
;; Fallback to calling "bzr revno --tree".
|
||||
;; The "--tree" matters for lightweight checkouts not on the same
|
||||
;; revision as the parent.
|
||||
(let* ((result (vc-bzr-command-discarding-stderr
|
||||
vc-bzr-program "revno" (file-relative-name file)))
|
||||
vc-bzr-program "revno" "--tree"
|
||||
(file-relative-name file)))
|
||||
(exitcode (car result))
|
||||
(output (cdr result)))
|
||||
(cond
|
||||
((eq exitcode 0) (substring output 0 -1))
|
||||
((and (eq exitcode 0) (not (zerop (length output))))
|
||||
(substring output 0 -1))
|
||||
(t nil))))))
|
||||
|
||||
(defun vc-bzr-create-repo ()
|
||||
|
|
Loading…
Add table
Reference in a new issue