patch-changeVersion #81
@@ -1,2 +1,2 @@
 | 
				
			|||||||
UPD 2022-07-21_19:43:48 49634 FHEM/73_GardenaSmartBridge.pm
 | 
					UPD 2023-01-10_09:29:31 49634 FHEM/73_GardenaSmartBridge.pm
 | 
				
			||||||
UPD 2022-09-18_08:52:23 122934 FHEM/74_GardenaSmartDevice.pm
 | 
					UPD 2023-01-10_09:29:31 122934 FHEM/74_GardenaSmartDevice.pm
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										36
									
								
								hooks/commit-msg
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										36
									
								
								hooks/commit-msg
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,36 @@
 | 
				
			|||||||
 | 
					#!/bin/sh
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# An example hook script to check the commit log message.
 | 
				
			||||||
 | 
					# Called by "git commit" with one argument, the name of the file
 | 
				
			||||||
 | 
					# that has the commit message.  The hook should exit with non-zero
 | 
				
			||||||
 | 
					# status after issuing an appropriate message if it wants to stop the
 | 
				
			||||||
 | 
					# commit.  The hook is allowed to edit the commit message file.
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# To enable this hook, rename this file to "commit-msg".
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Uncomment the below to add a Signed-off-by line to the message.
 | 
				
			||||||
 | 
					# Doing this in a hook is a bad idea in general, but the prepare-commit-msg
 | 
				
			||||||
 | 
					# hook is more suited to it.
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# SOB=$(git var GIT_AUTHOR_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p')
 | 
				
			||||||
 | 
					# grep -qs "^$SOB" "$1" || echo "$SOB" >> "$1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# This example catches duplicate Signed-off-by lines.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					commit_msg=$(cat "${1:?Missing commit message file}")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					test "" = "$(grep '^Signed-off-by: ' "$1" |
 | 
				
			||||||
 | 
						 sort | uniq -c | sed -e '/^[ 	]*1[ 	]/d')" || {
 | 
				
			||||||
 | 
						echo >&2 Duplicate Signed-off-by lines.
 | 
				
			||||||
 | 
						exit 1
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if ! echo "$commit_msg" | grep -Eq "^(build|chore|ci|docs|feat|feat!|fix|perf|refactor|revert|style|test)(\(.+\))?: .*$" ; then 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  echo "Invalid commit message" 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    exit 1 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					fi 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					echo "Commit message is valid!"
 | 
				
			||||||
							
								
								
									
										18
									
								
								hooks/post-commit
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										18
									
								
								hooks/post-commit
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,18 @@
 | 
				
			|||||||
 | 
					#!/bin/bash
 | 
				
			||||||
 | 
					set -eu
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# destination of the final changelog file
 | 
				
			||||||
 | 
					OUTPUT_FILE=CHANGELOG.md
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# generate the changelog
 | 
				
			||||||
 | 
					git --no-pager log --no-merges --format="### %s%d%n>%aD%n%n>Author: %aN (%aE)%n%n>Commiter: %cN (%cE)%n%n%b%n%N%n" > $OUTPUT_FILE
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# prevent recursion!
 | 
				
			||||||
 | 
					# since a 'commit --amend' will trigger the post-commit script again
 | 
				
			||||||
 | 
					# we have to check if the changelog file has changed or not
 | 
				
			||||||
 | 
					res=$(git status --porcelain | grep -c ".\$OUTPUT_FILE$")
 | 
				
			||||||
 | 
					if [ "$res" -gt 0 ]; then
 | 
				
			||||||
 | 
					  git add $OUTPUT_FILE
 | 
				
			||||||
 | 
					  git commit --amend
 | 
				
			||||||
 | 
					  echo "Populated Changelog in $OUTPUT_FILE"
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
		Reference in New Issue
	
	Block a user