#!/usr/bin/env bash
#
# Exports a particular revision from a GIT repository.
# Copyright (c) Johannes E. Schindelin, 2005
#
# Takes a target directory and optionally an id as a parameter,
# defaulting to HEAD.

. cg-Xlib

destdir=$1
id=$(tree-id $2)

([ "$destdir" ] && [ "$id" ]) || die "usage: cg-export DESTDIR [TREE_ID]"

[ -e "$destdir" ] && die "$destdir already exists."

mkdir -p $destdir || die "cannot create $destdir"
export GIT_INDEX_FILE="$destdir/.git-index"
read-tree $id
checkout-cache "--prefix=$destdir/" -a
rm $GIT_INDEX_FILE
