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 <proski@gnu.org>
#!/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-Xlibmkdir -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