Last active
October 8, 2016 21:34
-
-
Save westonruter/422e2adb2b7c800df2db to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
55 westonruter | |
11 DrewAPicture | |
11 ocean90 | |
10 afercia | |
8 obenland | |
6 celloexpressions | |
4 adamsilverstein | |
3 melchoyce | |
3 sergeybiryukov | |
2 boonebgorges | |
2 karmatosed | |
2 pento | |
2 rittesh.patel | |
2 valendesigns | |
1 Ankit K Gupta | |
1 bhubbard | |
1 chandrapatel | |
1 chetanchauhan | |
1 chris_dev | |
1 coreymcollins | |
1 dd32 | |
1 drebbits.web | |
1 eliorivero | |
1 enejb | |
1 ericlewis | |
1 Fab1en | |
1 faishal | |
1 folletto | |
1 fusillicode | |
1 igmoweb | |
1 jeherve | |
1 joshlevinson | |
1 juanfra | |
1 jubstuff | |
1 kwight | |
1 MattGeri | |
1 mattwiebe | |
1 michael-arestad | |
1 mikeschroder | |
1 obrienlabs | |
1 rabmalin | |
1 ramiy | |
1 ryan | |
1 ryankienstra | |
1 samhotchkiss | |
1 thewanderingbrit | |
1 TimothyBlynJacobs | |
1 vlad.olaru | |
1 voldemortensen | |
1 welcher | |
1 zinigor |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# List contributors for WordPress Customizer component | |
# Includes WordPress.org usernames for committers as well as | |
# contributors given props in commit messages. | |
# Author: Weston Ruter (@westonruter) | |
# URL: https://gist.github.com/westonruter/422e2adb2b7c800df2db | |
# | |
# USAGE: | |
# ./list-wordpress-customize-component-props.sh START_COMMIT [END_COMMIT] | |
# | |
# EXAMPLES: | |
# ./list-wordpress-customize-component-props.sh 3.3.0 # get all contributors ever (since added to trunk between 3.3 and 3.4) | |
# ./list-wordpress-customize-component-props.sh 4.3.0 4.4.0 # f get all contributors for 4.3 | |
# NOTICE: The parser doesn't properly support props that don't appear on their own line, so some props will be missed. | |
start_release_tag="$1" | |
end_release_tag="$2" | |
if [ -z "$start_release_tag" ]; then | |
echo "USAGE: ./list-wordpress-customize-component-props.sh START_COMMIT [END_COMMIT]" | |
exit | |
fi | |
set -e | |
( | |
git ls-files --with-tree=3.4.0 | grep customize | |
git ls-files --with-tree=3.5.0 | grep customize | |
git ls-files --with-tree=3.6.0 | grep customize | |
git ls-files --with-tree=3.7.0 | grep customize | |
git ls-files --with-tree=3.8.0 | grep customize | |
git ls-files --with-tree=3.9.0 | grep customize | |
git ls-files --with-tree=4.0.0 | grep customize | |
git ls-files --with-tree=4.1.0 | grep customize | |
git ls-files --with-tree=4.2.0 | grep customize | |
git ls-files --with-tree=4.3.0 | grep customize | |
git ls-files --with-tree=4.4.0 | grep customize | |
git ls-files --with-tree=origin/master | grep customize | |
) | sort | uniq > /tmp/customizer-paths.txt | |
( | |
git log --format="%an" $start_release_tag...$end_release_tag -- $( cat /tmp/customizer-paths.txt ) | | |
sed 's/Andrew Ozz/azaozz/' | | |
sed 's/Andrew Nacin/nacin/' | | |
sed 's/Aaron Jorbin/jorbin/' | | |
sed 's/Andrea Fercia/afercia/' | | |
sed 's/Boone Gorges/boonebgorges/' | | |
sed 's/Daryl Koopersmith/koop/' | | |
sed 's/Dion Hulse/dd32/' | | |
sed 's/Dominik Schilling (ocean90)/ocean90/' | | |
sed 's/Drew Jaynes/DrewAPicture/' | | |
sed 's/DrewAPicture (DrewAPicture)/DrewAPicture/' | | |
sed 's/Ella Iseulde Van Dorpe/iseulde/' | | |
sed 's/Gary Pendergast/pento/' | | |
sed 's/Helen Hou-Sandi/helen/' | | |
sed 's/Ian Stewart/iandstewart/' | | |
sed 's/John Blackbourn/johnbillion/' | | |
sed 's/Jon Cave/duck_/' | | |
sed 's/Konstantin Obenland/obenland/' | | |
sed 's/Lance Willett/lancewillett/' | | |
sed 's/Mark Jaquith/markjaquith/' | | |
sed 's/Matt Thomas/iammattthomas/g' | | |
sed 's/Mel Choyce/melchoyce/' | | |
sed 's/MichaelArestad/michael-arestad/g' | | |
sed 's/Ryan Boren/ryan/' | | |
sed 's/Sergey Biryukov/sergeybiryukov/' | | |
sed 's/Scott Taylor/wonderboymusic/' | | |
sed 's/Weston Ruter/westonruter/' | |
git log $start_release_tag...$end_release_tag -- $( cat /tmp/customizer-paths.txt ) | | |
ack -i '^\s*Props ' | | |
sed 's/ and /, /g' | | |
perl -pe 's/Michael ?Arestad/michael-arestad/gi' | | |
sed 's/\. And for good measure, props/,/g' | | |
sed 's/DH-Shredder/mikeschroder/' | | |
sed 's/,,/,/g' | | |
perl -pe 's/[\.,]\s+([Ff]ixes|[Cc]loses|[Ss]ee) #.*$|\. Thanks .*$//' | | |
perl -pe 's/^\s*[Pp]rops\s+(\S.*?)(\s*for (the )?(cleanup|typo fix|first patch( and testing)?|docs|design concepts|initial patch(es)?).*$|\.$|$)/$1/' | | |
tr ',' '\n' | | |
cat - | |
) | sed 's/^ //' | sort -f | uniq -i -c | sort -f -k1nr -k2 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
It used to work but now it outputs
fatal: Not a git repository (or any of the parent directories): .git fatal: Not a git repository (or any of the parent directories): .git wpc.sh: line 71: ack: command not found fatal: Not a git repository (or any of the parent directories): .git