#!/bin/bash # # Copyright (C) 2013-2015 Paul Kocialkowski # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . # # Variables SCRIPT=$0 REPLICANT_DIR=$1 RELEASE_DIR=$2 . releasevars.sh ARGS_COUNT=2 regexp=".*path=\"\([^\"]*\)\".*revision=\"\([^\"]*\)\".*" set_color diff_repos () { paths=$( cat "$METADATA/manifest.xml" | grep "path=" | sed "s/$regexp/\1/g" ) dir=$( pwd ) cd "$REPLICANT_DIR" $REPO list | while read git_repo do path=$( echo "$git_repo" | sed "s/\([^ ]*\) : .*$/\1/g" ) match=$( echo "$paths" | grep "$path" ) if [ "$match" = "" ] then echo "New repository: ""$color_start""$path""$color_end" echo "" fi done cd "$dir" cat "$METADATA/manifest.xml" | grep "path=" | while read line do path=$( echo "$line" | sed "s/$regexp/\1/g" ) commit=$( echo "$line" | sed "s/$regexp/\2/g" ) if [ "$path" = "" ] || [ "$commit" = "" ] then break fi dir=$( pwd ) cd "$REPLICANT_DIR/$path" log=$( git shortlog "$commit..HEAD" ) if [ "$log" != "" ] then echo "Updated repository: ""$color_start""$path""$color_end" echo "$log" echo "" fi cd "$dir" done } print_help () { echo "$SCRIPT: [REPLICANT_DIR] [RELEASE_DIR]" } # Check for the correct number of args if [ "$#" -lt "$ARGS_COUNT" ] then print_help exit 1 fi diff_repos