innogames / igcommit Goto Github PK
View Code? Open in Web Editor NEWGit pre-receive hook to check commits and code style
License: MIT License
Git pre-receive hook to check commits and code style
License: MIT License
and how can i do that
I don't see how this can fail. json.loads is available in Python 2.7.16 and Python 3.7.3 on my machines:
Python 2.7.16 (default, Oct 10 2019, 22:02:15)
[GCC 8.3.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from json import loads
>>>
Python 3.7.3 (default, Apr 3 2019, 05:39:12)
[GCC 8.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>d> from json import loads
>>>
Originally posted by @kofrezo in #20 (comment)
I used "git submodule add - B URL Src / pages / SPD" and submitted ". Git modules" file and "Src / pages / SPD" file at the same time, so the following error occurred:
subprocess.CalledProcessError : Command'['/opt/gitlab/embedded/libexec/git-core/git', 'cat-file', '-s', '*********************************']' returned non-zero exit status 128.
Hi,igcommit is great,but can it be used for c++ check?
OSError occurred while pushing a commit of huge number(more than 2200) of files to remote.
remote: === CheckCommand "phpcs" on code/Doctrine/Common/Cache/WinCacheCache.php at 9f6ba964 ===
remote: INFO:
remote: INFO: FILE: code/Doctrine/Common/Cache/WinCacheCache.php
remote: INFO: ----------------------------------------------------------------------
remote: INFO: FOUND 13 ERRORS AND 7 WARNINGS AFFECTING 18 LINES
remote: INFO: ----------------------------------------------------------------------
remote: INFO: 2 | ERROR | You must use "/**" style comments for a file comment
remote: INFO: 25 | WARNING | @link tag is not allowed in class comment
remote: INFO: 26 | WARNING | @SInCE tag is not allowed in class comment
remote: INFO: 27 | WARNING | @author tag is not allowed in class comment
remote: INFO: 28 | WARNING | @author tag is not allowed in class comment
remote: INFO: 29 | WARNING | @author tag is not allowed in class comment
remote: INFO: 30 | WARNING | @author tag is not allowed in class comment
remote: INFO: 31 | WARNING | @author tag is not allowed in class comment
remote: INFO: 35 | ERROR | Doc comment for parameter "$id" missing
remote: INFO: 37 | ERROR | Missing @return tag in function comment
remote: INFO: 43 | ERROR | Doc comment for parameter "$id" missing
remote: INFO: 45 | ERROR | Missing @return tag in function comment
remote: INFO: 51 | ERROR | Doc comment for parameter "$id" missing
remote: INFO: 51 | ERROR | Doc comment for parameter "$data" missing
remote: INFO: 51 | ERROR | Doc comment for parameter "$lifeTime" missing
remote: INFO: 53 | ERROR | Missing @return tag in function comment
remote: INFO: 59 | ERROR | Doc comment for parameter "$id" missinTraceback (most recent call last):
remote: File "/root/githook/igcommit/igcommit/prereceive.py", line 97, in main
remote: state = Runner().run()
remote: File "/root/githook/igcommit/igcommit/prereceive.py", line 28, in run
remote: for check in iter_buffer(self.expand_checks(checks), 16):
remote: File "/root/githook/igcommit/igcommit/utils.py", line 50, in iter_buffer
remote: for elem in iterable:
remote: File "/root/githook/igcommit/igcommit/prereceive.py", line 41, in expand_checks
remote: for check in self.expand_checks_to_input(next_checks, line):
remote: File "/root/githook/igcommit/igcommit/prereceive.py", line 57, in expand_checks_to_input
remote: for check in self.expand_checks_to_commit_list(checks, commit_list):
remote: File "/root/githook/igcommit/igcommit/prereceive.py", line 67, in expand_checks_to_commit_list
remote: for check in self.expand_checks_to_commit(next_checks, commit):
remote: File "/root/githook/igcommit/igcommit/prereceive.py", line 78, in expand_checks_to_commit
remote: for check in self.expand_checks_to_file(next_checks, changed_file):
remote: File "/root/githook/igcommit/igcommit/prereceive.py", line 90, in expand_checks_to_file
remote: for check in prepare_checks(checks, changed_file):
remote: File "/root/githook/igcommit/igcommit/base_check.py", line 94, in prepare_checks
remote: prepared_check = check.prepare(obj)
remote: File "/root/githook/igcommit/igcommit/file_checks.py", line 191, in prepare
remote: new._prepare_proc()
remote: File "/root/githook/igcommit/igcommit/file_checks.py", line 226, in _prepare_proc
remote: [self.get_exe_path()] + self._prepared_args()
remote: File "/root/githook/igcommit/igcommit/git.py", line 314, in pass_content
remote: target_proc = Popen(proc_args, stdin=stdin, stdout=PIPE, stderr=STDOUT)
remote: File "/usr/lib64/python2.7/subprocess.py", line 711, in init
remote: errread, errwrite)
remote: File "/usr/lib64/python2.7/subprocess.py", line 1216, in _execute_child
remote: errpipe_read, errpipe_write = self.pipe_cloexec()
remote: File "/usr/lib64/python2.7/subprocess.py", line 1168, in pipe_cloexec
remote: r, w = os.pipe()
remote: OSError: [Errno 24] Too many open files
remote: g
remote: INFO: 61 | ERROR | Missing @return tag in function comment
remote: INFO: 69 | ERROR | Missing @return tag in function comment
remote: INFO: 77 | ERROR | Missing @return tag in function comment
remote: INFO: ----------------------------------------------------------------------
remote: INFO:
remote: INFO: Time: 32ms; Memory: 4Mb
remote: INFO:
Hi,
I found the get_new_commits method of git.py always have no data returned! Why? Doesn't seem to work?Is there an error in the options provided to the git rev-list command?
I cannot see any of the configuration files to be mentioned in your code base
Kindly provide the configuration files for pycodestyle because currently there is ambiguity as to what configurations on must put into the setup.cfg or tox.ini file
$ touch 2.php
$ git add 2.php
$ git commit -m 'test'
$ git push origin master
Counting objects: 3, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 321 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
remote: === CheckCommand "phpcs" on 2.php at f5aafab3 ===
remote: ERROR: You must supply at least one file or directory to process.
remote: INFO:
remote: INFO: Usage: phpcs [-nwlsaepqvi] [-d key[=value]] [--colors] [--no-colors] [--stdin-path=]
remote: INFO: [--report=] [--report-file=] [--report-=] ...
remote: INFO: [--report-width=] [--generator=] [--tab-width=]
remote: INFO: [--severity=] [--error-severity=] [--warning-severity=]
remote: INFO: [--runtime-set key value] [--config-set key value] [--config-delete key] [--config-show]
remote: INFO: [--standard=] [--sniffs=] [--exclude=] [--encoding=]
remote: INFO: [--extensions=] [--ignore=] [--bootstrap=]
remote: INFO: [--file-list=] ...
remote: INFO: Set runtime value (see --config-set)
Is this by design?
Hi,
It seems there is a problem with encoding unicode characters, in this case the European Euro Sign €
remote: === CheckCommitSummary on 1d03c552 ===
remote: WARNING: commit title not capitalized
remote:
remote:
remote: An error occurred, but the commits are accepted.
remote: Traceback (most recent call last):
remote: File "/usr/local/lib/python2.7/dist-packages/igcommit/prereceive.py", line 116, in main
remote: state = Runner().run()
remote: File "/usr/local/lib/python2.7/dist-packages/igcommit/prereceive.py", line 34, in run
remote: check.print_problems()
remote: File "/usr/local/lib/python2.7/dist-packages/igcommit/base_check.py", line 75, in print_problems
remote: for severity, problem in self.evaluate_problems():
remote: File "/usr/local/lib/python2.7/dist-packages/igcommit/base_check.py", line 85, in evaluate_problems
remote: for severity, problem in self.get_problems():
remote: File "/usr/local/lib/python2.7/dist-packages/igcommit/file_checks.py", line 327, in get_problems
remote: self.load_func(self.committed_file.get_content().decode('utf-8'))
remote: File "/usr/lib/python2.7/xml/etree/ElementTree.py", line 1311, in XML
remote: parser.feed(text)
remote: File "/usr/lib/python2.7/xml/etree/ElementTree.py", line 1651, in feed
remote: self._parser.Parse(data, 0)
remote: UnicodeEncodeError: 'ascii' codec can't encode character u'\u20ac' in position 425: ordinal not in range(128)
Any idea?
I edited config.py to keep only phpcs check in it. Then I tested it with serval files of non-standard style in a initial commit. I found that the push is done without any remote output.
Here is the command executed, which output nothing:
git diff-tree -r --no-commit-id --break-rewrites --no-renames --diff-filter=AM 5620d9d89b45f2901adf13e0ab04e8dd07c39192
Hello, Guru
I want to try your works.
However I cannot solve its dependency -- intenum? how can I install intenum in Ubuntu-14.04?
Thanks in advance.
Hello!
I've been looking for a pre-receive hook for a long time, and this repo looks awesome!
Just a question regarding the use: I'm implementing a git pre-receive hook in bash, and I'd like to call igcommit
from my bash script. Is this possible?
The use of bash is enforced by my git server.
Thanks!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.