#!/bin/bash
set -e
. tests/lib

t-drs
t-tstunt-parsechangelog

t-prep-newpackage example 1.0

cd $p

git tag common-ancestor

revision=1
t-dgit build
t-dgit push --new

push_and_check () {
	git push $dgitrepo $1

	oldmaster=`cd $dgitrepo && t-git-get-ref refs/heads/master`

	t-refs-same-start
	git checkout master
	t-commit 'Empty update'
	t-dgit build
	t-dgit push --new

	t-pushed-good master
}

t-check-master-undisturbed () {
	local master; master=`t-git-get-ref refs/heads/master`
	if [ x$master != x$oldmaster ]; then fail "bad update to master"; fi
}

t_check_pushed_master=t-check-master-undisturbed

git checkout -b divergent common-ancestor
git commit --allow-empty -m 'Has common ancestor'
git push $dgitrepo HEAD:master

push_and_check HEAD:master

git checkout --orphan newroot
git commit --allow-empty -m 'Has no common ancestor'

push_and_check +HEAD:master

t-ok
