diff mbox series

contrib/vimrc: Reduce textwidth for commit messages

Message ID 20200428043145.3549682-1-ppalka@redhat.com
State New
Headers show
Series contrib/vimrc: Reduce textwidth for commit messages | expand

Commit Message

Patrick Palka April 28, 2020, 4:31 a.m. UTC
The bundled vimrc script, when enabled, currently sets the text width to
80 characters for all files within the source directory.  Unfortunately
this means the setting also applies when editing .git/COMMIT_EDITMSG,
overriding the default and standard text width of 72 for Git commit
messages.  (A text width of 80 is too much for commit messages because
Git indents commit messages by four spaces when displaying them via e.g.
git log, leading to a total displayed width of 84 characters.)

This patch explicitly sets the text width of Git commit messages to 72
characters in accordance with standard practice.  (Alternatively we
could avoid setting textwidth at all in this case and let the defaults
kick in, but maybe it's better to be explicit?)

Tested by writing up this commit message :)  Is this OK to commit?

contrib/ChangeLog:

	* vimrc: Reduce textwidth to 72 for Git commit messages.
---
 contrib/vimrc | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

Comments

Li, Pan2 via Gcc-patches April 29, 2020, 5:06 p.m. UTC | #1
On Tue, 2020-04-28 at 00:31 -0400, Patrick Palka via Gcc-patches wrote:
> The bundled vimrc script, when enabled, currently sets the text width to
> 80 characters for all files within the source directory.  Unfortunately
> this means the setting also applies when editing .git/COMMIT_EDITMSG,
> overriding the default and standard text width of 72 for Git commit
> messages.  (A text width of 80 is too much for commit messages because
> Git indents commit messages by four spaces when displaying them via e.g.
> git log, leading to a total displayed width of 84 characters.)
> 
> This patch explicitly sets the text width of Git commit messages to 72
> characters in accordance with standard practice.  (Alternatively we
> could avoid setting textwidth at all in this case and let the defaults
> kick in, but maybe it's better to be explicit?)
> 
> Tested by writing up this commit message :)  Is this OK to commit?
> 
> contrib/ChangeLog:
> 
> 	* vimrc: Reduce textwidth to 72 for Git commit messages.
OK
jeff
Jakub Jelinek April 29, 2020, 5:14 p.m. UTC | #2
On Wed, Apr 29, 2020 at 11:06:27AM -0600, Jeff Law via Gcc-patches wrote:
> On Tue, 2020-04-28 at 00:31 -0400, Patrick Palka via Gcc-patches wrote:
> > The bundled vimrc script, when enabled, currently sets the text width to
> > 80 characters for all files within the source directory.  Unfortunately
> > this means the setting also applies when editing .git/COMMIT_EDITMSG,
> > overriding the default and standard text width of 72 for Git commit
> > messages.  (A text width of 80 is too much for commit messages because
> > Git indents commit messages by four spaces when displaying them via e.g.
> > git log, leading to a total displayed width of 84 characters.)
> > 
> > This patch explicitly sets the text width of Git commit messages to 72
> > characters in accordance with standard practice.  (Alternatively we
> > could avoid setting textwidth at all in this case and let the defaults
> > kick in, but maybe it's better to be explicit?)
> > 
> > Tested by writing up this commit message :)  Is this OK to commit?
> > 
> > contrib/ChangeLog:
> > 
> > 	* vimrc: Reduce textwidth to 72 for Git commit messages.
> OK

Though, if we go for the ChangeLog entries in commit messages as the source
for auto-appended ChangeLog files during DATESTAMP update, as Martin Liska
is working on - see https://github.com/marxin/gcc-changelog/ -
won't this cause people to wrap ChangeLog entries too early in there?
Because for the script what git log --format=%B is what really matters.

	Jakub
Martin Liška May 4, 2020, 6:18 p.m. UTC | #3
On 4/29/20 7:14 PM, Jakub Jelinek via Gcc-patches wrote:
> On Wed, Apr 29, 2020 at 11:06:27AM -0600, Jeff Law via Gcc-patches wrote:
>> On Tue, 2020-04-28 at 00:31 -0400, Patrick Palka via Gcc-patches wrote:
>>> The bundled vimrc script, when enabled, currently sets the text width to
>>> 80 characters for all files within the source directory.  Unfortunately
>>> this means the setting also applies when editing .git/COMMIT_EDITMSG,
>>> overriding the default and standard text width of 72 for Git commit
>>> messages.  (A text width of 80 is too much for commit messages because
>>> Git indents commit messages by four spaces when displaying them via e.g.
>>> git log, leading to a total displayed width of 84 characters.)
>>>
>>> This patch explicitly sets the text width of Git commit messages to 72
>>> characters in accordance with standard practice.  (Alternatively we
>>> could avoid setting textwidth at all in this case and let the defaults
>>> kick in, but maybe it's better to be explicit?)
>>>
>>> Tested by writing up this commit message :)  Is this OK to commit?
>>>
>>> contrib/ChangeLog:
>>>
>>> 	* vimrc: Reduce textwidth to 72 for Git commit messages.
>> OK
> 
> Though, if we go for the ChangeLog entries in commit messages as the source
> for auto-appended ChangeLog files during DATESTAMP update, as Martin Liska
> is working on - see https://github.com/marxin/gcc-changelog/ -
> won't this cause people to wrap ChangeLog entries too early in there?

Hi.

It seems that 'git 50/72' rule of thumb is well established term used in Git world:
https://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html
https://stackoverflow.com/questions/2290016/git-commit-messages-50-72-formatting

I would follow it as well. People normally use git log with no arguments and
the leading 4 spaces will be displayed.

I support the patch,
Martin

> Because for the script what git log --format=%B is what really matters.
> 
> 	Jakub
>
Martin Liška May 13, 2020, 12:59 p.m. UTC | #4
On 5/4/20 8:18 PM, Martin Liška wrote:
> I support the patch,

And as there's no feedback I also installed the patch.

Martin
diff mbox series

Patch

diff --git a/contrib/vimrc b/contrib/vimrc
index fa0208d5beb..c207eead2e4 100644
--- a/contrib/vimrc
+++ b/contrib/vimrc
@@ -39,7 +39,11 @@  function! SetStyle()
     setlocal shiftwidth=2
     setlocal noexpandtab
   endif
-  setlocal textwidth=80
+  if &filetype == "gitcommit"
+    setlocal textwidth=72
+  else
+    setlocal textwidth=80
+  endif
   setlocal formatoptions-=ro formatoptions+=cqlt
   if index(l:c_exts, l:ext) != -1
     setlocal cindent