-
-
Save gabro/5883819 to your computer and use it in GitHub Desktop.
#!/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 |
It would probably be useful to commit this as an executable file, rather than force the downloader to change permissions on it (and thus have a dirty local copy).
I also noticed that tabbing gets messed up if you have a combination of file that were edited, say "3 years, 3 months ago" and some that were edited "3 years ago". Would be cool to either round the dates if older than a year ago, or add an option to print the dates as a datestamp, rather than relative.
Other than those minor annoyances, this is exactly what I was looking for, thank you so much for posting it!
@coldcandor sorry for the late response, but gist doesn't send out notifications :(
For the spacing, I agree it can be improved, I just admittedly never spent too much time on this.
I'll think of making this a full-fledged utility, rather than a gist, thanks for the feedback.
I've modified this:
https://github.com/mzavoloka/gitls
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.
Thank you @bturner, that's very helpful!
I wish gist notified me of your comment months ago