diff options
author | Santiago PayĆ i Miralta <santiagopim@gmail.com> | 2014-06-06 12:38:44 -0400 |
---|---|---|
committer | Stefan Monnier <monnier@iro.umontreal.ca> | 2014-06-06 12:38:44 -0400 |
commit | 3112e4002cb1a29861bd7ae1b7ddff0dbdaa38a7 (patch) | |
tree | c2ca213d59301e0492c8386a6c402fd69f6df0e3 /lisp | |
parent | 90b15d91595b965b4106ea77760ba6bc1b5d0af5 (diff) | |
download | emacs-3112e4002cb1a29861bd7ae1b7ddff0dbdaa38a7.tar.gz emacs-3112e4002cb1a29861bd7ae1b7ddff0dbdaa38a7.tar.bz2 emacs-3112e4002cb1a29861bd7ae1b7ddff0dbdaa38a7.zip |
* lisp/vc/vc-hg.el (vc-hg-create-tag, vc-hg-retrieve-tag): New functions.
Fixes: debbugs:17586
Diffstat (limited to 'lisp')
-rw-r--r-- | lisp/ChangeLog | 3 | ||||
-rw-r--r-- | lisp/vc/vc-hg.el | 26 |
2 files changed, 25 insertions, 4 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 3b9b1e9f5b9..735a558aa62 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,5 +1,8 @@ 2014-06-06 Santiago PayĆ i Miralta <santiagopim@gmail.com> + * vc/vc-hg.el (vc-hg-create-tag, vc-hg-retrieve-tag): New functions + (bug#17586). + * vc/vc-hg.el (vc-hg-log-graph): New var. (vc-hg-print-log): Use it. (vc-hg-root-log-format): Include branch name and bookmarks; ignore diff --git a/lisp/vc/vc-hg.el b/lisp/vc/vc-hg.el index 28cf48f54d6..598a84a5739 100644 --- a/lisp/vc/vc-hg.el +++ b/lisp/vc/vc-hg.el @@ -82,8 +82,8 @@ ;; - annotate-current-time () NOT NEEDED ;; - annotate-extract-revision-at-line () OK ;; TAG SYSTEM -;; - create-tag (dir name branchp) NEEDED -;; - retrieve-tag (dir name update) NEEDED +;; - create-tag (dir name branchp) OK +;; - retrieve-tag (dir name update) OK FIXME UPDATE BUFFERS ;; MISCELLANEOUS ;; - make-version-backups-p (file) ?? ;; - repository-hostname (dirname) ?? @@ -391,8 +391,26 @@ Optional arg REVISION is a revision to annotate from." (if (match-beginning 3) (match-string-no-properties 1) (cons (match-string-no-properties 1) - (expand-file-name (match-string-no-properties 4) - (vc-hg-root default-directory))))))) + (expand-file-name (match-string-no-properties 4) + (vc-hg-root default-directory))))))) + +;;; Tag system + +(defun vc-hg-create-tag (dir name branchp) + "Attach the tag NAME to the state of the working copy." + (let ((default-directory dir)) + (and (vc-hg-command nil 0 nil "status") + (vc-hg-command nil 0 nil (if branchp "bookmark" "tag") name)))) + +(defun vc-hg-retrieve-tag (dir name update) + "Retrieve the version tagged by NAME of all registered files at or below DIR." + (let ((default-directory dir)) + (vc-hg-command nil 0 nil "update" name) + ;; FIXME: update buffers if `update' is true + ;; TODO: update *vc-change-log* buffer so can see @ if --graph + )) + +;;; Miscellaneous (defun vc-hg-previous-revision (_file rev) (let ((newrev (1- (string-to-number rev)))) |