home/git: add all-commits script
This commit is contained in:
@@ -357,6 +357,11 @@ lib.mkIf cfg.enable {
|
||||
runtimeInputs = with pkgs; [ cfg.package gnused gnugrep gawk uutils-coreutils-noprefix ];
|
||||
text = lib.fileContents ./scripts/git-author-lines.sh;
|
||||
})
|
||||
(pkgs.writeShellApplication {
|
||||
name = "git-all-commits";
|
||||
runtimeInputs = with pkgs; [ cfg.package gnugrep gawk findutils uutils-coreutils-noprefix ];
|
||||
text = lib.fileContents ./scripts/git-all-commits.sh;
|
||||
})
|
||||
((pkgs.writers.writePython3Bin "git-post-pr" {
|
||||
libraries = with pkgs.python3Packages; [
|
||||
tkinter
|
||||
|
||||
15
home/programs/git/scripts/git-all-commits.sh
Normal file
15
home/programs/git/scripts/git-all-commits.sh
Normal file
@@ -0,0 +1,15 @@
|
||||
GIT_ROOT="$(git rev-parse --show-toplevel)"
|
||||
|
||||
find "$GIT_ROOT/.git/objects" -type f | \
|
||||
while read -r file; do
|
||||
if echo "$file" | grep -Eq '\.idx$'; then
|
||||
git show-index < "$file" | awk '{print $2}'
|
||||
elif echo "$file" | grep -Eq '[0-9a-f]{38}$'; then
|
||||
echo "$(basename "$(dirname "$file")")$(basename "$file")"
|
||||
fi
|
||||
done | \
|
||||
while read -r hash; do
|
||||
if [ "$(git cat-file -t "$hash")" = commit ]; then
|
||||
echo "$hash"
|
||||
fi
|
||||
done
|
||||
Reference in New Issue
Block a user