#!/bin/bash ################################################################################ # # File: $RCSfile: git,v $ # Revision: $Revision: 1.0 $ # Description: This script set up some useful environment variables and aliases # for git execution. File should be sourced (e.g . git) # Author: Andrew@DeFaria.com # Created: Thu Nov 7 18:00:34 PST 2013 # Modified: $Date: $ # Language: bash # # (c) Copyright 2000-2013, ClearSCM, Inc., all rights reserved. # ################################################################################ function in_git_repo { pwd=$PWD while [ "$pwd" != "/" -a "$pwd" != "//" ]; do if [ -d "$pwd/.git" ]; then true; return; fi pwd=$(dirname "$pwd") done false } # in_git_repo function git () { # Need to reset title since we put the branch name in the titlebar git=$(/usr/bin/which 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