Removed /usr/local from CDPATH
[clearscm.git] / rc / git
diff --git a/rc/git b/rc/git
index fabea71..90d1c21 100644 (file)
--- a/rc/git
+++ b/rc/git
@@ -16,7 +16,7 @@
 function in_git_repo {
   pwd=$PWD
   
-  while [ "$pwd" != "/" ]; do
+  while [ "$pwd" != "/" -a "$pwd" != "//" ]; do
     if [ -d "$pwd/.git" ]; then
       true;
       return;
@@ -30,12 +30,22 @@ function in_git_repo {
 
 function git () {
   # Need to reset title since we put the branch name in the titlebar
-  git=$(which git)
+  git=$(/usr/bin/which git)
 
-  if [ "$1" = "checkout" -o "$1" = "co" ]; then
-    $git $@
-    set_title
-  else
-    $git $@
+  if [ "${git:0:3}" != "no " ]; then
+    if [ "$1" = "checkout" -o "$1" = "co" ]; then
+      $git "$@"
+      set_title
+    elif [ "$1" = "files" ]; then
+      if [ -z "$2" ]; then
+        echo "Files in git commit HEAD"
+        $git show --pretty="" --name-only HEAD
+      else
+        echo "Files in git commit $2"
+       $git show --pretty="" --name-only $2
+      fi
+    else
+      $git "$@"
+    fi
   fi
 } # git