Skip to content

Instantly share code, notes, and snippets.

@gabro
Last active March 27, 2023 09:47
Show Gist options
  • Star 16 You must be signed in to star a gist
  • Fork 8 You must be signed in to fork a gist
  • Save gabro/5883819 to your computer and use it in GitHub Desktop.
Save gabro/5883819 to your computer and use it in GitHub Desktop.
Github-like working directory history
#!/bin/bash
FILES=`git ls-tree --name-only HEAD .`
MAXLEN=0
IFS=$(echo -en "\n\b")
for f in $FILES; do
if [ ${#f} -gt $MAXLEN ]; then
MAXLEN=${#f}
fi
done
for f in $FILES; do
str=$(git log -1 --pretty=format:"%C(green)%cr%Creset %x09 %C(cyan)%h%Creset %s %C(yellow)(%cn)%Creset" $f)
printf "%-${MAXLEN}s -- %s\n" "$f" "$str"
done
@mzavoloka
Copy link

@grimreaper
Copy link

change /bin/bash to /bin/sh for portability
change echo -en to printf for portability and functionality (most echo implementations don't support -e)
change the use of backticks to $() to be consistent.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment