Commit Graph

80 Commits

Author SHA1 Message Date
Vincent Batts 45f58c3742
go: update modules
Signed-off-by: Vincent Batts <vbatts@hashbangbash.com>
2021-05-13 08:03:39 -04:00
Vincent Batts 60cb871391
Merge pull request #47 from cevich/fix_gpg_interference
Consider only commit IDs when listing range
2020-09-16 14:10:08 -04:00
Chris Evich 3c71df2bd9
Consider only commit IDs when listing range
When using `git log`, if some/all commits are gpg-signed, git will
automatically try to validate the signatures by default.  This results
in printing additional text.  This additional gpg-validation text is
then incorrectly interpreted by `git-validate` as if they were commit
IDs.  Fix the problem by using the `rev-list` sub-command which will
ONLY list the IDs.

Signed-off-by: Chris Evich <cevich@redhat.com>
2020-09-16 11:41:22 -04:00
Vincent Batts 91e5ebf160
Merge pull request #45 from estesp/travis-go-vers
Update travis to supported Go versions
2020-03-27 07:42:32 -04:00
Phil Estes c36adca155
Update travis to supported Go versions
Remove unsupported/old Golang versions from Travis run.

Signed-off-by: Phil Estes <estesp@vnet.linux.ibm.com>
2020-03-26 23:23:26 -04:00
Vincent Batts c95946fd0c
travis: drop go1.7 and go1.8 due to golang.org/x/sys
Ref: https://github.com/vbatts/git-validation/pull/43#issuecomment-530467954

golang.org/x/sys as of fde4db37ae7ad8191b03d30d27f258b5291ae4e3 uses
`math/bits`, so it does not support go1.7 and go1.8
I could set that in the go.mod, but those old versions do not support
that. I could ./vendor/ but perhaps no one is even using this tool on
these old golang versions. Choices. choices.

Signed-off-by: Vincent Batts <vbatts@hashbangbash.com>
2019-09-11 12:54:50 -04:00
Vincent Batts 5b845cee79
Merge pull request #43 from crosbymichael/exclude
Skip empty excludes
2019-09-11 12:52:28 -04:00
Michael Crosby efe06dd0d3 Skip empty excludes
This is useful when you want to append additional elements to the env
var in the fasion of `PATH=$PATH:/things`.

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2019-09-10 16:33:44 -04:00
Vincent Batts e7e08e6b9b
Merge pull request #42 from saschagrunert/master
Add go module support
2019-05-20 16:12:35 -04:00
Sascha Grunert 9b8644d0b1
Add go module support
Adds a `go.mod` and `go.sum` to the project to enable basic go module
support.

Signed-off-by: Sascha Grunert <sgrunert@suse.com>
2019-05-06 14:38:14 +02:00
Vincent Batts 7b29366a0d
Merge pull request #41 from giuseppe/fix-empty-commit-range
git-validation: do not fail on an empty commit range
2018-11-08 08:57:10 -05:00
Giuseppe Scrivano a269d9d42d
git-validation: do not fail on an empty commit range
The error could be reproduced with "git-validation -range HEAD..HEAD"

Closes: https://github.com/vbatts/git-validation/issues/36

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2018-11-08 14:14:00 +01:00
Vincent Batts 27e9409966
Merge pull request #40 from vbatts/golint
Fix golint import path
2018-10-31 14:19:30 -04:00
Vincent Batts 099c80c66f
travis: version conditional golint
Since golint has changed url, and older go can't even install it, it
requires some silliness to install and only check when it's the newer
go1.11

Signed-off-by: Vincent Batts <vbatts@hashbangbash.com>
2018-10-31 14:14:07 -04:00
golint fixer a0a8b28611
Fix golint import path
Signed-off-by: Vincent Batts <vbatts@hashbangbash.com>
2018-10-26 10:09:09 -04:00
Vincent Batts bc61a7ad0c
Merge pull request #38 from vbatts/fix37
git: compare version of git for known features
2018-09-25 19:12:05 +01:00
Vincent Batts 8bd4195bb7
git: compare version of git for known features
Fixes #37

Reported-by: Brent Baude <@baude>
Signed-off-by: Vincent Batts <vbatts@hashbangbash.com>
2018-09-25 14:11:13 -04:00
Vincent Batts 656ba47bb0
Merge pull request #35 from kunalkushwaha/update-readme
Updated usage of GIT_CHECK_EXCLUDE
2018-03-06 20:46:36 -05:00
Kunal Kushwaha fbad882378 Updated usage of GIT_CHECK_EXCLUDE
Signed-off-by: Kunal Kushwaha <kushwaha_kunal_v7@lab.ntt.co.jp>
2018-03-07 09:54:54 +09:00
Vincent Batts 48acb1add0
Merge pull request #34 from kunalkushwaha/multiple-exclude-pathspec
added support for multiple path in exclude list
2018-03-06 14:21:08 -05:00
Kunal Kushwaha 400b685c66 support for multiple path in exclude list
delimeter should be used as colon(:)

Signed-off-by: Kunal Kushwaha <kushwaha_kunal_v7@lab.ntt.co.jp>
2018-03-06 15:59:52 +09:00
Vincent Batts 3dbd244e43
Merge pull request #32 from mikebrow/sirupsen-update
sirupsen changed name
2017-11-27 12:29:48 -05:00
Mike Brown 8ebf5d3f10 sirupsen changed name
Signed-off-by: Mike Brown <brownwm@us.ibm.com>
2017-11-27 11:02:43 -06:00
Vincent Batts cb8f88ffbf
shortsubject: merge commits may be long
due to automated "merge of <hash> in to <hash>"

Signed-off-by: Vincent Batts <vbatts@hashbangbash.com>
2017-11-15 11:59:18 -05:00
Vincent Batts 90191a015b Merge pull request #31 from vbatts/valued_rules
add a message_regexp rule
2017-10-12 09:26:06 -04:00
Vincent Batts 00823a324b
message_regexp: regular expression rule for messages
Fixes: #30

now you can add a regular expression to the rules to be run
i.e. `git-validation -run "dco,message_regexp='^JIRA-[0-9]+ [A-Z].*$'"`

Signed-off-by: Vincent Batts <vbatts@hashbangbash.com>
2017-10-09 16:07:40 -04:00
Vincent Batts d9bf419b44
validate: prep for rules that have a value
where needed, some rules may need to pass in a value like for a reguler
expression.

Signed-off-by: Vincent Batts <vbatts@hashbangbash.com>
2017-10-09 13:21:23 -04:00
Vincent Batts cc3ab48288 Merge pull request #22 from vbatts/docs_for_exclude
README: doc the exclude function
2017-04-27 14:19:43 -04:00
Vincent Batts 04d7733885
README: doc the exclude function
https://github.com/vbatts/git-validation/pull/21

Signed-off-by: Vincent Batts <vbatts@hashbangbash.com>
2017-04-27 14:14:35 -04:00
Vincent Batts 9c912afea5 Merge pull request #23 from vbatts/travis
travis: test on latest go branches
2017-04-27 14:13:27 -04:00
Vincent Batts 5a672d8f1c Merge pull request #28 from wking/golint-exit-status
.travis.yml: Add '-set_exit_status' to golint invocation
2017-04-27 14:08:32 -04:00
Vincent Batts 032c0d21e9
travis: test on latest go branches
Signed-off-by: Vincent Batts <vbatts@hashbangbash.com>
2017-04-27 14:05:44 -04:00
Vincent Batts ac0930a271 Merge pull request #29 from vbatts/fix_push_ci
travis: only run the git-validation on pull-requests
2017-04-27 14:04:18 -04:00
Vincent Batts 56ef622e37
travis: only run the git-validation on pull-requests
Fixes #24

https://docs.travis-ci.com/user/pull-requests/

Signed-off-by: Vincent Batts <vbatts@hashbangbash.com>
2017-04-27 13:59:55 -04:00
W. Trevor King 094999a80e rules/danglingwhitespace/rule.go: Comment for ValidateDanglingWhitespace
Avoid golint's:

  rules/danglingwhitespace/rule.go:22:1: exported function ValidateDanglingWhitespace should have comment or be unexported

Signed-off-by: W. Trevor King <wking@tremily.us>
2017-04-27 10:37:17 -07:00
W. Trevor King b4e2a474d1 .travis.yml: Add '-set_exit_status' to golint invocation
So Travis tells us when golint finds something suspicious.

Signed-off-by: W. Trevor King <wking@tremily.us>
2017-04-27 10:20:21 -07:00
Vincent Batts e6a550d472 Merge pull request #21 from dmcgowan/exclude-check
Add exclude pattern for git checks
2017-04-27 10:26:18 -04:00
Derek McGowan 742f9db7ae Add exclude pattern for git checks
Allows excluding of vendor directories for whitespace checks

Signed-off-by: Derek McGowan <derek@mcgstyle.net>
2017-04-26 14:29:57 -07:00
Vincent Batts cf8d44cfd7 Merge pull request #20 from wking/replace-arg-order
main: Fix strings.Replace argument order
2017-03-21 18:20:26 -04:00
W. Trevor King f94dce37d6 main: Fix strings.Replace argument order
It's (string, old, new, n), not (old, new, string, n) [1].  Fixes a
typo I'd introduced in cdd7165 (main: Return to using
TRAVIS_COMMIT_RANGE (with ... -> .. fix), 2017-03-21, #17).

[1]: https://golang.org/pkg/strings/#Replace

Signed-off-by: W. Trevor King <wking@tremily.us>
2017-03-21 15:07:53 -07:00
Vincent Batts 4cee76b1df Merge pull request #17 from wking/test-merges-again
Test merges again and return to using TRAVIS_COMMIT_RANGE
2017-03-21 17:58:56 -04:00
Vincent Batts fe12ea494a Merge pull request #19 from wking/log-failed-git-commands
git/commits: Log failed Git commands
2017-03-21 17:57:11 -04:00
Vincent Batts af669a5d2b Merge pull request #18 from wking/dogfood
.travis.yml: Dogfood git-validation
2017-03-21 17:48:39 -04:00
W. Trevor King 5e1b04597c git/commits: Log failed Git commands
Before this commit:

  $ ./git-validation -run DCO -range HEAD^^..foo
  2017/03/21 13:00:30 exit status 128

With this commit:

  $ ./git-validation -run DCO -range HEAD^^..foo
  ERRO[0000] [git] cmd: "git --no-pager log --no-merges --pretty=format:%H HEAD^^..foo"
  2017/03/21 13:16:43 exit status 128

You can get similar output with -D, but folks are unlikely to set that
in production.  With the new error logs, Travis output and similar is
more likely to contain some useful information.

Signed-off-by: W. Trevor King <wking@tremily.us>
2017-03-21 13:17:56 -07:00
W. Trevor King 2e3c157f4b .travis.yml: Dogfood git-validation
This makes it easier to test the script and avoids leaking dangling
whitespace, etc. into the repo.

Signed-off-by: W. Trevor King <wking@tremily.us>
2017-03-21 12:27:53 -07:00
W. Trevor King cdd7165f80 main: Return to using TRAVIS_COMMIT_RANGE (with ... -> .. fix)
Master builds only have a 'git clone ...' [1] so FETCH_HEAD isn't
defined and git-validation crashes [2].  This commit partially reverts
8a12a8fc (main: default travis commit range is unreliable, 2017-03-21,
#13) to avoid that crash.  If TRAVIS_COMMIT_RANGE is unset [3],
falling back to TRAVIS_COMMIT may be fine.

The ... -> .. replacement works around travis-ci/travis-ci#4596 until
that is fixed upstream [4].  This avoids pulling in commits from the
base tip that aren't reachable from the head tip (e.g. if master has
advanced since the PR branched off, and the PR is against master).  We
only want to check commits that are in the head branch but not in the
base branch (more details on the range syntax in [5]).

Once the Travis bug does get fixed, the shell replacement will be a
no-op.  So we don't have to worry about checks breaking once the bug
gets fixed, and can periodically poll the bug and remove the
workaround at out leisure after the fix.

[1]: https://travis-ci.org/opencontainers/runc/jobs/213508696#L243
[2]: https://travis-ci.org/opencontainers/runc/jobs/213508696#L347
[3]: https://github.com/opencontainers/runc/pull/1378#issuecomment-287903471
[4]: https://github.com/travis-ci/travis-ci/issues/4596
[5]: http://git-scm.com/docs/gitrevisions#_specifying_ranges

Signed-off-by: W. Trevor King <wking@tremily.us>
2017-03-21 12:16:01 -07:00
W. Trevor King a5aad5a99b git/commits: Test merge commits
Partially reverting ca825225 (git: do not include merges in the commit
range, 2017-03-21, #16).  I've kept the unrelated --no-pager addition
from that commit.

I think merges in the commit range should be checked against whatever
criteria the caller is asking for.  If the caller does not want to
check a machine-generated commit, they shouldn't include it in the
commit range.

And we already have special-cases for merges.  For example, we skip
DCO checks for merge commits.  I'd be happier without that special
case, because human-generated merge commits can still add novel code
(and therefore should have Signed-off-by), etc.  But I don't think we
want a blanket pass for merge commits.

Signed-off-by: W. Trevor King <wking@tremily.us>
2017-03-21 11:35:00 -07:00
Vincent Batts 9b7297d813 Merge pull request #16 from vbatts/no-merges
git: do not include merges in the commit range
2017-03-21 10:20:23 -04:00
Vincent Batts ca8252252b
git: do not include merges in the commit range
Signed-off-by: Vincent Batts <vbatts@hashbangbash.com>
2017-03-21 10:13:01 -04:00
Vincent Batts a23edf13d9 Merge pull request #15 from vbatts/fix_range_var
main: default travis commit range is unreliable
2017-03-21 09:49:53 -04:00