git: Add last-changed to mimic github file browser
List all files and directories but include the latest commits date and subject, similar to the file browser in web-UIs of services like GitHub. Also sort the entries by the commits date and time to see the most recent changed files/folders at the bottom.
This commit is contained in:
@@ -27,6 +27,7 @@
|
||||
filter-repo = !git-filter-repo
|
||||
flog = "!\"${XDG_CONFIG_HOME:-$HOME/.config}/zsh/autoload/git/glog\""
|
||||
https-and-ssh = "!\"${XDG_CONFIG_HOME:-$HOME/.config}/zsh/autoload/git/git-https-and-ssh\""
|
||||
last-changed = "!\"${XDG_CONFIG_HOME:-$HOME/.config}/zsh/autoload/git/git-last-changed\""
|
||||
make-fork = "!\"${XDG_CONFIG_HOME:-$HOME/.config}/zsh/autoload/git/git-make-fork\""
|
||||
ssync = "!\"${XDG_CONFIG_HOME:-$HOME/.config}/zsh/autoload/git/git-ssync\""
|
||||
submodule-rm = "!\"${XDG_CONFIG_HOME:-$HOME/.config}/zsh/autoload/git/git-submodule-rm\""
|
||||
|
||||
15
.config/zsh/autoload/git/git-last-changed
Executable file
15
.config/zsh/autoload/git/git-last-changed
Executable file
@@ -0,0 +1,15 @@
|
||||
#!/usr/bin/env zsh
|
||||
#
|
||||
# List all files and directories but include the latest commits date and
|
||||
# subject, similar to the file browser in web-UIs of services like GitHub. Also
|
||||
# sort the entries by the commits date and time to see the most recent changed
|
||||
# files/folders at the bottom.
|
||||
|
||||
ls -1 "$@" \
|
||||
| while read -r line; do
|
||||
git_info="$(git log -1 --format=$'%ci\t%s' "$line")"
|
||||
printf "%s\t%s\n" "$line" "$git_info"
|
||||
done \
|
||||
| sort -r -t$'\t' -k2,2 \
|
||||
| column -s$'\t' -t \
|
||||
| cut -c -"$COLUMNS"
|
||||
Reference in New Issue
Block a user