Optimized gitinfo application and removed redundant calls.
This commit is contained in:
		| @@ -104,4 +104,4 @@ case "${TERM}" in | |||||||
|         bindkey '^[[1;5C' forward-word        # ctrl right |         bindkey '^[[1;5C' forward-word        # ctrl right | ||||||
|         bindkey '^[[1;5D' backward-word       # ctrl left |         bindkey '^[[1;5D' backward-word       # ctrl left | ||||||
|     ;; |     ;; | ||||||
| esac | esac | ||||||
| @@ -26,7 +26,6 @@ function gitinfo() | |||||||
|  |  | ||||||
|     gitinfo_get_info |     gitinfo_get_info | ||||||
|  |  | ||||||
|     gitinfo_check |  | ||||||
|     if [ $? -eq 0 ]; then |     if [ $? -eq 0 ]; then | ||||||
|         echo "Git repository information:" |         echo "Git repository information:" | ||||||
|         echo "======================================================================" |         echo "======================================================================" | ||||||
| @@ -61,22 +60,10 @@ function gitinfo_check() | |||||||
|     GITINFO_TOPLEVEL_DIR=`git rev-parse --show-toplevel 2>/dev/null` |     GITINFO_TOPLEVEL_DIR=`git rev-parse --show-toplevel 2>/dev/null` | ||||||
|     if [ $? -ne 0 ]; then |     if [ $? -ne 0 ]; then | ||||||
|         GITINFO_TOPLEVEL_DIR="" |         GITINFO_TOPLEVEL_DIR="" | ||||||
|  |         log 1 "Failed to get git toplevel directory! (command 'git rev-parse --show-toplevel 2>/dev/null' failed)" | ||||||
|         return 1 |         return 1 | ||||||
|     fi |     fi | ||||||
|  |     log 1 "Git top directory: ${GITINFO_TOPLEVEL_DIR}" | ||||||
|     if [ "${curdir/${GITINFO_TOPLEVEL_DIR}}" != "${curdir}" ]; then |  | ||||||
|         GITINFO_RECHECK=1 |  | ||||||
|         gitinfo_internal_checks |  | ||||||
|  |  | ||||||
|         if [ $? -eq 0 ]; then |  | ||||||
|             return 0 |  | ||||||
|         else |  | ||||||
|             return 1 |  | ||||||
|         fi |  | ||||||
|     else |  | ||||||
|         GITINFO_RECHECK=0 |  | ||||||
|         return 1 |  | ||||||
|     fi |  | ||||||
| } | } | ||||||
|  |  | ||||||
| ###################################################################### | ###################################################################### | ||||||
| @@ -168,15 +155,18 @@ function gitinfo_get_untracked() | |||||||
| function gitinfo_internal_checks() | function gitinfo_internal_checks() | ||||||
| { | { | ||||||
|     if [ ${GITINFO_RECHECK} -eq 0 ]; then |     if [ ${GITINFO_RECHECK} -eq 0 ]; then | ||||||
|  |     error 1 "gitinfo_internal_checks() called without GITINFO_RECHECK=1, aborting" | ||||||
|         return 1 |         return 1 | ||||||
|     fi |     fi | ||||||
|  |  | ||||||
|     if [ ${#GITINFO_TOPLEVEL_DIR} -ne 0 ]; then |     if [ ${#GITINFO_TOPLEVEL_DIR} -ne 0 ]; then | ||||||
|         objects=`ls ${GITINFO_TOPLEVEL_DIR}/.git/objects | grep -v "info\|index" | wc -l` |         objects=`ls ${GITINFO_TOPLEVEL_DIR}/.git/objects | grep -v "info\|index" | wc -l` | ||||||
|         if [ ${objects} -lt 1 ]; then |         if [ ${objects} -lt 1 ]; then | ||||||
|  |             error 1 "Failed to get git objects directory members count!" | ||||||
|             return 1 |             return 1 | ||||||
|         fi |         fi | ||||||
|     else |     else | ||||||
|  |         log 1 "GITINFO_TOPLEVEL_DIR isn't specified." | ||||||
|         return 1 |         return 1 | ||||||
|     fi |     fi | ||||||
|  |  | ||||||
|   | |||||||
| @@ -78,7 +78,6 @@ prompt_pztrn_gitinfo() | |||||||
|         gitinfo_check |         gitinfo_check | ||||||
|         #echo $? |         #echo $? | ||||||
|         if [[ $? -eq 0 ]]; then |         if [[ $? -eq 0 ]]; then | ||||||
|             gitinfo_get_info |  | ||||||
|             p_gitinfo_branch="$vars['brackets_start']$vars['usercolor']${GITINFO_BRANCH}$reset_color$vars['brackets_end']" |             p_gitinfo_branch="$vars['brackets_start']$vars['usercolor']${GITINFO_BRANCH}$reset_color$vars['brackets_end']" | ||||||
|             p_gitinfo_commit="$vars['brackets_start']%{$fg[magenta]%}${GITINFO_COMMIT_SHORTID}$reset_color (%{$fg[cyan]%}${GITINFO_COMMIT_COUNT}$reset_color)$vars['brackets_end']" |             p_gitinfo_commit="$vars['brackets_start']%{$fg[magenta]%}${GITINFO_COMMIT_SHORTID}$reset_color (%{$fg[cyan]%}${GITINFO_COMMIT_COUNT}$reset_color)$vars['brackets_end']" | ||||||
|             p_gitinfo_remotes="$vars['brackets_start']%{$fg[green]%}${GITINFO_REMOTES} remote(s)$reset_color$vars['brackets_end']" |             p_gitinfo_remotes="$vars['brackets_start']%{$fg[green]%}${GITINFO_REMOTES} remote(s)$reset_color$vars['brackets_end']" | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user