#!/bin/sh
# check parameters
if [ "x$2" = x -o ! -d "$1" -o ! -d "$2" ]; then
echo "Syntax : $0 orig-src-dir modified-src-dir [patch-dir]"
exit 1
fi
# get parameters
ORIG_DIR=$1
MOD_DIR=$2
if [ ".$3" = "." -o ! -d "$3" ]; then
PATCH_DIR=`pwd`
else
PATCH_DIR=$3
fi
PATCH_NAME=`whoami`-`date +%y%m%d`.patch
INIT_DIR=`pwd`
# print startup message
echo "Creating patch :"
echo " original dir = $ORIG_DIR"
echo " modified dir = $MOD_DIR"
echo " patch dir = $PATCH_DIR"
echo " patch name = $PATCH_NAME"
echo "The patch will be gzipped and uuencoded."
echo
cd $INIT_DIR
# create diff
echo -n "Creating diff ..."
# the list of excluded files.
rm -f excl.tmp
cat >excl.tmp <<\EOF
*.orig
*.rej
*~
*.bak
*.swp
#*
*.aux
*.dvi
*.log
*.tex
Makefile
*.o
config.h
libintl.h
POTFILES
po2tbl.sed
stamp-cat-id
lyx.pot
reLyX
*.gmo
cat-id-tbl.c
srcdoc
lyx
*.cache
*.status
TAGS
LaTeXConfig.lyx
textclass.lst
packages.lst
lyxrc.defaults
reLyX/reLyX
*CVS*
.gdb_history
core
libintl.a
EOF
# A bit of a hack, but I do not know what to do about that...
rm -f $ORIG_DIR/po/Makefile.in $MOD_DIR/po/Makefile.in
diff -p -N -r -U 4 -X excl.tmp $ORIG_DIR $MOD_DIR \
> $PATCH_DIR/$PATCH_NAME
echo " done"
rm -f excl.tmp
# compress it
echo -n "Compressing the patch ..."
gzip -9 $PATCH_DIR/$PATCH_NAME
if [ $? -ne 0 ]; then
echo " an error occured"
exit 3
fi
echo " done"
# uuencode it
echo -n "Uuencoding compressed version ..."
cat $PATCH_DIR/$PATCH_NAME.gz \
| uuencode $PATCH_NAME.gz > $PATCH_DIR/$PATCH_NAME.uue
if [ $? -ne 0 ]; then
echo " an error occured"
exit 4
fi
echo " done"
# print cleanup message
echo
echo "Patch has been created."
¤ Dauer der Verarbeitung: 0.17 Sekunden
(vorverarbeitet)
¤
|
Haftungshinweis
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.
|