all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Eli Zaretskii <eliz@gnu.org>
To: Stephen Leake <stephen_leake@stephe-leake.org>
Cc: emacs-devel@gnu.org
Subject: Re: Your commit 7409a79
Date: Tue, 09 Dec 2014 18:57:07 +0200	[thread overview]
Message-ID: <83mw6wwyl8.fsf@gnu.org> (raw)
In-Reply-To: <85r3w9bu3y.fsf@stephe-leake.org>

> From: Stephen Leake <stephen_leake@stephe-leake.org>
> Date: Mon, 08 Dec 2014 17:27:13 -0600
> 
> I have been trying for 30 years to make myself write caps and
> periods in commit messages, and it just doesn't work for me (mostly
> because I just don't see it as important). Hence the barrier to
> contributing.

Nothing a simple Lisp function couldn't handle, if installed as a hook
in a proper place, right?

And the period is no longer an issue, so you are down to caps.

> > There was no reprimand in what I wrote, just good will and good
> > advice.

> I got the impression of "if you don't follow this advice, your commits
> will be rejected/not taken seriously". That's _not_ from your text, just
> from your position of core developer, and mine as Emacs newbie. And
> because there is no clear documentation of what the standards are.

Relax, this ain't NASA, and I'm not your boss ;-)  I do expect my
advice to carry some weight, but not enough to prevent you from
arguing if you feel strong about not using caps (or whatever is the
issue at hand).

> > Note the "merge-commit" alternative above: it would have solved the
> > renaming issue (if you even perceive it as an issue: many Git users
> > don't, and evidently neither do Git developers).
> 
> As I understand it, by "merge-commit", you mean :
> 
> - create a feature branch
> 
> - On the feature branch, commit the rename without any changes
> 
> - make other changes on the feature branch
> 
> - merge the feature branch to trunk, squashing the commits into one.

The "squashing" part is optional.  Personally, I prefer not to (if
nothing else, it makes bisecting more accurate, and also lets me
recall what I've done and why more easily), although the benefits are
minor, and some people do prefer squashing.

> But "squash all the commits into one" means the Git rename hueristic has
> to cope with the changes, which is what I was trying to avoid.

Then don't squash.  It's not required.  The single merge-commit is
good enough to make this a single changeset, from the mainline POV.

> >  CONTRIBUTE: Moved from etc/CONTRIBUTE.
> >
> >  This is in preparation for restructuring of developer contribution
> >  documents; see http:/<archive reference> for the related discussion,
> >  and see http:/<archive reference> for the decision to move the file.
> >
> > This has a short summary line which tells enough in "git log" short
> > formats, and then the details below, including the rationale.
> >
> > But this all is a creative, stylistic issue, not something to be
> > codified in mandatory documents.  There is no single solution to this;
> > as long as people choose a reasonable one, and don't goof with
> > misspellings or missing punctuation, they should be OK.

> It's a big stretch to go from the examples in the Gnu coding standards
> to this example. There are some like this in ./Changelog; first one
> 2014-11-11 Eric S. Raymond <address@hidden>, and that has a leading
> asterisk on the first line.

Asterisks come from add-change-log-entry and friends, so it will not
be there if you just write free text, like I did above.

In any case, the asterisks are optional, IMO.  They don't carry any
information with them.  I've been deleting them until now, but I hear
some people want to keep them.  Other projects are inconsistent wrt
this, although most of those I looked at do leave the asterisks alone,
probably because it's easier.

> It's my impression that it is exactly this kind of style issue that
> started this whole thread, so I'd like to have at least a statement of
> what will be accepted in CONTRIBUTE.

From experience, the rules are not rigid.  You need to put the right
information there, and make it in correct English, and that's about
all that's really required.  Beyond that, it's all about your
perfectionism.

> How about:
> 
> - The summary line is limited to 72 characters (enforced by a commit
>   hook). If you have trouble making that a good summary, add a
>   paragraph below it, before the individual file descriptions.
> 
> - If only a single file is changed, the summary line be the normal file
>   first line (starting with the asterisk). Then there is no individual
>   files section.

Should be fine.

> +- merge the feature branch to trunk, squashing the commits into one.

I'd suggest "optionally squashing the commits".

Thanks.



  parent reply	other threads:[~2014-12-09 16:57 UTC|newest]

Thread overview: 52+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-12-06  8:56 Your commit 7409a79 Eli Zaretskii
2014-12-06 10:22 ` Andreas Schwab
2014-12-06 10:29   ` Eli Zaretskii
2014-12-06 10:32   ` Paul Eggert
2014-12-06 15:29   ` Yuri Khan
2014-12-06 23:01   ` Stefan Monnier
2014-12-06 16:14 ` Tom
2014-12-06 18:54   ` Eli Zaretskii
2014-12-06 22:43   ` Stephen Leake
2014-12-06 22:33 ` Stephen Leake
2014-12-07  3:52   ` Eli Zaretskii
2014-12-07 22:39     ` Stephen Leake
2014-12-08  1:57       ` Paul Eggert
2014-12-08  2:28         ` Stephen J. Turnbull
2014-12-08 15:58           ` Eli Zaretskii
2014-12-08 23:38             ` Stephen Leake
2014-12-08 15:58         ` Eli Zaretskii
2014-12-08 18:24           ` Paul Eggert
2014-12-08 15:51       ` Eli Zaretskii
2014-12-08 17:32         ` John Yates
2014-12-08 17:57           ` Eli Zaretskii
2014-12-08 18:14             ` Paul Eggert
2014-12-08 18:28               ` Eli Zaretskii
2014-12-08 18:37               ` Eli Zaretskii
2014-12-08 18:54                 ` Paul Eggert
2014-12-08 19:00               ` Stefan Monnier
2014-12-08 18:54             ` John Yates
2014-12-08 23:27         ` Stephen Leake
2014-12-09  0:51           ` Thien-Thi Nguyen
2014-12-09  8:08             ` Stephen Leake
2014-12-09  9:36               ` Thien-Thi Nguyen
2014-12-09 16:57           ` Eli Zaretskii [this message]
2014-12-10  9:26             ` Stephen Leake
2014-12-10 16:17               ` Eli Zaretskii
2014-12-10 17:04                 ` Stephen Leake
2014-12-10 18:02                   ` Eli Zaretskii
2014-12-10 19:20                     ` Paul Eggert
2014-12-07  5:45   ` Stephen J. Turnbull
2014-12-06 22:59 ` Stefan Monnier
2014-12-07 22:44   ` Stephen Leake
2014-12-07 23:28     ` Stefan Monnier
2014-12-08  9:34       ` Stephen Leake
2014-12-08 10:22         ` Thien-Thi Nguyen
2014-12-08 14:58         ` Stefan Monnier
2014-12-08 23:32           ` Stephen Leake
2014-12-09 11:00           ` Richard Stallman
2014-12-09 11:09             ` David Kastrup
2014-12-10  8:24               ` Richard Stallman
2014-12-10 17:05                 ` Stephen Leake
2014-12-10 19:08                   ` Stefan Monnier
2014-12-08 15:54     ` Eli Zaretskii
2014-12-08 23:33       ` Stephen Leake

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=83mw6wwyl8.fsf@gnu.org \
    --to=eliz@gnu.org \
    --cc=emacs-devel@gnu.org \
    --cc=stephen_leake@stephe-leake.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.