#!/bin/bash -e
if [[ $1 == -b ]]; then
branch $2
shift
fi
revision=$1
tree=$(rev-parse $revision^{tree})
read-tree $tree
checkout-index
if [[ -f .zit/refs/heads/$revision ]]; then
symbolic-ref HEAD refs/heads/$revision
else
rev-parse $revision > .zit/HEAD.tmp
mv .zit/HEAD.tmp .zit/HEAD
echo "You are in 'detached HEAD' state." >&2
fi