mirror of
https://github.com/libevent/libevent.git
synced 2025-01-09 00:56:20 +08:00
Merge branch 'release-scripts'
* release-scripts: Add a script to generate changelog Add a script to add new contributors Rellocate some text in CONTRIBUTORS.md
This commit is contained in:
commit
e28b3befa1
@ -1,3 +1,5 @@
|
||||
_If we have forgotten your name, please contact us_
|
||||
|
||||
## Libevent Contributors
|
||||
* Samy Al Bahra
|
||||
* Antony Antony
|
||||
@ -201,5 +203,3 @@
|
||||
* Philip Prindeville
|
||||
* Vis Virial
|
||||
* Sayan Nandan
|
||||
|
||||
If we have forgotten your name, please contact us
|
43
extra/release/changelog.py
Executable file
43
extra/release/changelog.py
Executable file
@ -0,0 +1,43 @@
|
||||
#!/usr/bin/env python3
|
||||
|
||||
import git
|
||||
import argparse
|
||||
import re
|
||||
|
||||
def parse_opts():
|
||||
p = argparse.ArgumentParser()
|
||||
p.add_argument('--git-root', default='.')
|
||||
p.add_argument('--no-squash-merge-childs', action='store_true')
|
||||
p.add_argument('--abbrev', default=8, type=int)
|
||||
# git config pretty.le
|
||||
p.add_argument('--format', default=' o %(s)s (%(h)s %(aN)s)')
|
||||
p.add_argument('--revision-range')
|
||||
return p.parse_args()
|
||||
|
||||
def main():
|
||||
opts = parse_opts()
|
||||
repo = git.Repo(opts.git_root)
|
||||
squash = not opts.no_squash_merge_childs
|
||||
|
||||
ignore = []
|
||||
|
||||
revision_range = opts.revision_range
|
||||
if not revision_range:
|
||||
revision_range = repo.git.describe('--abbrev=0') + '..'
|
||||
|
||||
for commit in repo.iter_commits(revision_range):
|
||||
if squash:
|
||||
if commit.hexsha in ignore:
|
||||
continue
|
||||
if len(commit.parents) > 1:
|
||||
for c in repo.iter_commits('{}..{}'.format(*commit.parents)):
|
||||
ignore.append(c.hexsha)
|
||||
print(opts.format % {
|
||||
's': commit.summary,
|
||||
'h': commit.hexsha[:opts.abbrev],
|
||||
'aN': str(commit.author),
|
||||
})
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
24
extra/release/update-contributors.sh
Executable file
24
extra/release/update-contributors.sh
Executable file
@ -0,0 +1,24 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
function path_in_repo()
|
||||
{
|
||||
echo "$(git rev-parse --show-toplevel)/$*"
|
||||
}
|
||||
function main()
|
||||
{
|
||||
local new_contributors
|
||||
new_contributors="$(mktemp libevent.XXXXXX)"
|
||||
trap "rm $new_contributors $new_contributors.filtered" EXIT
|
||||
|
||||
git log "$(git describe --abbrev=0)..HEAD" --pretty='format:%cN%n%aN' > "$new_contributors"
|
||||
awk '/^ \* / { split($0, cols, " \\* "); print(cols[2]); }' "$(path_in_repo CONTRIBUTORS.md)" | {
|
||||
grep -F -x -v -f "$new_contributors"
|
||||
} | {
|
||||
local grep_patterns=(
|
||||
GitHub
|
||||
)
|
||||
grep -F -x -v "${grep_patterns[@]}"
|
||||
} > "$new_contributors.filtered"
|
||||
awk '{printf(" * %s\n", $0)}' "$new_contributors.filtered" >> "$(path_in_repo CONTRIBUTORS.md)"
|
||||
}
|
||||
main "$@"
|
Loading…
x
Reference in New Issue
Block a user