summaryrefslogtreecommitdiffstats
path: root/makesrc.sh
diff options
context:
space:
mode:
Diffstat (limited to 'makesrc.sh')
-rwxr-xr-xmakesrc.sh35
1 files changed, 21 insertions, 14 deletions
diff --git a/makesrc.sh b/makesrc.sh
index 4190c13..b959795 100755
--- a/makesrc.sh
+++ b/makesrc.sh
@@ -1,28 +1,35 @@
#!/bin/bash
NAME=$(basename $PWD)
+DATE=$(sed -n '/^%global gh_date/{s/.* //;p}' $NAME.spec)
OWNER=$(sed -n '/^%global gh_owner/{s/.* //;p}' $NAME.spec)
PROJECT=$(sed -n '/^%global gh_project/{s/.* //;p}' $NAME.spec)
VERSION=$(sed -n '/^Version:/{s/.* //;p}' $NAME.spec)
COMMIT=$(sed -n '/^%global gh_commit/{s/.* //;p}' $NAME.spec)
SHORT=${COMMIT:0:7}
-echo -e "\nCreate git snapshot\nName=$NAME, Owner=$OWNER, Project=$PROJECT, Version=$VERSION\n"
+DATE=$(date -d "$DATE -4 days" +%Y-%m-%d)
-echo "Cloning..."
-rm -rf $PROJECT-$COMMIT
-git clone https://github.com/$OWNER/$PROJECT.git $PROJECT-$COMMIT
+if [ -f $NAME-$VERSION-$SHORT.tgz ]; then
+ echo "$NAME-$VERSION-$SHORT.tgz already there"
+else
+ echo -e "\nCreate git snapshot\nName=$NAME, Owner=$OWNER, Project=$PROJECT, Version=$VERSION, Date=$DATE\n"
-echo "Getting commit..."
-pushd $PROJECT-$COMMIT
-git checkout $COMMIT
-cp composer.json ../composer.json
-popd
+ echo "Cloning..."
+ rm -rf $PROJECT-$COMMIT
+ git clone --shallow-since=$DATE https://github.com/$OWNER/$PROJECT.git $PROJECT-$COMMIT || exit 1
-echo "Archiving..."
-tar czf $NAME-$VERSION-$SHORT.tgz --exclude-vcs --exclude tools $PROJECT-$COMMIT
+ echo "Getting commit..."
+ pushd $PROJECT-$COMMIT
+ git checkout $COMMIT || exit1
+ cp composer.json ../composer.json
+ popd
-echo "Cleaning..."
-rm -rf $PROJECT-$COMMIT
+ echo "Archiving..."
+ tar czf $NAME-$VERSION-$SHORT.tgz --exclude-vcs --exclude tools $PROJECT-$COMMIT
-echo "Done."
+ echo "Cleaning..."
+ rm -rf $PROJECT-$COMMIT
+
+ echo "Done."
+fi