Enforce git message commit consistency

Gommit CircleCI codecov codebeat badge Go Report Card GoDoc GitHub tag

Gommit analyze commits messages to ensure they follow defined pattern.

asciicast

Summary

Setup

Download from release page according to your architecture gommit binary : https://github.com/antham/gommit/releases

Define a file .gommit.toml

Create a file .gommit.toml at the root of your project, for instance :

[config]
exclude-merge-commits=true
check-summary-length=true
summary-length=50

[matchers]
all="(?:ref|feat|test|fix|style)\\(.*?\\) : .*?\n(?:\n?(?:\\* |  ).*?\n)*"

[examples]
a_simple_commit="""
[feat|test|ref|fix|style](module) : A commit message
"""
an_extended_commit="""
[feat|test|ref|fix|style](module) : A commit message

* first line
* second line
* and so on...
"""

Config

  • exclude-merge-commits : if set to true, will not check commit message for merge commit
  • check-summary-length : if set to true, check commit summary length, default is 50 characters
  • summary-length : you can override the default value summary length, which is 50 characters, this config is used only if check-summary-length is true

Matchers

You can define as many matchers you want using regexp, naming is up to you, they will all be compared against a commit message till one match. Regexps used support comments, possessive match, positive lookahead, negative lookahead, positive lookbehind, negative lookbehind, back reference, named back referenc and conditionals.

Examples

Provided to help user to understand where is the problem, like matchers you can define as many examples as you want, they all will be displayed to the user if an error occured.

If you defined for instance :

a_simple_commit="""
[feat|test|ref|fix|style](module) : A commit message
"""

this example will be displayed to the user like that :

A simple commit :

[feat|test|ref|fix|style](module) : A commit message

key is used as a title, underscore are replaced with withespaces.

Usage

Ensure your commit messages are consistent

Usage:
  gommit [command]

Available Commands:
  check       Check ensure a message follows defined patterns
  version     App version

Flags:
      --config string    (default ".gommit.toml")
  -h, --help            help for gommit

Use "gommit [command] --help" for more information about a command.

check

Check ensure a message follows defined patterns

Usage:
  gommit check [flags]
  gommit check [command]

Available Commands:
  commit      Check commit message
  message     Check message
  range       Check messages in commit range

Flags:
  -h, --help   help for check

Global Flags:
      --config string    (default ".gommit.toml")

Use "gommit check [command] --help" for more information about a command.


You need to provide two commit references to run matching for instance :

check commit

Check commit message

Usage:
  gommit check commit [id] [&path] [flags]

Flags:
  -h, --help   help for commit

Global Flags:
      --config string    (default ".gommit.toml")

Check one comit from its commit ID, doesn't support short ID currently :

gommit check commit aeb603ba83614fae682337bdce9ee1bad1da6d6e

check message

Check message

Usage:
  gommit check message [message] [flags]

Flags:
  -h, --help   help for message

Global Flags:
      --config string    (default ".gommit.toml")

Check a message, useful for script for instance when you want to use it with git hooks :

gommit check message "Hello"

check range

Check messages in range

Usage:
  gommit check range [revisionfrom] [revisionTo] [&path] [flags]

Flags:
  -h, --help   help for range

Global Flags:
      --config string    (default ".gommit.toml")

Check a commit range, useful if you want to use it with a CI to ensure all commits in branch are following your conventions :

  • with relative references : gommit check range master~2^ master
  • with absolute references : gommit check range dev test
  • with commit ids (doesn't support short ID currently) : gommit check range 7bbb37ade3ff36e362d7e20bf34a1325a15b 09f25db7971c100a8c0cfc2b22ab7f872ff0c18d

Practical usage

If your system isn't described here and you find a way to have gommit working on it, please improve this documentation by doing a PR for the next who would like to do the same.

Git hook

It's possible to use gommit to validate each commit when you are creating them. To do so, you need to use the commit-msg hook, you can replace default script with this one :

#!/bin/sh

gommit check message "$(cat "$1")";

Travis

In travis, all history isn't cloned, default depth is 50 commits, you can change it : https://docs.travis-ci.com/user/customizing-the-build#Git-Clone-Depth.

First, we download the binary from the release page according to the version we want and we add in .travis.yml :

before_install:
  - wget -O /tmp/gommit https://github.com/antham/gommit/releases/download/v2.0.0/gommit_linux_386 && chmod 777 /tmp/gommit

We can add a perl script in our repository to analyze the commit range against master for instance (master reference needs to be part of cloned history):

#!/bin/perl

`git ls-remote origin master` =~ /([a-f0-9]{40})/;

my $refHead = `git rev-parse HEAD`;
my $refTail = $1;

chomp($refHead);
chomp($refTail);

if ($refHead eq $refTail) {
    exit 0;
}

system "gommit check range $refTail $refHead";

if ($? > 0) {
    exit 1;
}

And finally in .travis.yml, make it crashs when an error occured :

script: perl test-branch-commit-messages-in-travis.pl

CircleCI

In CircleCI (2.0), there is an environment variable that describe current branch : CIRCLE_BRANCH (https://circleci.com/docs/2.0/env-vars/#circleci-environment-variable-descriptions).

First, we download the binary from the release page according to the version we want and we add in .circleci/config.yml :

- run:
    name: Get gommit binary
    command: |
      mkdir /home/circleci/bin
      wget -O ~/bin/gommit https://github.com/antham/gommit/releases/download/v2.0.0/gommit_linux_386 && chmod 777 ~/bin/gommit

And we can run gommit against master for instance :

- run:
    name: Run gommit
    command: |
      if [ $CIRCLE_BRANCH != 'master' ]; then ~/bin/gommit check range $(git rev-parse origin/master) $CIRCLE_BRANCH ; fi

Third Part Libraries

Nodejs

  • gommitjs : A Nodejs wrapper for gommit
Owner
Comments
  • Bump github.com/fatih/color from 1.7.0 to 1.8.0

    Bump github.com/fatih/color from 1.7.0 to 1.8.0

    Bumps github.com/fatih/color from 1.7.0 to 1.8.0.

    Release notes

    Sourced from github.com/fatih/color's releases.

    v1.8.0

    Includes changes from fatih/color#108, most notable:

    • Add Go module support
    • Update /vendor folder content according to the new Go modules rules.
    • Replace .travis.yml with GitHub Actions
    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.

    If all status checks pass Dependabot will automatically merge this pull request.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in your Dependabot dashboard:

    • Update frequency (including time of day and day of week)
    • Pull request limits (per update run and/or open at any time)
    • Automerge options (never/patch/minor, and dev/runtime dependencies)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)
  • Bump github.com/spf13/viper from 1.6.3 to 1.7.0

    Bump github.com/spf13/viper from 1.6.3 to 1.7.0

    Bumps github.com/spf13/viper from 1.6.3 to 1.7.0.

    Release notes

    Sourced from github.com/spf13/viper's releases.

    v1.7.0

    This release mostly contains bug and security fixes, but there are a few new features as well:

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.

    If all status checks pass Dependabot will automatically merge this pull request.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in your Dependabot dashboard:

    • Update frequency (including time of day and day of week)
    • Pull request limits (per update run and/or open at any time)
    • Automerge options (never/patch/minor, and dev/runtime dependencies)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)
  • gommit checks commits outside of specified range

    gommit checks commits outside of specified range

    Hi, gommit seems to check commit outside of the specified range. I've got a test repository at https://github.com/nrdmn/gommit-test. When I run gommit check range HEAD~1 HEAD, gommit complains about commits that are older than HEAD~1. I'm using version 2.1.1.

    Commits:

    $ git log --oneline --graph --pretty=tformat:"%H %s"
    *   7d459fec7b2bdeed49235afa4351bffee3ed56ee Merge branch 'b'
    |\  
    | * 8d953429d21a0e8bcc211a671c862c81dd7053bc xyz add quux
    * | 32e57995fb430bc71bfe2f72a6cf28f16b5bf12b xyz add baz
    |/  
    *   c019554ea4190f4e353b65ed5b7b91cb69d08560 Merge branch 'a'
    |\  
    | * bc29183dc55a976cd60142a005d8fd0b1e4316c9 xyz add bar
    * | f9e9bc63c88ff7f2154eb91becf5e0649b3c668d xyz add foo
    |/  
    * 4e4da5034b797b3369851ef100d1833b6e441f49 add readme
    * 95b78126faa5f115624d0595067666956eabbc4d initial commit
    

    Config:

    [config]
    exclude-merge-commits=true
    check-summary-length=true
    summary-length=50
    
    [matchers]
    all="xyz"
    
    [examples]
    a_simple_commit="""
    x A commit message
    """
    an_extended_commit="""
    x A commit message
    
    * first line
    * second line
    * and so on...
    """
    

    Output:

    $ gommit check range HEAD~1 HEAD
    commit 7d459fec7b2bdeed49235afa4351bffee3ed56ee
    Author: Nick Erdmann <[email protected]>
    Date:   Sat Apr 14 01:37:50 2018 +0200
    
        Merge branch 'b'
    
    
    commit 32e57995fb430bc71bfe2f72a6cf28f16b5bf12b
    Author: Nick Erdmann <[email protected]>
    Date:   Sat Apr 14 01:36:50 2018 +0200
    
        xyz add baz
    
    
    ----
    
    Id       : 4e4da5034b797b3369851ef100d1833b6e441f49
    Message  : 
               add readme
               
    
    Error(s) : - No template match commit message
    
    =======
    
    Your message must match one of those following patterns :
    
    ----
    
    An extended commit : 
    
    x A commit message
    
    * first line
    * second line
    * and so on...
    
    ----
    
    A simple commit : 
    
    x A commit message
    
  • Ignore git revert messages

    Ignore git revert messages

    Sometimes, a commit can be within the proper length, but when you use git revert the auto commit message is over the set length. There should probably be a configuration for toggling that on or off just like merge commits.

  • `go get` errors out with Go 1.8

    `go get` errors out with Go 1.8

    When running:

    $ go get github.com/antham/gommit                                                                                                                                                        
    ../../go/src/github.com/antham/gommit/reference/reference_history.go:8:2: code in directory /home/john/prj/go/src/srcd.works/go-git.v4 expects import "gopkg.in/src-d/go-git.v4"
    

    System: Ubuntu 17.04 Go version: 1.8

  • gommit check message never validate matchers

    gommit check message never validate matchers

    Describe the bug

    gommit doesn't validate any of the message of my commits even when they seems to fit .gommit.toml

    To Reproduce Steps to reproduce the behavior:

    1. Based on this .gommit.toml
    [config]
    exclude-merge-commits=true
    check-summary-length=true
    summary-length=50
    
    [matchers]
    all="(?:ref|feat|test|fix|style)\\(.*?\\) : .*?\n(?:\n?(?:\\* |  ).*?\n)*"
    
    [examples]
    a_simple_commit="""
    [feat|test|ref|fix|style](module) : A commit message
    """
    an_extended_commit="""
    [feat|test|ref|fix|style](module) : A commit message
    
    * first line
    * second line
    * and so on...
    """
    
    1. if I run:
    gommit check message "test(git) : add .gommit.toml"
    
    1. I get:
    ----
    
    Message  : 
               test(git) : add .gommit.toml
    
    Error(s) : - No template match commit message
    
    =======
    
    Your message must match one of those following patterns :
    
    ----
    
    An extended commit : 
    
    [feat|test|ref|fix|style](module) : A commit message
    
    * first line
    * second line
    * and so on...
    
    ----
    
    A simple commit : 
    
    [feat|test|ref|fix|style](module) : A commit message
    

    Expected behavior

    I expect something closer to Everything is ok.

    Desktop (please complete the following information):

    • OS: MacOS Mojave when I downloaded gommit the first time. I upgraded to MacOS Catalina 10.15 since.
    • Shell: zsh
    • gommit version: 2.2.0

    Additional context

    The first time I tried gommit few weeks ago, everything works fine. I even add a lot of stuff to the sample .gommit.toml:

    [config]
    exclude-merge-commits=true
    check-summary-length=true
    summary-length=80
    
    [matchers]
    all="(?:ref|feat|test|fix|style|ci|perf|chores|docs|revert|build)\\(.*?\\): .*?\n(?:\n?(?:\\* |  ).*?\n)*"
    
    [examples]
    a_simple_commit="""
    [feat|test|ref|fix|style|perf|chores|docs|revert|ci|build](module): A commit message
    """
    an_extended_commit="""
    [feat|test|ref|fix|style|perf|chores|docs|revert|ci|build](module): A commit message
    * first line
    * second line
    * and so on...
    """
    

    Again, everything worked fine. But few days ago I notice that I was unable to validate any of my commits since. Is this linked to my OS upgrade ?

    By the way great job with gommit, for the time it works for me it was a relief in my workflow.

  • Bump github.com/stretchr/testify from 1.7.2 to 1.7.4

    Bump github.com/stretchr/testify from 1.7.2 to 1.7.4

    Bumps github.com/stretchr/testify from 1.7.2 to 1.7.4.

    Commits
    • 48391ba Fix panic in AssertExpectations for mocks without expectations (#1207)
    • 840cb80 arrays value types in a zero-initialized state are considered empty (#1126)
    • 07dc7ee Bump actions/setup-go from 3.1.0 to 3.2.0 (#1191)
    • c33fc8d Bump actions/checkout from 2 to 3 (#1163)
    • 3c33e07 Added Go 1.18.1 as a build/supported version (#1182)
    • e2b56b3 Bump github.com/stretchr/objx from 0.1.0 to 0.4.0
    • See full diff in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • Bump github.com/spf13/viper from 1.9.0 to 1.10.0

    Bump github.com/spf13/viper from 1.9.0 to 1.10.0

    Bumps github.com/spf13/viper from 1.9.0 to 1.10.0.

    Release notes

    Sourced from github.com/spf13/viper's releases.

    v1.10.0

    This is a maintenance release primarily containing minor fixes and improvements.

    Changes

    Added

    • Experimental finder based on io/fs
    • Tests are executed on Windows
    • Tests are executed on Go 1.17
    • Logger interface to decouple Viper from JWW

    In addition to the above changes, this release comes with minor improvements, documentation changes an dependency updates.

    Many thanks to everyone who contributed to this release!

    Commits
    • a4bfcd9 chore(deps): update crypt
    • 1cb6606 build(deps): bump gopkg.in/ini.v1 from 1.65.0 to 1.66.2
    • a785a79 refactor: replace jww with the new logger interface
    • f1f6b21 feat: add logger interface and default implementation
    • c43197d build(deps): bump github.com/mitchellh/mapstructure from 1.4.2 to 1.4.3
    • 2abe0dd build(deps): bump gopkg.in/ini.v1 from 1.64.0 to 1.65.0
    • 8ec82f8 chore(deps): update crypt
    • 35877c8 chore: fix lint
    • 655a0aa chore(deps): update golangci-lint
    • 946ae75 ci: fix github script
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • Bump github.com/sirupsen/logrus from 1.6.0 to 1.7.0

    Bump github.com/sirupsen/logrus from 1.6.0 to 1.7.0

    Bumps github.com/sirupsen/logrus from 1.6.0 to 1.7.0.

    Release notes

    Sourced from github.com/sirupsen/logrus's releases.

    Add new BufferPool and LogFunction APIs

    • a new buffer pool management API has been added
    • a set of <LogLevel>Fn() functions have been added
    • the dependency toward a windows terminal library has been removed
    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.

    If all status checks pass Dependabot will automatically merge this pull request.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in your Dependabot dashboard:

    • Update frequency (including time of day and day of week)
    • Pull request limits (per update run and/or open at any time)
    • Automerge options (never/patch/minor, and dev/runtime dependencies)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)
  • Bump github.com/sirupsen/logrus from 1.5.0 to 1.6.0

    Bump github.com/sirupsen/logrus from 1.5.0 to 1.6.0

    Bumps github.com/sirupsen/logrus from 1.5.0 to 1.6.0.

    Release notes

    Sourced from github.com/sirupsen/logrus's releases.

    Release v1.6.0

    Changelog

    Sourced from github.com/sirupsen/logrus's changelog.

    1.6.0

    Fixes:

    • end of line cleanup
    • revert the entry concurrency bug fix whic leads to deadlock under some circumstances
    • update dependency on go-windows-terminal-sequences to fix a crash with go 1.14

    Features:

    • add an option to the TextFormatter to completely disable fields quoting
    Commits
    • 60c74ad update CHANGELOG.md with 1.5.0 and 1.6.0 version contents
    • e8e563a Merge remote-tracking branch 'origin/master' into thlacroix-disable-quotes
    • 0fd458a complete documetation on TextFormatter.DisableQuote
    • 4d96c60 Merge branch 'disable-quotes' of https://github.com/thlacroix/logrus into thl...
    • a5b0247 Merge pull request #1136 from ialidzhikov/nit/line-endings
    • 163c051 Merge pull request #1137 from sirupsen/fix_crash_windows
    • e79215d update github.com/konsorten/go-windows-terminal-sequences dependency to v1.0.3
    • 4989a3f Change CRLF line endings to LF
    • aff00fe Adds additional test cases for DisableQuote
    • c7455de Adds flag to disable quotes in TextFormatter
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.

    If all status checks pass Dependabot will automatically merge this pull request.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in your Dependabot dashboard:

    • Update frequency (including time of day and day of week)
    • Pull request limits (per update run and/or open at any time)
    • Automerge options (never/patch/minor, and dev/runtime dependencies)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)
  • Bump github.com/spf13/pflag from 1.0.0 to 1.0.3

    Bump github.com/spf13/pflag from 1.0.0 to 1.0.3

    Bumps github.com/spf13/pflag from 1.0.0 to 1.0.3.

    Release notes

    Sourced from github.com/spf13/pflag's releases.

    1.0.3

    No release notes provided.

    1.0.2

    Add base64 encoded flag type

    1.0.1

    Includes new ParseErrorsWhitelist API definition

    Commits
    • 298182f Fix panic when parsing unknown flag followed by empty argument (#173)
    • d929dcb Handle single string=>string flags without quotes (#179)
    • 947b89b Add map valued (string->string, string->int) flags. (#133)
    • 9a97c10 bytes: add support for base64 encoded flags (#177)
    • 3ebe029 Allow bubbling up of -test.* flags (#169)
    • 583c0c0 Typo correction in flag.go (#164)
    • 329ebf1 Allow Users To Show Deprecated Flags (#163)
    • 1ce0cc6 make x.Parsed() return true after AddGoFlagSet(x) and pflag.Parse() (#162)
    • 1cd4a0c add ability to ignore unknown flags (#160)
    • ad68c28 Add multiline wrapping support (#155)
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Note: This repo was added to Dependabot recently, so you'll receive a maximum of 5 PRs for your first few update runs. Once an update run creates fewer than 5 PRs we'll remove that limit.

    You can always request more updates by clicking Bump now in your Dependabot dashboard.

    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot ignore this [patch|minor|major] version will close this PR and stop Dependabot creating any more for this minor/major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in your Dependabot dashboard:

    • Update frequency (including time of day and day of week)
    • Automerge options (never/patch/minor, and dev/runtime dependencies)
    • Pull request limits (per update run and/or open at any time)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)

    Finally, you can contact us by mentioning @dependabot.

Help to release a project which especially has multiple git repositories

This project aims to help to release a project which especially has multiple git repositories. Installation Install it to a Kubernetes cluster. You ca

Dec 15, 2022
Product Lifecycle Management (PLM) in Git

Product Lifecycle Management (PLM) in Git. This repo contains a set of best practices and an application that is used to manage information needed to

Dec 21, 2022
gal - generate authors file from git log

[日本語] gal - generate authors file from git log gal command generate AUTHORS.md file at current directory. gal command gets the author name and email a

Aug 19, 2022
A CLI to replace your git commit command, so your git message can partially follow the Conventional Changelog ecosystem
A CLI to replace your git commit command, so your git message can partially follow the Conventional Changelog ecosystem

COMMIT CLI A CLI to replace your git commit command, so your git message can partially follow the Conventional Changelog ecosystem. And yes, it is bui

Feb 9, 2022
Ready is a program to run tasks before a commit using a pre-commit git hook.
Ready is a program to run tasks before a commit using a pre-commit git hook.

Ready Ready is a program to run tasks before a commit using a pre-commit git hook. For example, you can automatically run formatting, linting, and tes

Aug 23, 2022
Git Add Commit - Commit made easy
 Git Add Commit - Commit made easy

Git Add Commit Commit made easy Installation Download the latest release and put the binary in your $PATH Homebrew: brew tap rawnly/tap brew i

Jul 26, 2022
A great util to format you git commit message!
A great util to format you git commit message!

A great util to format you git commit message!

Dec 2, 2021
Prometheus Common Data Exporter can parse JSON, XML, yaml or other format data from various sources (such as HTTP response message, local file, TCP response message and UDP response message) into Prometheus metric data.
Prometheus Common Data Exporter can parse JSON, XML, yaml or other format data from various sources (such as HTTP response message, local file, TCP response message and UDP response message) into Prometheus metric data.

Prometheus Common Data Exporter Prometheus Common Data Exporter 用于将多种来源(如http响应报文、本地文件、TCP响应报文、UDP响应报文)的Json、xml、yaml或其它格式的数据,解析为Prometheus metric数据。

May 18, 2022
Elastic Key-Value Storage With Strong Consistency and Reliability
Elastic Key-Value Storage With Strong Consistency and Reliability

What is Elasticell? Elasticell is a distributed NoSQL database with strong consistency and reliability. Compatible with Redis protocol Use Elasticell

Dec 28, 2022
github-actions-merger is github actions that merges pull request with commit message including pull request labels.

github-actions-merger github-actions-merger is github actions that merges pull request with commit message including pull request labels. Usage Write

Dec 7, 2022
Go-commitlinter - simple commit message linter
Go-commitlinter - simple commit message linter

go-commitlinter go-commitlinter is simple commit message linter. Quick Start go

Oct 8, 2022
Display last GitLab project git commit. Page is optimized for an e-paper device.
Display last GitLab project git commit. Page is optimized for an e-paper device.

git-on-epaper A gitlab webhook for push notifications on a project. The webhook serves a HTML that shows the last push on the project with the followi

Dec 12, 2022
commit/branch/workdir explorer for git

gitin gitin is a commit/branch/status explorer for git gitin is a minimalist tool that lets you explore a git repository from the command line. You ca

Dec 21, 2022
commit/branch/workdir explorer for git

gitin gitin is a commit/branch/status explorer for git gitin is a minimalist tool that lets you explore a git repository from the command line. You ca

Dec 31, 2022
Extended ssh-agent which supports git commit signing over ssh

ssh-agentx ssh-agentx Rationale Requirements Configuration ssh-agentx Configuration ssh-gpg-signer Linux Windows Signing commits after configuration T

Jun 29, 2022
Semantic version generator using git commit keywords and overrides

Semantic version generator Project created overnight, to prove that management of semantic versioning is NOT painful and do not require arguments and

Jan 1, 2023
Git-auto-push - Auto commit and push to github repositories

Auto commit and push to github repositories. How to use git clone https://github

Dec 19, 2022
Enforce default values on structs in Go

Defaults Enforce default values on struct fields. type User struct { Name string `default:"Goku"` Power float64 `default:"9000.01"` } var u

Aug 23, 2022
mesh-kridik is an open-source security scanner that performs various security checks on a Kubernetes cluster with istio service mesh and is leveraged by OPA (Open Policy Agent) to enforce security rules.
mesh-kridik is an open-source security scanner that performs various security checks on a Kubernetes cluster with istio service mesh and is leveraged by OPA (Open Policy Agent) to enforce security rules.

mesh-kridik Enhance your Kubernetes service mesh security !! mesh-kridik is an open-source security scanner that performs various security checks on a

Dec 14, 2022
GitHub App to set and enforce security policies

Allstar Allstar is a GitHub App installed on organizations or repositories to set and enforce security policies. Its goal is to be able to continuousl

Jan 5, 2023