Created
March 24, 2011 01:10
Revisions
-
There are no files selected for viewing
This file contains hidden or 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 charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,37 @@ #!/usr/bin/env bash # Generates gource video (h.264) out of multiple repositories. # Pass the repositories in command line arguments. # Example: # <this.sh> /path/to/repo1 /path/to/repo2 i=0 for repo in $*; do # 1. Generate a Gource custom log files for each repo. This can be facilitated by the --output-custom-log FILE option of Gource as of 0.29: logfile="$(mktemp /tmp/gource.XXXXXX)" gource --output-custom-log "${logfile}" ${repo} # 2. If you want each repo to appear on a separate branch instead of merged onto each other (which might also look interesting), you can use a 'sed' regular expression to add an extra parent directory to the path of the files in each project: gsed -i -E "s#(.+)\|#\1|/${repo}#" ${logfile} logs[$i]=$logfile let i=$i+1 done combined_log="$(mktemp /tmp/gource.XXXXXX)" cat ${logs[@]} | sort -n > $combined_log rm ${logs[@]} echo "Committers:" cat $combined_log | awk -F\| {'print $2'} | sort | uniq echo "======================" outfile="gource.mp4" time gource $combined_log \ -s 0.4 \ -i 0 \ --highlight-users \ --highlight-dirs \ --file-extensions \ --hide mouse \ --key \ --stop-at-end \ --output-ppm-stream - | ffmpeg -y -b 3000K -r 60 -f image2pipe -vcodec ppm -i - -vcodec libx264 -vpre default $outfile rm $combined_log