19 lines
		
	
	
		
			571 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			19 lines
		
	
	
		
			571 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/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
 |