#!/usr/bin/env bash

set -e
set -x

CURRENT_BRANCH=`git rev-parse --abbrev-ref HEAD`

function split()
{
#    split_new_repo $1 $2


    SHA1=`./bin/splitsh-lite --prefix=$1`
    git push $2 "$SHA1:$CURRENT_BRANCH"
}

function split_new_repo()
{
    TMP_DIR="/tmp/enqueue-repo"
    REMOTE_URL=`git remote get-url $2`

    rm -rf $TMP_DIR;
    mkdir $TMP_DIR;

    (
        cd $TMP_DIR;
        git clone $REMOTE_URL .;
        git checkout -b master;
        touch foo;
        git add foo;
        git commit -m "foo";
        git push origin master;
    );

    SHA1=`./bin/splitsh-lite --prefix=$1`
    git fetch $2
    git push $2 "$SHA1:$CURRENT_BRANCH" -f
}


function remote()
{
    git remote add $1 $2 || true
}

remote core git@github.com:Payum/Core.git
remote paypal-express-checkout git@github.com:Payum/PaypalExpressCheckoutNvp.git
remote paypal-pro-checkout git@github.com:Payum/PaypalProCheckoutNvp.git
remote paypal-pro-hosted git@github.com:Payum/PaypalProHostedNvp.git
remote authorize-net-aim git@github.com:Payum/AuthorizeNetAim.git
remote be2bill git@github.com:Payum/Be2Bill.git
remote paypal-masspay git@github.com:Payum/PaypalMasspayNvp.git
remote paypal-ipn git@github.com:Payum/PaypalIpn.git
remote paypal-rest git@github.com:Payum/PaypalRest.git
remote offline git@github.com:Payum/Offline.git
remote payex git@github.com:Payum/Payex.git
remote klarna-checkout git@github.com:Payum/KlarnaCheckout.git
remote klarna-invoice git@github.com:Payum/KlarnaInvoice.git
remote stripe git@github.com:Payum/Stripe.git
remote sofort git@github.com:Payum/Sofort.git
remote skeleton git@github.com:Payum/Skeleton.git

split 'src/Payum/Core/' core
split 'src/Payum/AuthorizeNet/Aim/' authorize-net-aim
split 'src/Payum/Be2Bill' be2bill
split 'src/Payum/Paypal/ExpressCheckout/Nvp' paypal-express-checkout
split 'src/Payum/Paypal/Masspay/Nvp' paypal-masspay
split 'src/Payum/Paypal/ProCheckout/Nvp' paypal-pro-checkout
split 'src/Payum/Paypal/ProHosted/Nvp' paypal-pro-hosted
split 'src/Payum/Paypal/Ipn' paypal-ipn
split 'src/Payum/Paypal/Rest' paypal-rest
split 'src/Payum/Offline' offline
split 'src/Payum/Payex' payex
split 'src/Payum/Klarna/Checkout' klarna-checkout
split 'src/Payum/Klarna/Invoice' klarna-invoice
split 'src/Payum/Sofort' sofort
split 'src/Payum/Stripe' stripe
split 'src/Payum/Skeleton' skeleton