aboutsummaryrefslogtreecommitdiff
path: root/libexec/git-deli-blames.awk
diff options
context:
space:
mode:
Diffstat (limited to 'libexec/git-deli-blames.awk')
-rwxr-xr-xlibexec/git-deli-blames.awk21
1 files changed, 21 insertions, 0 deletions
diff --git a/libexec/git-deli-blames.awk b/libexec/git-deli-blames.awk
new file mode 100755
index 0000000..ff817f1
--- /dev/null
+++ b/libexec/git-deli-blames.awk
@@ -0,0 +1,21 @@
+#!/usr/bin/env gawk
+
+BEGIN {
+ file="";
+ ranges="";
+}
+
+match($0, /^\+\+\+ b\/(.+)$/, matched) {
+ if(ranges!="") print(ranges, "--", file);
+ file=matched[1];
+ ranges="";
+}
+
+match($0, /^@@ -([0-9]+),([0-9]+) /, matched) && file!="" {
+ if(matched[2]!="0")
+ ranges = ranges " -L " matched[1] ",+" matched[2];
+}
+
+END {
+ if(ranges!="") print(ranges, "--", file);
+}