vlc | branch: master | Christoph Miebach <[email protected]> | Tue Sep 25 21:05:11 2012 +0200| [050cdf4c98ec2886cb90d6702731cdfe78a4dfbe] | committer: Christoph Miebach
Improved git log searcher script. The special cases (names) are found on 2.0.x tree > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=050cdf4c98ec2886cb90d6702731cdfe78a4dfbe --- extras/misc/authors_list.sh | 88 +++++++++++++++++++++++++++++++++++++++---- 1 file changed, 81 insertions(+), 7 deletions(-) diff --git a/extras/misc/authors_list.sh b/extras/misc/authors_list.sh index e592292..304b007 100755 --- a/extras/misc/authors_list.sh +++ b/extras/misc/authors_list.sh @@ -6,18 +6,78 @@ # To be copied and run in the git directory for having "git shortlog -sn po/" find the logs. # It will generate a subdirectory temp_update_AUTHORS +OLD_AUTHORS="AUTHORS_unmodified_by_No_se_script.txt" +# The last version before modifying AUTHORS with this kind of script. Important, since the script shall not remove anyone. +# Not even the manual editings delete anyone. +# 4f696a88ec9544b98e22ee45e010869717608bd2 here did j-b start using the script + +if [ -f $OLD_AUTHORS ]; then + echo "Starting with credits from $OLD_AUTHORS ..." +else + echo "You need an old AUTHORS file. Only if you know what you are doing, you can use the current AUTHORS." + echo "Aborting..." + exit +fi + mkdir -p temp_update_AUTHORS echo "Checking all git logs" -git shortlog -sn > temp_update_AUTHORS/all_git.txt +git shortlog -sn -- > temp_update_AUTHORS/all_git.txt echo "Checking "po only" git logs" -git shortlog -sn po extras/package/win32/languages/ share/vlc.desktop.in > temp_update_AUTHORS/po_git.txt -# Now, not only po/ is checked. This way, translators are identified better and we save some lines in coders (some translators-only are removed) +#git shortlog -sn po/ > temp_update_AUTHORS/po_git.txt +# This modified command identified more translators, leading to the removal of existing entries in AUTHORS, impossible by design. +# So, start with a AUTHORS version with validated entries. +# Only if the script is not modified (wrt finding translators) you can use the current AUTHORS +git shortlog -sn -- po extras/package/win32/languages/ share/vlc.desktop.in share/vlc.desktop share/applications/vlc.desktop extras/package/win32/vlc.win32.nsi.in > temp_update_AUTHORS/po_git_previous.txt + +# Some typical (ancient) l10n files: +#share/applications/vlc.desktop +#extras/package/win32/languages/declaration.nsh +#extras/package/win32/languages/english.nsh +#extras/package/win32/languages/french.nsh +#extras/package/win32/vlc.win32.nsi.in + +sed -n '{ +s/.*Song Ye Wen.*// +s/.*Florian Hubold.*// +s/.*Sveinung Kvilhaugsvik.*// +s/.*Julien Humbert.*// +/^$/ !p +} +' <temp_update_AUTHORS/po_git_previous.txt >temp_update_AUTHORS/po_git.txt + +# Checking the logs, this ^^ persons did not do l10n +# commited to share/vlc.desktop, but this seems to be media types, not l10n things. +# Florian Hubold +# share/applications/vlc.desktop +# Sveinung Kvilhaugsvik +# commited to extras/package/win32/vlc.win32.nsi.in and include/vlc_interface.h +# Julien Humbert +# comitted to po/POTFILES.in +# Song Ye Wen + +# TODO: add this newly discovered translators +# czech translator +# Radek Vybiral <[email protected]> +# zh_TW +# Thanks to Hsi-Ching Chao +# Thanks to Ruei-Yuan Lu <[email protected]> +#extras/package/win32/languages/schinese.nsh +#share/vlc.desktop + + +# there are some artwork designers in git log, too. If one of them wants to be mentioned in "Programmers" also, remove here: +echo "Damien Erambert" > temp_update_AUTHORS/artwork_git.txt +echo "Daniel Dreibrodt" >> temp_update_AUTHORS/artwork_git.txt +echo "Dominic Spitaler" >> temp_update_AUTHORS/artwork_git.txt + + + echo "reading AUTHORS" -sed -n '/Programming/,/^$/ s/[^-].*/&/p' < AUTHORS | sed '1 d' > temp_update_AUTHORS/programmers_part.txt +sed -n '/Programming/,/^$/ s/[^-].*/&/p' < $OLD_AUTHORS | sed '1 d' > temp_update_AUTHORS/programmers_part.txt # The part of AUTHORS between Programming and the first empty line, without the ---- line @@ -31,6 +91,11 @@ echo "Removing translators from the git log" cat temp_update_AUTHORS/all_git.txt temp_update_AUTHORS/po_git.txt|sort|uniq -u |sed 's/[0-9 \t]*\(.*\)/\1/g' | sort|uniq> temp_update_AUTHORS/coders_only.txt +#### +#For script tuning: Are there other files the translators modified? =>probably l10n files +cat temp_update_AUTHORS/all_git.txt temp_update_AUTHORS/po_git.txt|sort|uniq -u| sed 's/[0-9 \t]*\(.*\)/\1/g' | sort|uniq -d> temp_update_AUTHORS/both_sides.txt +#### + # Similar effect with second sed run: # Remove translators. I remove every line containing the name. Maybe the .* before and after the last \1 should be removed (i.e. for contributors "Firstname Secondname aka something_you_want_to_keep" #cat temp_update_AUTHORS/all_git.txt temp_update_AUTHORS/po_git.txt|sort|uniq -D|uniq|sed 's/[0-9 \t]*\(.*\)/\1/g' |sed 's:[0-9 \t]*\(.*\):s^.*\1.*^^g:' > temp_update_AUTHORS/remove_translators_gen @@ -80,12 +145,13 @@ do else # grep "$LINE" temp_update_AUTHORS/new_coders_only.txt >> temp_update_AUTHORS/ordering_log.txt grep "$LINE" temp_update_AUTHORS/coders_only.txt >> temp_update_AUTHORS/ordering_log.txt +# grep "$LINE" temp_update_AUTHORS/coders_only.txt >> temp_update_AUTHORS/ordering_log.txt # I want to keep the $? (it removes some broken names) but I could send the output to /dev/null # If someone's name is a prefix to some other's name, this diff will show it: # diff temp_update_AUTHORS/ordering_log.txt temp_update_AUTHORS/ordered_by_commits.txt # AFAIK this will not effect the output, since we don't use the grep output but only the git output if [ $? = "0" ]; then - echo "$LINE" >> temp_update_AUTHORS/ordered_by_commits.txt + grep "$LINE" temp_update_AUTHORS/artwork_git.txt || echo "$LINE" >> temp_update_AUTHORS/ordered_by_commits.txt fi fi done < $FileName @@ -104,6 +170,9 @@ sed 's/\(.*\)/\1 ---XXX---NEW/g' < temp_update_AUTHORS/new_coders_ echo echo "For the lazy ones: Have a look at temp_update_AUTHORS/final.txt" echo "Contains all git code commiters (the translators are stored somewhere else) sorted by commits, and the pre-git commiters" +echo +echo 'For the lazy and brave (stupid?) ones: "cp new_AUTHORS AUTHORS" and check "git diff AUTHORS"' + echo "Programming" > temp_update_AUTHORS/final.txt echo "-----------" >> temp_update_AUTHORS/final.txt cat temp_update_AUTHORS/ordered_by_commits.txt temp_update_AUTHORS/pre-git.txt >> temp_update_AUTHORS/final.txt @@ -134,6 +203,11 @@ echo "If something was listed here you should probably modify .mailmap" #done < $FileName -cp temp_update_AUTHORS/final.txt . -rm -rf temp_update_AUTHORS/ +sed -n '1,2 p' < AUTHORS > temp_update_AUTHORS/new_AUTHORS +cat temp_update_AUTHORS/final.txt >> temp_update_AUTHORS/new_AUTHORS +echo >>temp_update_AUTHORS/new_AUTHORS +sed -n '/Artwork/,$ p' < AUTHORS >> temp_update_AUTHORS/new_AUTHORS + +cp temp_update_AUTHORS/new_AUTHORS . +#rm -rf temp_update_AUTHORS/ _______________________________________________ vlc-commits mailing list [email protected] http://mailman.videolan.org/listinfo/vlc-commits
