28 lines
650 B
Bash
28 lines
650 B
Bash
|
#
|
||
|
# 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
|