We (particularly me) need to be be better at commit messages.

Working with a group of 0 or 1 or 2 who have long engagements with the
source make one sloppier than is good.

Also, being unfamiliar with git probably has some of us focusing more on
getting the raw mechanics right, than properly doing the niceties. This is
early days and we will get better.

We are a small group and unless we grow more than I expect, we need to pay
attention to our context and our audience. A commit that references
something key (e.g., bpctlz) that has been discussed in this forum can
certainly be referred to in shorthand.

It is going to take me a little while to adjust to a larger collaborative
environment and to adopt good habits. It seems to me that there are at
least 3 classes of commits:
1. tiny change (typo or dead obvious bug) that doesn't warrant much more
than 'fix'
2. medium change that warrants a more detailed message that can stand alone
3. big change (e.g., branch merge) that has been discussed in this forum
and a shortname is adequate

Thanks for pushing us to be better. However, we need to keep in mind that
je is a different beast than linux and the git good habits for it need to
be appropriate.


On Wed, May 25, 2016 at 10:59 PM, <neit...@gaertner.de> wrote:

> Here's the first installment of my suggestions for handling
> the J source:
>
>         Better commit messages.
>
> From "git help commit":
>
>        Though not required, it's a good idea to begin the commit message
>        with a single short (less than 50 character) line summarizing
>        the change, followed by a blank line and then a more thorough
>        description. The text up to the first blank line in a commit
>        message is treated as the commit title, and that title is used
>        throughout Git. For example, git-format-patch(1) turns a commit
>        into email, and it uses the title on the Subject line and the
>        rest of the commit in the body.
>
> Here's what your commit titles look like, i.e. just the very first
> single-line summary paragraph of your commit messages.  Let us restrict
> on just the last ten weeks on the jsource "master" branch:
>
>
> jsource 464 > git shortlog --since='10 weeks ago'
> Eric Iverson (12):
>       henry rich bug fix
>       debug start command
>       jdll.tbl midl
>       get jversion from JE file
>       jeversion
>       je version changes
>       fix version buffer overrun bug
>       parser
>       beta-3
>       bpctlz
>       linux bpctlz and clean.sh
>       bpctlz fixes
>
> HenryHRich (6):
>       First try at modifying jsoftware repository
>       Implement CTTZ (Count Trailing Zeros) function using compiler
> builtins.  This makes switch statements on a Type much faster.
>       Use CTTZ for the switch statement in type conversion
>       Make sure symbol types show domain error when converted
>       Provide default C version of CTTZ/CTTZZ, engage that if no
> user-defined version found
>       Perf improvement: fix bsum() to use word-wide operations as long as
> possible
>
> bill lam (10):
>       jconsole for jandroid
>       android makefile update
>       jconsole for deb
>       jconsole for deb
>       fix jconsole for deb
>       RASPI for raspberry
>       add release-android.sh
>       fix compiler error on msvc x86
>       use $(CC) in makefile
>       msvc command line make
>
>
> And since email messages get mutilated in so many ways, here is a
> screenshot
> how this looks in an Open Source Developer's Standard 80 Column Terminal:
> <https://www.gaertner.de/~neitzel/eref/shortlog.png>
>
>
> Henry is is doing good commit messages.  I can get a rough idea what
> he might be working on.  The long lines (>50 chars) make it difficult
> to scan the output, though.
>
> Eric, Bill:  everybody in the J crowd favours conciseness, but you're
> mostly too terse:
>
>         Just "bugfix" on its own doesn't cut it.  Indicate *what* bug you
>         (or Henry) fixed.
>
>         "deb" is not necessarily recognizable as "Debian Linux" for the
>         Windows folks, and and to any Debiansta, "msvc" might be some
>         "Mystery SerViCe".
>
>         "parser"?  "parser" what?  What happened to it?
>
>         "bpctlz"?  Well, I have seen that this is a name of a branch.
>         But still:  what might it be good for?  (The "break-point control
>         zone", certainly.)
>
> Others need to be able to judge from the commit title:
>
>   * if YOUR change might address one of THEIR problems,
>   * whether a pull/merge might might put their line of development at risk,
>   * whether your change is worth the time for some further inspection,
>   * whether your change is worth being integrated (into other branches).
>
> For comparison, here are the commit titles from two other projects.
> First come our fellows working on the "unbox" J fork:
>
>
> Marshall Lochbaum (1):
>       Elaborate on the Windows build procedure
>
> Thomas Costigliola (14):
>       Initial Commit
>       Disbale optimizations on debug builds on Linux
>       Fix line endings; Remove stray makefile
>       Fix box drawing character in IOJ
>       Merge new J Software source release
>       Fix issue #4: E. fails on some small range inputs
>       Fix issue #1: Missing type check in jtfdep
>       Add test scripts covering issues #1 and #4
>       Add git based version string
>       Merge pull request #9 from hoosierEE/develop
>       Update contributing section in README
>       Update build scripts for new config
>       Remove stray file
>       Merge remote-tracking branch 'github/release' into release
>
> hoosierEE (4):
>       int main instead of void
>       more progress on osx, now netdefs.c has pointer to something that
> doesn't exist
>       merciless hacking to make it work on OSX succeeds
>       cleaner, more proper conditional compilation
>
>
> Now, isn't this *much* neater?  Even without looking at the full commit
> messages, I have a good idea what these people did.  And this is the
> entire point of good commit titles.
>
>
> As a second example, here is the original release announcement
> for the Linux kernel 3.12.59 -> 3.12.60 update one week ago.
>
> I am sure this is absolutely foreign territory for everybody of us,
> and while the commits are certainly peppered with unknown identifiers
> such as "vr41xx", you'll find every single one much more meaningful
> than that mystic
>
>                 bpctlz
>
> summarizing commit 4d69436 in the J project.
>
>                                                         Martin
>
>
>
> > From: Jiri Slaby <jsl...@suse.cz>
> > To: linux-ker...@vger.kernel.org, Andrew Morton <
> a...@linux-foundation.org>,
> >    torva...@linux-foundation.org, sta...@vger.kernel.org
> > Cc: l...@lwn.net
> > Message-ID: <4dc7051b-54bf-48fb-5dac-afaa5853c...@suse.cz>
> > Subject: Linux 3.12.60
>
>
> I'm announcing the release of the 3.12.60 kernel.
>
> All users of the 3.12 kernel series must upgrade.
>
> The updated 3.12.y git tree can be found at:
>         git://
> git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git
> linux-3.12.y
> and can be browsed at the normal kernel.org git web browser:
>
> http://git.kernel.org/?p=linux/kernel/git/stable/linux-stable.git;a=summary
>
> A diff can be found at:
> https://git.kernel.org/stable/linux-stable/d/v3.12.59/v3.12.60
>
> ----------------------------------------------------------------
> Adrian Hunter (1):
>       mmc: sdhci: Allow for irq being shared
>
> Al Viro (1):
>       get_rock_ridge_filename(): handle malformed NM entries
>
> Andi Kleen (1):
>       asmlinkage, pnp: Make variables used from assembler code visible
>
> Andrey Gelman (1):
>       Input: ads7846 - correct the value got from SPI
>
> Anton Blanchard (1):
>       powerpc: scan_features() updates incorrect bits for REAL_LE
>
> Antonio Alecrim Jr (1):
>       X.509: remove possible code fragility: enumeration values not handled
>
> Arnd Bergmann (3):
>       ASoC: s3c24xx: use const snd_soc_component_driver pointer
>       paride: make 'verbose' parameter an 'int' again
>       lpfc: fix misleading indentation
>
> Behan Webster (1):
>       x86: LLVMLinux: Fix "incomplete type const struct x86cpu_device_id"
>
> Ben Hutchings (2):
>       misc/bmp085: Enable building as a module
>       atl2: Disable unimplemented scatter/gather feature
>
> Borislav Petkov (1):
>       perf stat: Document --detailed option
>
> Chris Friesen (1):
>       route: do not cache fib route info on local routes with oif
>
> Dan Streetman (1):
>       nbd: ratelimit error msgs after socket close
>
> Daniel Vetter (1):
>       drm/i915: Bail out of pipe config compute loop on LPT
>
> David Howells (2):
>       ASN.1: Fix non-match detection failure on data overrun
>       KEYS: Fix ASN.1 indefinite length object parsing
>
> David S. Miller (1):
>       decnet: Do not build routes to devices without decnet private data.
>
> Dmitry Ivanov (1):
>       nl80211: check netlink protocol in socket release notification
>
> Eric Dumazet (1):
>       net/mlx4_en: fix spurious timestamping callbacks
>
> Ewan D. Milne (1):
>       scsi: Avoid crashing if device uses DIX but adapter does not support
> it
>
> Fabio Estevam (1):
>       bus: imx-weim: Take the 'status' property value into account
>
> Geert Uytterhoeven (2):
>       rtc: vr41xx: Wire up alarm_irq_enable
>       serial: sh-sci: Remove cpufreq notifier to fix crash/deadlock
>
> Herbert Xu (2):
>       crypto: gcm - Fix rfc4543 decryption crash
>       crypto: hash - Fix page length clamping in hash walk
>
> Ian Campbell (1):
>       VSOCK: do not disconnect socket when peer has shutdown SEND only
>
> Jasem Mutlaq (1):
>       USB: serial: cp210x: add Straizona Focusers device ids
>
> Jiri Slaby (2):
>       Revert "xfs: add capability check to free eofblocks ioctl"
>       Linux 3.12.60
>
> John Keeping (1):
>       drm/qxl: fix cursor position with non-zero hotspot
>
> John Stultz (1):
>       cpuset: Fix potential deadlock w/ set_mems_allowed
>
> Kangjie Lu (3):
>       net: fix infoleak in llc
>       net: fix infoleak in rtnetlink
>       net: fix a kernel infoleak in x25 module
>
> Keerthy (1):
>       pinctrl: single: Fix pcs_parse_bits_in_pinctrl_entry to use __ffs
> than ffs
>
> Kirill Tkhai (1):
>       sched: Remove lockdep check in sched_move_task()
>
> Konstantin Khlebnikov (2):
>       mm/balloon_compaction: redesign ballooned pages management
>       mm/balloon_compaction: fix deflation when compaction is disabled
>
> Krzysztof Kozlowski (1):
>       iio: ak8975: Fix NULL pointer exception on early interrupt
>
> Laszlo Ersek (1):
>       efi: Fix out-of-bounds read in variable_matches()
>
> Linus Luessing (1):
>       batman-adv: Fix broadcast/ogm queue limit on a removed interface
>
> Linus Walleij (1):
>       clk: versatile: sp810: support reentrance
>
> Lokesh Vutla (1):
>       ARM: OMAP2+: hwmod: Fix updating of sysconfig register
>
> Lu Baolu (1):
>       usb: xhci: fix wild pointers in xhci_mem_cleanup
>
> Lucas Stach (1):
>       drm/radeon: fix PLL sharing on DCE6.1 (v2)
>
> Marco Angaroni (1):
>       ipvs: correct initial offset of Call-ID header search in SIP
> persistence engine
>
> Marek Szyprowski (1):
>       Input: max8997-haptic - fix NULL pointer dereference
>
> Mathias Krause (2):
>       proc: prevent accessing /proc/<PID>/environ until it's ready
>       packet: fix heap info leak in PACKET_DIAG_MCLIST sock_diag interface
>
> Matt Fleming (1):
>       MAINTAINERS: Remove asterisk from EFI directory names
>
> Michael Hennerich (1):
>       drivers/misc/ad525x_dpot: AD5274 fix RDAC read back errors
>
> Mike Manning (1):
>       USB: serial: cp210x: add ID for Link ECU
>
> Neil Horman (1):
>       netem: Segment GSO packets on enqueue
>
> NeilBrown (1):
>       sunrpc/cache: drop reference when sunrpc_cache_pipe_upcall() detects
> a race
>
> Nikolay Aleksandrov (1):
>       net: bridge: fix old ioctl unlocked net device walk
>
> Pali Roher (1):
>       ARM: OMAP3: Add cpuidle parameters table for omap3430
>
> Paolo Abeni (2):
>       net/route: enforce hoplimit max value
>       ipv4/fib: don't warn when primary address is missing if in_dev is
> dead
>
> Paolo Bonzini (1):
>       compiler-gcc: disable -ftracer for __noclone functions
>
> Prarit Bhargava (1):
>       ACPICA: Dispatcher: Update thread ID for recursive method calls
>
> Robert Dobrowolski (1):
>       usb: hcd: out of bounds access in for_each_companion
>
> Roman Pen (1):
>       workqueue: fix ghost PENDING flag while doing MQ IO
>
> Rui Salvaterra (1):
>       lib: lz4: fixed zram with lz4 on big endian machines
>
> Sascha Hauer (1):
>       ARM: SoCFPGA: Fix secondary CPU startup in thumb2 kernel
>
> Sugar Zhang (1):
>       ASoC: rt5640: Correct the digital interface data select
>
> Sushaanth Srirangapathi (1):
>       fbdev: da8xx-fb: fix videomodes of lcd panels
>
> Sven Eckelmann (2):
>       batman-adv: Check skb size before using encapsulated ETH+VLAN header
>       batman-adv: Reduce refcnt of removed router when updating route
>
> Takashi Iwai (1):
>       Input: i8042 - lower log level for "no controller" message
>
> Tony Lindgren (1):
>       ARM: OMAP3: Fix booting with thumb2 kernel
>
> Tony Luck (1):
>       EDAC: i7core, sb_edac: Don't return NOTIFY_BAD from mce_decoder
> callback
>
> Vasily Kulikov (1):
>       include/linux/poison.h: fix LIST_POISON{1,2} offset
>
> Vitaly Kuznetsov (1):
>       Drivers: hv: vmbus: prevent cpu offlining on newer hypervisors
>
> Vladis Dronov (1):
>       Input: gtco - fix crash on detecting device without endpoints
>
> Wang YanQing (1):
>       x86/sysfb_efi: Fix valid BAR address range check
>
>  MAINTAINERS                                |  4 +-
>  Makefile                                   |  2 +-
>  arch/arm/mach-omap2/cpuidle34xx.c          | 69 +++++++++++++-
>  arch/arm/mach-omap2/omap_hwmod.c           |  8 +-
>  arch/arm/mach-omap2/sleep34xx.S            | 22 +----
>  arch/arm/mach-socfpga/headsmp.S            |  1 +
>  arch/powerpc/include/uapi/asm/cputable.h   |  1 +
>  arch/powerpc/kernel/prom.c                 |  2 +-
>  arch/x86/kernel/sysfb_efi.c                | 14 ++-
>  crypto/ahash.c                             |  3 +-
>  crypto/gcm.c                               |  3 +
>  drivers/acpi/acpica/dsmethod.c             |  3 +
>  drivers/block/nbd.c                        |  4 +-
>  drivers/block/paride/pd.c                  |  4 +-
>  drivers/block/paride/pt.c                  |  4 +-
>  drivers/bus/imx-weim.c                     |  2 +-
>  drivers/clk/versatile/clk-sp810.c          |  4 +-
>  drivers/edac/i7core_edac.c                 |  2 +-
>  drivers/edac/sb_edac.c                     |  2 +-
>  drivers/firmware/efi/vars.c                | 37 +++++---
>  drivers/gpu/drm/i915/intel_crt.c           |  8 +-
>  drivers/gpu/drm/qxl/qxl_display.c          | 13 ++-
>  drivers/gpu/drm/qxl/qxl_drv.h              |  2 +
>  drivers/gpu/drm/radeon/atombios_crtc.c     | 10 ++
>  drivers/hv/vmbus_drv.c                     | 36 ++++++++
>  drivers/iio/magnetometer/ak8975.c          |  4 +-
>  drivers/input/misc/max8997_haptic.c        |  6 +-
>  drivers/input/serio/i8042.c                |  2 +-
>  drivers/input/tablet/gtco.c                | 10 +-
>  drivers/input/touchscreen/ads7846.c        |  8 +-
>  drivers/misc/Kconfig                       |  2 +-
>  drivers/misc/ad525x_dpot.c                 |  2 +-
>  drivers/mmc/host/sdhci.c                   |  4 +-
>  drivers/net/ethernet/atheros/atlx/atl2.c   |  2 +-
>  drivers/net/ethernet/mellanox/mlx4/en_tx.c |  6 +-
>  drivers/pinctrl/pinctrl-single.c           |  6 +-
>  drivers/pnp/pnpbios/bioscalls.c            |  9 +-
>  drivers/rtc/rtc-vr41xx.c                   | 13 +--
>  drivers/scsi/lpfc/lpfc_init.c              |  5 +-
>  drivers/scsi/scsi_lib.c                    | 12 ++-
>  drivers/tty/serial/sh-sci.c                | 39 --------
>  drivers/usb/core/hcd-pci.c                 |  9 ++
>  drivers/usb/host/xhci-mem.c                |  6 ++
>  drivers/usb/serial/cp210x.c                |  4 +
>  drivers/video/da8xx-fb.c                   |  7 +-
>  drivers/virtio/virtio_balloon.c            | 15 ++-
>  fs/isofs/rock.c                            | 13 ++-
>  fs/proc/base.c                             |  3 +-
>  fs/xfs/xfs_ioctl.c                         |  6 --
>  include/linux/balloon_compaction.h         | 97 +++++---------------
>  include/linux/compiler-gcc.h               |  2 +-
>  include/linux/cpuset.h                     |  4 +
>  include/linux/migrate.h                    | 11 +--
>  include/linux/mm.h                         | 19 ++++
>  include/linux/mod_devicetable.h            |  8 ++
>  include/linux/poison.h                     |  4 +-
>  kernel/sched/core.c                        |  8 +-
>  kernel/workqueue.c                         | 29 ++++++
>  lib/asn1_decoder.c                         | 21 +++--
>  lib/lz4/lz4defs.h                          | 21 +++--
>  mm/balloon_compaction.c                    | 28 +++---
>  mm/compaction.c                            |  2 +-
>  mm/migrate.c                               | 20 +---
>  net/batman-adv/routing.c                   |  9 ++
>  net/batman-adv/send.c                      |  6 ++
>  net/batman-adv/soft-interface.c            |  8 +-
>  net/bridge/br_ioctl.c                      |  5 +-
>  net/core/rtnetlink.c                       | 18 ++--
>  net/decnet/dn_route.c                      |  9 +-
>  net/ipv4/fib_frontend.c                    |  6 +-
>  net/ipv4/fib_semantics.c                   |  2 +
>  net/ipv4/route.c                           | 12 +++
>  net/ipv6/route.c                           |  6 +-
>  net/llc/af_llc.c                           |  1 +
>  net/netfilter/ipvs/ip_vs_pe_sip.c          |  2 +-
>  net/packet/af_packet.c                     |  1 +
>  net/sched/sch_netem.c                      | 61 +++++++++++-
>  net/sunrpc/cache.c                         |  6 +-
>  net/vmw_vsock/af_vsock.c                   | 21 +----
>  net/wireless/nl80211.c                     |  2 +-
>  net/x25/x25_facilities.c                   |  1 +
>  scripts/asn1_compiler.c                    |  2 +
>  sound/soc/codecs/rt5640.c                  |  2 +-
>  sound/soc/codecs/rt5640.h                  | 36 ++++----
>  sound/soc/samsung/s3c-i2s-v2.c             |  2 +-
>  sound/soc/samsung/s3c-i2s-v2.h             |  2 +-
>  tools/perf/Documentation/perf-stat.txt     |  8 ++
>  87 files changed, 604 insertions(+), 351 deletions(-)
>
> thanks,
> --
> js
>
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to