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 ];
|
runtimeInputs = with pkgs; [ cfg.package gnused gnugrep gawk uutils-coreutils-noprefix ];
|
||||||
text = lib.fileContents ./scripts/git-author-lines.sh;
|
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" {
|
((pkgs.writers.writePython3Bin "git-post-pr" {
|
||||||
libraries = with pkgs.python3Packages; [
|
libraries = with pkgs.python3Packages; [
|
||||||
tkinter
|
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