|
Bernhard M. Wiedemann |
4a4d0d |
#!/bin/bash -e
|
|
Bernhard M. Wiedemann |
4a4d0d |
set -x
|
|
Bernhard M. Wiedemann |
4a4d0d |
pkg=$1
|
|
Bernhard M. Wiedemann |
4a4d0d |
if [[ -z "$pkg" ]] ; then
|
|
Bernhard M. Wiedemann |
4a4d0d |
echo "usage: $0 PKG"
|
|
Bernhard M. Wiedemann |
4a4d0d |
fi
|
|
Bernhard M. Wiedemann |
4a4d0d |
first=$(echo $pkg | cut -c1 | tr A-Z a-z)
|
|
Bernhard M. Wiedemann |
4a4d0d |
p=$(echo packages/$first*/$pkg)
|
|
Bernhard M. Wiedemann |
4a4d0d |
b=pkg_$pkg
|
|
Bernhard M. Wiedemann |
4a4d0d |
if [ -e $p/.git ] ; then
|
|
Bernhard M. Wiedemann |
4a4d0d |
echo "$pkg already has a git repo"
|
|
Bernhard M. Wiedemann |
4a4d0d |
# FIXME find if bad repo => delete
|
|
Bernhard M. Wiedemann |
4a4d0d |
commitlines=$(cd $p && git log|grep ^commit\ | wc -l)
|
|
Bernhard M. Wiedemann |
4a4d0d |
if [ "$FORCE" = 1 -o "$commitlines" -gt 5000 ] ; then
|
|
Bernhard M. Wiedemann |
4a4d0d |
rm -rf $p/.git
|
|
Bernhard M. Wiedemann |
4a4d0d |
else
|
|
Bernhard M. Wiedemann |
4a4d0d |
if ! [ -e ~/openSUSE/$p/.git ] ; then
|
|
Bernhard M. Wiedemann |
4a4d0d |
rm -rf ~/openSUSE/$p/.git
|
|
Bernhard M. Wiedemann |
4a4d0d |
cp -al $p/.git ~/openSUSE/$p
|
|
Bernhard M. Wiedemann |
4a4d0d |
fi
|
|
Bernhard M. Wiedemann |
4a4d0d |
( cd $p ; git push -u origin master)
|
|
Bernhard M. Wiedemann |
4a4d0d |
exit 0
|
|
Bernhard M. Wiedemann |
4a4d0d |
fi
|
|
Bernhard M. Wiedemann |
4a4d0d |
fi
|
|
Bernhard M. Wiedemann |
4a4d0d |
pushd $p
|
|
Bernhard M. Wiedemann |
4a4d0d |
git init
|
|
Bernhard M. Wiedemann |
4a4d0d |
#git remote add merged "../../.."
|
|
Bernhard M. Wiedemann |
4a4d0d |
git remote add origin https://code.opensuse.org/package/$pkg
|
|
Bernhard M. Wiedemann |
4a4d0d |
cp -al ../../../.git/objects/* .git/objects/
|
|
Bernhard M. Wiedemann |
4a4d0d |
( cd ../../../ ; git fast-export --no-data master -- $p/ ) > /tmp/f
|
|
Bernhard M. Wiedemann |
274164 |
cat /tmp/f | perl -pe "s! \\Q$p\\E"'/([^/]*)$! $1!' | git fast-import
|
|
Bernhard M. Wiedemann |
4a4d0d |
git reset --hard master
|
|
Bernhard M. Wiedemann |
4a4d0d |
git gc --prune=now
|
|
Bernhard M. Wiedemann |
4a4d0d |
if ! git fetch origin ; then
|
|
Bernhard M. Wiedemann |
4a4d0d |
(cd ../../../ && scripts/pagure-new-package $pkg)
|
|
Bernhard M. Wiedemann |
4a4d0d |
fi
|
|
Bernhard M. Wiedemann |
4a4d0d |
for i in 1 ; do git pushf -u origin master ||: ; done
|
|
Bernhard M. Wiedemann |
4a4d0d |
popd
|
|
Bernhard M. Wiedemann |
4a4d0d |
scripts/pagure-set-projectoptions $pkg
|
|
Bernhard M. Wiedemann |
4a4d0d |
rm -rf ~/openSUSE/$p/.git
|
|
Bernhard M. Wiedemann |
4a4d0d |
cp -al $p/.git ~/openSUSE/$p
|
|
Bernhard M. Wiedemann |
4a4d0d |
git pull --rebase prod master
|