Skip to content

Instantly share code, notes, and snippets.

@Addvilz
Last active October 13, 2015 05:38
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Addvilz/4147588 to your computer and use it in GitHub Desktop.
Save Addvilz/4147588 to your computer and use it in GitHub Desktop.
Packs files changed between hg revs
#!/bin/bash
if [ -z "$1" ]; then
echo "No start revision"
exit 1;
fi
if [ -z "$2" ]; then
echo "No end revision"
exit 1;
fi
echo "This script packs (!!!) CURRENT contents of files between two revisions given.";
echo "Packing changed files between revisions $1 and $2..."
mkdir -p CHANGES
IFS='
'
FILES=(`hg status --rev $1 --rev $2 -m -n -a`)
COUNT="0"
for i in ${FILES[*]}; do
zip CHANGES/changes_$1_$2.zip $i
sha1sum $i>>changes_$1_$2.sha1
let COUNT++;
done
echo "Scanning for additional files to add"
ADD=(`find ./changes_$1_$2* -type f -not \( -iname "*.zip" -or -iname "*.sha1" \) -printf "%f\n"`)
for i in ${ADD[*]}; do
zip CHANGES/changes_$1_$2.zip $i
let COUNT++;
done
zip CHANGES/changes_$1_$2.zip changes_$1_$2.sha1
rm changes_$1_$2.sha1
let COUNT++;
echo "$COUNT files packed successfully!"
read -p "Send to email? [email / n]`echo $'\n> '`" answer
if [[ $answer != n ]] ; then
DIR=${PWD##*/}
if [ -x "/usr/bin/mutt" ];
then
nano install_$1_$2.txt
zip CHANGES/changes_$1_$2.zip install_$1_$2.txt
rm install_$1_$2.txt
echo "See attached file" | mutt -a CHANGES/changes_$1_$2.zip -s "Changefile delivery $DIR Rev $1-$2" -- $answer
echo "Email sent to $answer!"
else
echo "Mutt is not installed. Skipping!"
fi
else
echo "Skipping email"
fi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment