comparison lisp/vc-git.el @ 78359:2dd5d799a16d

* vc-git.el: (vc-directory-exclusion-list, vc-handled-backends): Remove. (vc-git-revision-completion-table): Enable. * vc-hooks.el (vc-handled-backends): Add GIT and HG. * vc.el (vc-directory-exclusion-list): Add .git and .hg. * vc-hg.el (vc-hg-revision-completion-table): Re-enable. * diff-mode.el (diff-mode-menu): New entries. * diff-mode.el (diff-beginning-of-file-and-junk): New function. (diff-file-kill): Use it. (diff-beginning-of-hunk): Add arg `try-harder' using it. (diff-restrict-view, diff-find-source-location, diff-refine-hunk): Use it so they find the hunk even when we're in the file header. * vc.el: Add new VC operation `revision-completion-table'. (vc-default-revision-completion-table): New function. (vc-version-diff, vc-version-other-window): Use it to provide completion of revision names if the backend provides it. * vc-arch.el (vc-arch--version-completion-table) (vc-arch-revision-completion-table): New functions to provide completion of revision names. * vc-cvs.el: Require CL. (vc-cvs-revision-table, vc-cvs-revision-completion-table): New functions to provide completion of revision names. * eval.c (init_eval_once): Bump max_lisp_eval_depth to 400. * vc2-xtra.texi (Customizing VC): Add GIT and HG.
author Dan Nicolaescu <dann@ics.uci.edu>
date Mon, 30 Jul 2007 00:19:06 +0000
parents dc356155b0a7
children 27f00e50116a
comparison
equal deleted inserted replaced
78358:9b7f2e8baaeb 78359:2dd5d799a16d
109 ;; - find-file-hook () NOT NEEDED 109 ;; - find-file-hook () NOT NEEDED
110 ;; - find-file-not-found-hook () NOT NEEDED 110 ;; - find-file-not-found-hook () NOT NEEDED
111 111
112 (eval-when-compile (require 'cl) (require 'vc)) 112 (eval-when-compile (require 'cl) (require 'vc))
113 113
114 ;; XXX when this backend is considered sufficiently reliable this
115 ;; should be moved to vc-hooks.el
116 (add-to-list 'vc-handled-backends 'GIT)
117 (eval-after-load "vc"
118 '(add-to-list 'vc-directory-exclusion-list ".git" t))
119
120
121 (defvar git-commits-coding-system 'utf-8 114 (defvar git-commits-coding-system 'utf-8
122 "Default coding system for git commits.") 115 "Default coding system for git commits.")
123 116
124 ;;; BACKEND PROPERTIES 117 ;;; BACKEND PROPERTIES
125 118
329 (goto-char (point-min)) 322 (goto-char (point-min))
330 (while (re-search-forward "^refs/\\(heads\\|tags\\)/\\(.*\\)$" nil t) 323 (while (re-search-forward "^refs/\\(heads\\|tags\\)/\\(.*\\)$" nil t)
331 (push (match-string 2) table))) 324 (push (match-string 2) table)))
332 table)) 325 table))
333 326
334 ;; Commented out on the 22.x branch, VC here does not support it yet 327 (defun vc-git-revision-completion-table (file)
335 ;; and when bytecompiling it max-specpdl-size is exceeded. 328 (lexical-let ((file file)
336 ;; (defun vc-git-revision-completion-table (file) 329 table)
337 ;; (lexical-let ((file file) 330 (setq table (lazy-completion-table
338 ;; table) 331 table (lambda () (vc-git-revision-table file))))
339 ;; (setq table (lazy-completion-table 332 table))
340 ;; table (lambda () (vc-git-revision-table file))))
341 ;; table))
342 333
343 (defun vc-git-diff-tree (dir &optional rev1 rev2) 334 (defun vc-git-diff-tree (dir &optional rev1 rev2)
344 (vc-git-diff dir rev1 rev2)) 335 (vc-git-diff dir rev1 rev2))
345 336
346 (defun vc-git-annotate-command (file buf &optional rev) 337 (defun vc-git-annotate-command (file buf &optional rev)