是否可以将最新文件放回*vc-dir*
缓冲区?到目前为止,我一直在使用psvn.el
(在cvs-examine
之前),它们都有一个命令,可以让我看到树的完整内容/状态。
如果*vc-dir*
中存在类似内容,我无法找到它。
如果没有,你们男孩和女孩如何使用它?
所以看起来功能还没有,现在我认为这个问题已经从程序员正确地转移到了stackoverflow:它不是关于工具本身,而是如何扩展它。
我查看了源代码,我认为我需要一个函数来递归一个子目录,只包括那些已知受版本控制的文件。如果此函数存在并被称为vc-dir-find-versioned-child-files
,则解决方案将接近于此:
(define-key map [follow-link] 'mouse-face)
(define-key map "x" 'vc-dir-hide-up-to-date)
+ (define-key map "X" 'vc-dir-show-child-files)
(define-key map "S" 'vc-dir-search) ;; FIXME: Maybe use A like dired?
(define-key map "Q" 'vc-dir-query-replace-regexp)
和
(ewoc-set-hf vc-ewoc (vc-dir-headers backend def-dir) ""))))
+(defun vc-dir-show-child-files ()
+ "expand the directory under the cursor"
+ (interactive)
+ (let ((files (vc-dir-find-versioned-child-files (vc-dir-current-file)))
+ fileentries)
+ (when files
+ (dolist (crt files)
+ (push (list (file-relative-name crt) (vc-state crt))
+ fileentries))
+ (vc-dir-update fileentries (current-buffer)))))
(defun vc-dir-show-fileentry (file)
关闭,但不完全正确,因为状态未正确计算,现在提供nil
。
我在vc-dir
中仍然遗漏的信息是谁做了最后一次提交以及每个条目的修订号(最好是本地和远程)。但我不够好与LISP互动。
如果vc-dir
不能满足我的需求,那么ecb
呢?
答案 0 :(得分:2)
vc-dir似乎是硬编码来隐藏最新文件。有一个函数vc-dir-hide-up-to-date
与你想要的相反,而且由于vc-dir使用ewoc,因此镜像它不应该太难。如果没有人有更好的想法,我可以稍后再试一试。