dotfiles/zsh/.config/zsh/source/archlinux-contrib.zsh

28 lines
650 B
Bash
Raw Normal View History

#
# helper functions for Arch Linux related work
#
# generates a deterministic hash of the current working directory
# TODO expand hash algos to use makepkg's blessed algos
# e.g hashdir $ALGO where ALGO=md5|sha1|sha224|sha256|sha384|sha512|b2
# NB: i don't trust anything before sha256...
function hashdir() {
find \
. \
-type f \
-not -path '*/\.git/*' \
-exec b2sum {} + | \
LC_ALL=C sort | \
b2sum | \
cut -d ' ' -f 1
}
# obtain commit hash for a specific reference/tag
function tag2commit() {
local repository=$1
local tag=$2
git ls-remote $repository $tag
}
# vim: ft=zsh expandtab tabstop=2 shiftwidth=2