Skip to content

Instantly share code, notes, and snippets.

@detain
Created August 9, 2018 22:30
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 detain/f98cf3f7ca1e0ae0d09c96943365b0df to your computer and use it in GitHub Desktop.
Save detain/f98cf3f7ca1e0ae0d09c96943365b0df to your computer and use it in GitHub Desktop.
rebuild svn history
#!/bin/bash
#rm -rf /var/lib/submin/svn/cisco_parser; cp -a cisco_parser /var/lib/submin/svn/ ; submin2-admin /var/lib/submin unixperms fix
read -p "username:password for svn repo" CURLAUTH
#export CURLAUTH="username:password"
IFS="
"
set -x
for file in *cisco.php; do
for rev in $(svn log "$file" |grep -A1 -- "----------------" |grep "^r"| cut -d" " -f1 | cut -c2-); do
echo "$file $rev";
svn log -r${rev} "$file" --diff > "1/${file} ${rev}.diff";
done;
done
mkdir -p "1"
cd "1"
svn mkdir https://creation.interserver.net/svn/cisco_parser/trunk -m 'creating trunk dir'
svn co https://creation.interserver.net/svn/cisco_parser/trunk cisco_parser
rm -rf .svn
/bin/mv -f cisco_parser/.svn .
rmdir cisco_parser
#set -x
#lastrev=""
for rev in $(ls *| cut -d" " -f2 | cut -d\. -f1 | sort -n | uniq); do
#if [ "$lastrev" != "$rev" ]; then
# svn commit -m "$commitmsg"
# lastrev="$rev"
#fi
for file in $(ls *\ ${rev}.diff); do
#echo "Got File $file"
srcfile="$(echo "$file" | cut -d" " -f1)"
curl -L --user "$CURLAUTH" "https://creation.interserver.net/svn/myadmin/cpaneldirect/trunk/include/${srcfile}?r=${rev}" > "${srcfile}"
# if [ ! -e "$srcfile" ]; then
# addsvn=1
# else
# addsvn=0
# fi
# echo "$rev : $srcfile : $file";
# lines=$(cat ${file} |wc -l)
start="$(grep -n "===================================================================" "${file}" | cut -d: -f1)"
# head -n $(($lines - 1)) ${file} | tail -n $(($lines - $start)) > "$srcfile $rev.patch"
# sed s#"\$Source: .*\$"#"\$Source\$"#g -i "$srcfile $rev.patch"
# if [ -e "$srcfile" ]; then
# sed s#"\$Source: .*\$"#"\$Source\$"#g -i "$srcfile"
# fi
#patch -F 15 < "$srcfile $rev.patch" || \
# curl --user $CURLAUTH https://creation.interserver.net/svn/myadmin/cpaneldirect/trunk/include/${srcfile}?p=${rev} > ${srcfile} || \
# curl --user $CURLAUTH https://creation.interserver.net/svn/myadmin/cpaneldirect/trunk/include/database/${srcfile}?p={rev} > ${srcfile}
# if [ -e "${srcfile}.rej" ]; then
# echo "Error, bailling"
# break 2;
# fi
if [ "$(svn status "$srcfile" |grep "^\?")" != "" ]; then
svn add "$srcfile"
fi
commitmsg="$(head -n "$(($start - 3))" "${file}" | tail -n "$(($start - 6))")"
done;
#read -p "Ready to commit"
svn commit -m "$commitmsg"
svn update
done
#if [ "$lastrev" != "$rev" ]; then
#fi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment