#!/usr/bin/env bash
#
# Show status of entries in your working tree.
# Copyright (c) Petr Baudis, 2005
#
# Takes no arguments.

. ${COGITO_LIB}cg-Xlib

EXCLUDEFILE=$_git/exclude
EXCLUDE=
if [ -f $EXCLUDEFILE ]; then
	EXCLUDE="--exclude-from=$EXCLUDEFILE"
fi

{
	git-ls-files -z -t --others --deleted --unmerged $EXCLUDE
} | sort -z -k 2 | xargs -0 sh -c '
while [ "$1" ]; do
	tag=${1% *};
	filename=${1#* };
	case "$filename" in
	*.[ao] | tags | ,,merge*) ;;
	*)   echo "$tag $filename";;
	esac
	shift
done
' padding

{
	git-update-cache --refresh
} | cut -f 1 -d ":" | xargs sh -c '
while [ "$1" ]; do
	tag="M";
	filename=${1%: *};
	echo "$tag $filename";
	shift
done
' padding
