Philipp Hörist pushed to branch master at gajim / gajim


Commits:
7db8a080 by lovetox at 2022-03-27T00:19:42+01:00
Add git update server-side hook

- - - - -
0bd54254 by lovetox at 2022-03-27T00:24:02+01:00
Update CONTRIBUTING.md

- - - - -


2 changed files:

- + .githooks/update
- CONTRIBUTING.md


Changes:

=====================================
.githooks/update
=====================================
@@ -0,0 +1,50 @@
+#!/usr/bin/env python
+
+import sys
+import subprocess
+
+
+ALLOWED_TAGS = ['feat', 'fix', 'perf', 'refactor', 'chore', 'other']
+
+
+def parse_args() -> tuple[str, str]:
+    old_ref = sys.argv[2]
+    new_ref = sys.argv[3]
+    return old_ref, new_ref
+
+
+def get_commit_subject(sha: str) -> str:
+    data = subprocess.check_output(
+        ['git', 'log', '-1', '--pretty=format:%s', sha])
+    return data.decode()
+
+
+def get_commit_shas(start_ref: str, end_ref: str) -> list[str]:
+    arg = f'{start_ref}..{end_ref}'
+    data = subprocess.check_output(['git', 'rev-list', arg])
+    text = data.decode()
+    text = text.strip()
+    return text.split('\n')
+
+
+def enforce_message_rules(subject: str) -> None:
+    tag, subject = subject.split(': ', maxsplit=1)
+    if tag not in ALLOWED_TAGS:
+        print('Unknown commit message tag:', tag)
+        sys.exit(1)
+
+    if not subject[0].isupper():
+        print('First letter after tag must be uppercase')
+        sys.exit(1)
+
+
+def main(args: tuple[str, str]) -> None:
+    shas = get_commit_shas(*args)
+    for sha in shas:
+        subject = get_commit_subject(sha)
+        enforce_message_rules(subject)
+
+
+if __name__ == "__main__":
+    args = parse_args()
+    main(args)


=====================================
CONTRIBUTING.md
=====================================
@@ -1,3 +1,4 @@
+# Project
 
 If you want to create a fork and use an external account (Github, Google) drop 
us a message at the Gajim support [group 
chat](xmpp:[email protected]?join) so we can give you the necessary 
rights
 
@@ -6,6 +7,24 @@
 - gajim_1.0 - Stable Gajim 1.0.x branch
 - gajim_0.16 - Stable Gajim 0.16.x branch
 
+
+# Commit Messages
+
 If you are not familiar with Git please read the 
[HowTo](https://dev.gajim.org/gajim/gajim/wikis/development/howtogit)
 
 A good article regarding [good commit 
messages](https://chris.beams.io/posts/git-commit/)
+
+Every commit message must be prefixed with one of the following tags:
+
+- feat
+- fix
+- perf
+- refactor
+- chore
+- other
+
+Further the first letter after the tag must be upper case
+
+Example:
+
+`feat: New Button which does something`



View it on GitLab: 
https://dev.gajim.org/gajim/gajim/-/compare/b059dfb254aabd7b1f28c6a49641e39293f3de00...0bd5425432b19d92bfcf9ec9635ce08c87577e39

-- 
View it on GitLab: 
https://dev.gajim.org/gajim/gajim/-/compare/b059dfb254aabd7b1f28c6a49641e39293f3de00...0bd5425432b19d92bfcf9ec9635ce08c87577e39
You're receiving this email because of your account on dev.gajim.org.


_______________________________________________
Commits mailing list
[email protected]
https://lists.gajim.org/cgi-bin/listinfo/commits

Reply via email to