#! /bin/bash ############################################################################# # Copyright (c) 2004-2006,2008,2009 Novell, Inc. # All Rights Reserved. # # This program is free software; you can redistribute it and/or # modify it under the terms of version 2 of the GNU General Public License as # published by the Free Software Foundation. # # 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, contact Novell, Inc. # # To contact Novell about this file by physical or electronic mail, # you may find current contact information at www.novell.com ############################################################################# # Check if all files referenced by series.conf are in GIT. . ${0%/*}/wd-functions.sh if ! $using_git || test ! -e series.conf; then exit 0 fi export LANG=C patches="$(scripts/guards --list < series.conf | sort -u)" if [ "$1" = "--committed" ]; then # check if patches and kabi files are committed added="$(git ls-tree -r --name-only HEAD | grep '^patches\..*/' | sort -u)" not_in_git="$(join -v1 <(echo "$patches") <(echo "$added")) $(git ls-files -d -o -m --directory --exclude-standard kabi/ sysctl/ | sort -u)" else # only if the patches are added added="$(git ls-files --cached | grep '^patches\..*/' | sort -u)" not_in_git="$(join -v1 <(echo "$patches") <(echo "$added"))" fi if [ -n "$not_in_git" ]; then for patch in $not_in_git; do if [ -e "$patch" ]; then echo "Not in GIT: $patch" >&2 status=1 else echo "Missing: $patch" >&2 status=1 fi done exit $status fi