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
|
filter-repo = !git-filter-repo
|
||||||
flog = "!\"${XDG_CONFIG_HOME:-$HOME/.config}/zsh/autoload/git/glog\""
|
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\""
|
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\""
|
make-fork = "!\"${XDG_CONFIG_HOME:-$HOME/.config}/zsh/autoload/git/git-make-fork\""
|
||||||
ssync = "!\"${XDG_CONFIG_HOME:-$HOME/.config}/zsh/autoload/git/git-ssync\""
|
ssync = "!\"${XDG_CONFIG_HOME:-$HOME/.config}/zsh/autoload/git/git-ssync\""
|
||||||
submodule-rm = "!\"${XDG_CONFIG_HOME:-$HOME/.config}/zsh/autoload/git/git-submodule-rm\""
|
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