Hello!

It would be useful to have a script to display current status of the
repository - branches, current branch and merge status.  Maybe I'm
missing something, but I don't see such script.

I wrote a script that would do that.  I'm still not fully familiar with
the concepts of cogito, so maybe wrong terms are used in the script.  I
just want to offer this scripts as a base for further work.

cg-info sounds very pretentious, so maybe the script should be renamed
to cg-heads-ls or cg-admin-status or something like that.

Signed-off-by: Pavel Roskin <[EMAIL PROTECTED]>

#!/usr/bin/env bash
#
# Show status of the GIT repository.
# Copyright (c) Pavel Roskin 2005
#
# The output includes the list of branches and merge status.
# Current branch is marked by ">"

USAGE="cg-info"

. ${COGITO_LIB}cg-Xlib

mkdir -p $_git/refs/heads
[ "$(find $_git/refs/heads -follow -type f)" ] \
       || die "List of heads is empty."

branch=
headlink=$(readlink $_git/HEAD)
if [ "$headlink" ]; then
        branch=$(basename "$headlink")
else
        headsha1=$(cat $_git/HEAD)
        echo "HEAD: $headsha1"
fi

echo "Heads:"

for head in $_git/refs/heads/*; do
        headsha1=$(cat $head)
        headbase=$(basename $head)
        if [ "$headbase" = "$branch" ]; then
                echo ">$headbase $headsha1"
        else
                echo " $headbase $headsha1"
        fi
done

if [ -s "$_git/blocked" ]; then
        tmp=$(cat "$_git/blocked")
        echo "Blocked: $tmp"
fi

if [ -s "$_git/merging" ]; then
        tmp=$(cat "$_git/merging")
        echo "Merging: $tmp"
fi

if [ -s "$_git/merging-sym" ]; then
        tmp=$(cat "$_git/merging-sym")
        echo "Merging-sym: $tmp"
fi

if [ -s "$_git/merge-base" ]; then
        tmp=$(cat "$_git/merge-base")
        echo "Merge-base: $tmp"
fi


-- 
Regards,
Pavel Roskin

-
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to