Something went wrong. Try again.
This repository has no description
Something went wrong. Try again.
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465#!/bin/bash## Original by Gary Bernhardt:# https://github.com/garybernhardt/dotfiles/blob/master/.githelpers## Branch output:## * release/v1.1 (13 days) <Leyan Lo> add pretty_git_branch## The time massaging regexes start with ^[^<]* because that ensures that they# only operate before the first "<". That "<" will be the beginning of the# author name, ensuring that we don't destroy anything in the commit message# that looks like time.BRANCH_PREFIX="%(HEAD)"BRANCH_REF="%(color:red)%(color:bold)%(refname:short)%(color:reset)"BRANCH_HASH="%(color:yellow)%(objectname:short)%(color:reset)"BRANCH_DATE="%(color:green)(%(committerdate:relative))%(color:reset)"BRANCH_AUTHOR="%(color:blue)%(color:bold)<%(authorname)>%(color:reset)"BRANCH_CONTENTS="%(contents:subject)"BRANCH_FORMAT="$BRANCH_PREFIX}$BRANCH_REF}$BRANCH_HASH}$BRANCH_DATE}$BRANCH_AUTHOR}$BRANCH_CONTENTS"ANSI_BLACK='\033[30m'ANSI_BLACK_BOLD='\033[0;30;1m'ANSI_RED='\033[31m'ANSI_RED_BOLD='\033[0;31;1m'ANSI_GREEN='\033[32m'ANSI_GREEN_BOLD='\033[0;32;1m'ANSI_YELLOW='\033[33m'ANSI_YELLOW_BOLD='\033[0;33;1m'ANSI_BLUE='\033[34m'ANSI_BLUE_BOLD='\033[0;34;1m'ANSI_MAGENTA='\033[35m'ANSI_MAGENTA_BOLD='\033[0;35;1m'ANSI_CYAN='\033[36m'ANSI_CYAN_BOLD='\033[0;36;1m'ANSI_WHITE='\033[37m'ANSI_WHITE_BOLD='\033[0;37;1m'ANSI_RESET='\033[0m'pretty_git_branch() { git branch -v --format=${BRANCH_FORMAT} $* | pretty_git_format}pretty_git_format() { # Replace (2 years ago) with (2 years) sed -Ee 's/(^[^<]*) ago\)/\1)/' | # Replace (2 years, 5 months) with (2 years) sed -Ee 's/(^[^<]*), [[:digit:]]+ .*months?\)/\1)/' | # Line columns up based on } delimiter column -s '}' -t | # Color merge commits specially sed -Ee "s/(Merge (branch|remote-tracking branch|pull request) .*$)/$(printf $ANSI_RED)\1$(printf $ANSI_RESET)/" | # Page only if we're asked to. if [ -n "$GIT_NO_PAGER" ]; then cat else # Page only if needed. less --quit-if-one-screen --no-init --RAW-CONTROL-CHARS --chop-long-lines fi}git branch --color -v --format=${BRANCH_FORMAT} --sort=-committerdate $* | pretty_git_format