GNU bug report logs -
#72341
VC: CVS template lines not stripped when committing
Previous Next
Reported by: Christoph Badura <bad <at> bsd.de>
Date: Sun, 28 Jul 2024 16:36:02 UTC
Severity: normal
Tags: patch
Fixed in version 31.1
Done: Sean Whitton <spwhitton <at> spwhitton.name>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Hi,
attached is v3 of the patch with all the feedback incorporated. And two
more nits fixed:
- use TAB for indent in the options list for the log-edit-hook defcustom.
- update the docstring of log-edit-done-strip-cvs-lines-helper to describe
all arguments.
--chris
On Wed, Mar 05, 2025 at 07:44:33PM +0800, Sean Whitton wrote:
> Hello Christoph,
>
> Thanks. Let me first ask you, how is the copyright paperwork going?
>
> On Tue 18 Feb 2025 at 12:54am +01, Christoph Badura wrote:
>
> > I've just noticed that, e.g. the lines following
> > the "hook :options" in the log-edit-done-hook
> > defcustom, use TAB for indentation while indent-tabs-mode is turned off in
> > the top-level .dir-locals.el. Do you care for consistency with the old
> > code? This affects only a very small number of lines.
>
> No, it's fine to convert them to being indented with only spaces if
> you're editing them. (We just don't do mass conversions.)
>
> > Add a hook function to strip all lines beginning with "CVS:" from the
> > commit message as CVS does. Do this only if 'log-edit-vc-backend' is
> > 'CVS'. (Bug#72341)
> > * lisp/vc/log-edit.el (log-edit-done-strip-cvs-lines)
> > Add a hook function to strip the lines starting with "CVS:".
>
> In the GNU changelog style, please use
>
> * lisp/vc/log-edit.el
> (log-edit-done-strip-cve-lines): New command.
> (log-edit-done-hook): Add it as an option.
>
> > * test/lisp/vc/log-edit-tests.el (log-edit-done-strip-cvs-lines-helper,
>
> Similarly, just "New function."
>
> > log-edit-done-strip-cvs-lines-cvs, log-edit-done-strip-cvs-lines-non-cvs,
> > log-edit-done-strip-cvs-lines-only-cvs-colon-blank,
> > log-edit-done-strip-cvs-lines-only-cvs-colon):
> > Add test cases for 'log-edit-done-strip-cvs-lines'.
>
> Similarly, just "New test cases."
>
> > +(defun log-edit-done-strip-cvs-lines ()
> > + "Strip lines starting with \"CVS:\" from commit log message.
> > +When not called interactively do this only when the VC backend is CVS.
> > +This mimicks what CVS does when invoked as 'cvs commit [files...]'"
> > + (interactive)
> > + (when (or (called-interactively-p 'interactive)
> > + (eq log-edit-vc-backend 'CVS))
>
> Take a look at the docstring for called-interactively-p.
> It explains that it is better to do something like this:
>
> (defun log-edit-done-strip-cvs-lines (&optional interactive)
> (interactive "P")
> (when (or interactive (eq log-edit-vc-backend)) ...
>
> > --- a/test/lisp/vc/log-edit-tests.el
> > +++ b/test/lisp/vc/log-edit-tests.el
> > @@ -360,4 +360,62 @@ log-edit-fill-entry-no-defun-list-wrapping
> > (let ((fill-column 64)) (log-edit-fill-entry))
> > (should (equal (buffer-string) wanted)))))
> >
> > +(defun log-edit-done-strip-cvs-lines-helper (initial-text wanted vc-backend)
> > + "Test that running log-edit-done-strip-cvs-lines as a
> > +log-edit-done-hook produces the WANTED
> > +string when run on INITIAL-TEXT."
>
> It's not such an issue for test helper functions, but it would be better
> to follow our convention of the first line of the docstring being a
> complete sentence.
>
> > +(ert-deftest log-edit-done-strip-cvs-lines-cvs ()
> > + "Strip lines beginning with \"CVS:\" when using CVS as VC backend."
> > + ;; This test verifies that lines beginning with "CVS:" are stripped
> > + ;; from the commit message when log-edit-vc-backend is CVS.
>
> I would suggest merging the comment into the docstring, or just deleting
> the docstring and just having a comment.
> Less for someone to have to read.
>
> Otherwise, all looks good to me. Looking forward to applying it.
>
> --
> Sean Whitton
[0001-VC-add-hook-to-strip-CVS-template-lines-when-committ-v3.patch (text/plain, attachment)]
This bug report was last modified 73 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.