#!/bin/sh

# This tool works only on manually downloaded snapshots in locations defined below as PROJECT_*

function process() {
	PROJECT_GIT=~/VCS/$1/po
	PROJECT_LCN=~/VCS/LCN/SLE12-SP1
	NAME=$2

	rm -rf $1
	mkdir $1
	cd $1
	for PO in $PROJECT_GIT/*.po ; do
		PO=${PO##*/}
		LNG=${PO%.po}
		if test -f $PROJECT_LCN/$LNG/po/$NAME.$LNG.po ; then
			msgattrib --force-po --no-obsolete $PROJECT_LCN/$LNG/po/$NAME.$LNG.po -o $LNG-old.po
			msgattrib --force-po --no-obsolete $PROJECT_GIT/$PO -o $LNG-new.po
			msgcat --force-po --use-first $LNG-new.po $LNG-old.po $LNG-new.po -o $LNG-unif.po
			msgcat --force-po $LNG-old.po $LNG-new.po -o $LNG-uniff.po
			msgattrib --force-po --no-fuzzy $LNG-uniff.po -o $LNG-unifff.po
			msgcomm --unique $LNG-unif.po $LNG-unifff.po -o $LNG-review.po
			rm -f $LNG-unif.po $LNG-uniff.po $LNG-unifff.po
			if test -f $LNG-review.po ; then
				msgcat --force-po --use-first $LNG-old.po $LNG-new.po -o $LNG-unifr.po
				msgcat --force-po $LNG-old.po $LNG-new.po -o $LNG-unifrf.po
				msgattrib --force-po --no-fuzzy $LNG-unifrf.po -o $LNG-unifrff.po
				msgcomm --force-po --unique $LNG-unifr.po $LNG-unifrff.po -o $LNG-uniqr.po
				rm $LNG-unifr.po $LNG-unifrf.po $LNG-unifrff.po
				ln -f $LNG-uniqr.po old
				ln -f $LNG-review.po new
				msgcat old new -o $LNG-changes.po
			else
				echo "No changes to review." >$LNG.README
			fi
			rm -f $LNG-old.po $LNG-new.po $LNG-uniqr.po
		fi
	done
	rm -f old new
	cd ..
}

process zypper zypper
process libzypp zypp
process yast-slide-show slideshow-sles
