[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] Changes to emacs/lisp/vc-hg.el,v
From: |
Dan Nicolaescu |
Subject: |
[Emacs-diffs] Changes to emacs/lisp/vc-hg.el,v |
Date: |
Sat, 21 Jul 2007 16:44:58 +0000 |
CVSROOT: /cvsroot/emacs
Module name: emacs
Changes by: Dan Nicolaescu <dann> 07/07/21 16:44:57
Index: vc-hg.el
===================================================================
RCS file: /cvsroot/emacs/emacs/lisp/vc-hg.el,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -b -r1.18 -r1.19
--- vc-hg.el 20 Jul 2007 17:32:03 -0000 1.18
+++ vc-hg.el 21 Jul 2007 16:44:55 -0000 1.19
@@ -76,9 +76,8 @@
;; - comment-history (file) NOT NEEDED
;; - update-changelog (files) NOT NEEDED
;; * diff (files &optional rev1 rev2 buffer) OK
-;; - revision-completion-table (file) ??
+;; - revision-completion-table (file) OK
;; - diff-tree (dir &optional rev1 rev2) TEST IT
-;; - revision-completion-table (file) ??
;; - annotate-command (file buf &optional rev) OK
;; - annotate-time () OK
;; - annotate-current-time () ?? NOT NEEDED
@@ -115,6 +114,7 @@
;;; Code:
(eval-when-compile
+ (require 'cl)
(require 'vc))
;;; Customization options
@@ -184,11 +184,12 @@
(goto-char (point-min))
(let ((status-char nil)
(file nil))
- (while (eq 0 (forward-line))
+ (while (not (eobp))
(setq status-char (char-after))
(setq file
(expand-file-name
- (buffer-substring-no-properties (+ (point) 2)
(line-end-position))))
+ (buffer-substring-no-properties (+ (point) 2)
+ (line-end-position))))
(cond
;; The rest of the possible states in "hg status" output:
;; R = removed
@@ -203,7 +204,8 @@
(vc-file-setprop file 'vc-state 'edited))
((eq status-char ??)
(vc-file-setprop file 'vc-backend 'none)
- (vc-file-setprop file 'vc-state 'nil)))))))
+ (vc-file-setprop file 'vc-state 'nil)))
+ (forward-line)))))
(defun vc-hg-workfile-version (file)
"Hg-specific version of `vc-workfile-version'."
@@ -248,7 +250,7 @@
(with-current-buffer
buffer
(insert "File: " (file-name-nondirectory file) "\n"))
- (vc-hg-command buffer nil file "log"))))
+ (vc-hg-command buffer 0 file "log"))))
(defvar log-view-message-re)
(defvar log-view-file-re)
@@ -293,6 +295,21 @@
(list "-r" oldvers))
(list ""))))))
+(defun vc-hg-revision-table (file)
+ (let ((default-directory (file-name-directory file)))
+ (with-temp-buffer
+ (vc-hg-command t nil file "log" "--template" "{rev} ")
+ (split-string
+ (buffer-substring-no-properties (point-min) (point-max))))))
+
+;; Modelled after the similar function in vc-cvs.el
+(defun vc-hg-revision-completion-table (file)
+ (lexical-let ((file file)
+ table)
+ (setq table (lazy-completion-table
+ table (lambda () (vc-hg-revision-table file))))
+ table))
+
(defun vc-hg-diff-tree (file &optional oldvers newvers buffer)
(vc-hg-diff (list file) oldvers newvers buffer))
@@ -331,7 +348,7 @@
(let ((newrev (1+ (string-to-number rev)))
(tip-version
(with-temp-buffer
- (vc-hg-command t nil nil "tip")
+ (vc-hg-command t 0 nil "tip")
(goto-char (point-min))
(re-search-forward "^changeset:[ \t]*\\([0-9]+\\):")
(string-to-number (match-string-no-properties 1)))))
@@ -346,22 +363,22 @@
(condition-case ()
(delete-file file)
(file-error nil))
- (vc-hg-command nil nil file "remove" "--after" "--force"))
+ (vc-hg-command nil 0 file "remove" "--after" "--force"))
;; Modelled after the similar function in vc-bzr.el
(defun vc-hg-rename-file (old new)
"Rename file from OLD to NEW using `hg mv'."
- (vc-hg-command nil nil new old "mv"))
+ (vc-hg-command nil 0 new old "mv"))
(defun vc-hg-register (files &optional rev comment)
"Register FILES under hg.
REV is ignored.
COMMENT is ignored."
- (vc-hg-command nil nil files "add"))
+ (vc-hg-command nil 0 files "add"))
(defun vc-hg-create-repo ()
"Create a new Mercurial repository."
- (vc-hg-command nil nil nil "init"))
+ (vc-hg-command nil 0 nil "init"))
(defalias 'vc-hg-responsible-p 'vc-hg-root)
@@ -384,14 +401,14 @@
(defun vc-hg-checkin (files rev comment)
"HG-specific version of `vc-backend-checkin'.
REV is ignored."
- (vc-hg-command nil nil files "commit" "-m" comment))
+ (vc-hg-command nil 0 files "commit" "-m" comment))
(defun vc-hg-find-version (file rev buffer)
(let ((coding-system-for-read 'binary)
(coding-system-for-write 'binary))
(if rev
- (vc-hg-command buffer nil file "cat" "-r" rev)
- (vc-hg-command buffer nil file "cat"))))
+ (vc-hg-command buffer 0 file "cat" "-r" rev)
+ (vc-hg-command buffer 0 file "cat"))))
;; Modelled after the similar function in vc-bzr.el
(defun vc-hg-checkout (file &optional editable rev)
@@ -402,8 +419,8 @@
(coding-system-for-write 'binary))
(with-current-buffer (or (get-file-buffer file) (current-buffer))
(if rev
- (vc-hg-command t nil file "cat" "-r" rev)
- (vc-hg-command t nil file "cat")))))
+ (vc-hg-command t 0 file "cat" "-r" rev)
+ (vc-hg-command t 0 file "cat")))))
(defun vc-hg-checkout-model (file)
'implicit)
@@ -424,7 +441,7 @@
;; Modelled after the similar function in vc-bzr.el
(defun vc-hg-revert (file &optional contents-done)
(unless contents-done
- (with-temp-buffer (vc-hg-command t nil file "revert"))))
+ (with-temp-buffer (vc-hg-command t 0 file "revert"))))
;;; Internal functions
- [Emacs-diffs] Changes to emacs/lisp/vc-hg.el,v, Dan Nicolaescu, 2007/07/05
- [Emacs-diffs] Changes to emacs/lisp/vc-hg.el,v, Dan Nicolaescu, 2007/07/05
- [Emacs-diffs] Changes to emacs/lisp/vc-hg.el,v, Dan Nicolaescu, 2007/07/06
- [Emacs-diffs] Changes to emacs/lisp/vc-hg.el,v, Miles Bader, 2007/07/08
- [Emacs-diffs] Changes to emacs/lisp/vc-hg.el,v, Eric S. Raymond, 2007/07/18
- [Emacs-diffs] Changes to emacs/lisp/vc-hg.el,v, Dan Nicolaescu, 2007/07/19
- [Emacs-diffs] Changes to emacs/lisp/vc-hg.el,v, Dan Nicolaescu, 2007/07/19
- [Emacs-diffs] Changes to emacs/lisp/vc-hg.el,v, Dan Nicolaescu, 2007/07/19
- [Emacs-diffs] Changes to emacs/lisp/vc-hg.el,v, Dan Nicolaescu, 2007/07/20
- [Emacs-diffs] Changes to emacs/lisp/vc-hg.el,v,
Dan Nicolaescu <=
- [Emacs-diffs] Changes to emacs/lisp/vc-hg.el,v, Miles Bader, 2007/07/26
- [Emacs-diffs] Changes to emacs/lisp/vc-hg.el,v, Miles Bader, 2007/07/31