[vlc-commits] Improved git log searcher script. The special cases (names) are found on 2. 0.x tree
Christoph Miebach
git at videolan.org
Tue Sep 25 21:07:47 CEST 2012
vlc | branch: master | Christoph Miebach <christoph.miebach at web.de> | 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 <radek at ns.snake.cz>
+# zh_TW
+# Thanks to Hsi-Ching Chao
+# Thanks to Ruei-Yuan Lu <RueiYuan.Lu at gmail.com>
+#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/
More information about the vlc-commits
mailing list