#!/bin/sh

# args
name="$1"

# tmpdir
work="${TMPDIR-/tmp}/vivm-$$"
mkdir "$work" || exit 1
trap 'rm -rf "$work"' EXIT

# go!
cd $work
if virsh dominfo "$name" | grep -q "running"; then
	echo "Editing domain xml while they are running is harmful."
	exit 1
fi
virsh dumpxml "$name" > "${name}.xml"	|| exit 1
cp "${name}.xml" "${name}.old"
while true; do
	${EDITOR-vi} "${name}.xml"
	diff -q "${name}.old" "${name}.xml"	&& break
	virsh define "${name}.xml"		&& break
	echo
	echo "Oops, something is wrong in your xml file."
	echo "I'll drop you into the editor again in a moment."
	echo
	sleep 5		# give some time to read the message
done

