#!/usr/bin/env bash
#
# List contents of a particular tree in a GIT repository.
# Copyright (c) Petr Baudis, 2005
#
# Optionally takes a commit or tree ID as a parameter, defaulting to
# 'HEAD'.
#
# Each line in the output has the following format:
#
#	<mode>	<type>	<sha1>	<name>
#
# where
#
# '<mode>'::
#	The file permission information in octal format.
#
# '<type>'::
#	The type can be the following: `blob` refers to files
#	and `tree` refers to directories.
#
# '<sha1>'::
#	The object ID.
#
# '<name>'::
#	The file or directory name.
#
# Example line:
#
#	100644  blob    c7dacd0ea28994e3c754ca4eadb2e08c011ee3d3        README

USAGE="cg-admin-ls [-t TREE_ID] [PATH]"

. ${COGITO_LIB}cg-Xlib

tree_id=
if [ "$1" = "-t" ]; then
	shift
	tree_id=$1
	shift
fi
id=$(tree-id $tree_id) || exit 1

git-ls-tree "$id" "$@"
