[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Enhancement idea for cvs-mode-log
From: |
Jesse Byler |
Subject: |
Enhancement idea for cvs-mode-log |
Date: |
Thu, 23 Feb 2006 14:39:44 -0500 |
Use case: I've done a cvs-examine and I'm browsing a list of changed
files in *cvs*. I want to see log messages and diffs for some of the
changed files. If I open the file (f) and view the log with vc-print-
log (C-x v l), the cursor jumps to the working copy revision, which
lets me see what revisions are newer than my working file and view
diffs. I would like to be able to do this directly from a cvs-mode
buffer without visiting the file first (i.e. make pcl-cvs's cvs-mode-
log work like vc's vc-print-log).
I was unsuccessful implementing exactly that (for some reason,
changing the cursor position in the cvs-mode-do :postproc doesn't
stick and the cursor ends up back at the beginning of the buffer) but
instead have something similar and perhaps more useful: a modified
cvs-mode-log function which displays the log messages for current and
past revisions grayed out, so that "future" revisions stand out in
white. It could probably be cleaned up (it uses vc- commands, face
isn't customizable) and it doesn't work as expected when more than
one file is marked in *cvs* (since it just grays out to the end of
the buffer instead of searching for the end of the current file's
logs). But it works well enough for my personal use and I thought it
could serve as a proof-of-concept.
Thanks,
Jesse
(defun-cvs-mode (fancy-cvs-mode-log . NOARGS) (flags)
"Display the cvs log of all selected files.
With prefix argument, prompt for cvs flags."
(interactive (list (cvs-add-branch-prefix
(cvs-flags-query 'cvs-log-flags "cvs log flags"))))
(cvs-mode-do "log" flags nil
:show t
:postproc
`((let ((focus-rev
,(vc-workfile-version
(concat "./" (cvs-fileinfo->full-name
(car (cvs-mode-marked nil))))))
(inhibit-read-only t))
(if (stringp focus-rev)
(progn
(vc-call-backend 'CVS 'show-log-entry focus-
rev)
(put-text-property (point) (point-max)
'font-lock-face 'shadow
nil)))))))
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Enhancement idea for cvs-mode-log,
Jesse Byler <=