aboutsummaryrefslogtreecommitdiff
path: root/vipatch
diff options
context:
space:
mode:
Diffstat (limited to 'vipatch')
-rwxr-xr-xvipatch50
1 files changed, 0 insertions, 50 deletions
diff --git a/vipatch b/vipatch
deleted file mode 100755
index d860f93..0000000
--- a/vipatch
+++ /dev/null
@@ -1,50 +0,0 @@
-#!/bin/sh
-
-# vipatch -- edit unified diff
-
-# This is a simple awk script that re-adjusts headers in
-# a patch generated by diff -u, depending on the actual
-# number of added/removed lines.
-
-ep | awk -vname=${0##*/} '
-/^@@ / { if (head) printpatch(); head = $0 "\n"; next }
-head && /^---/ { print; next }
-head && /^\+\+\+/ { print; next }
-head && /^\+/ { plus++ }
-head && /^-/ { minus++ }
-head && /^ / { same++ }
-head { body = body $0 "\n"; next }
- { print }
-END { if (head) printpatch() }
-
-function printpatch() {
- match(head, /^@@ -[0-9]+,[0-9]+ \+[0-9]+,/)
- prefix = substr(head, RSTART, RLENGTH)
-
- match(head, / @@.*/)
- suffix = substr(head, RSTART, RLENGTH)
-
- match(head, /,[0-9]+/)
- old = substr(head, RSTART+1, RLENGTH-1)
- new = old + plus - minus
-
- diff = old - same - minus
- if (diff != 0) {
- printf "%s: %d %s incorrectly %s\n", name, abs(diff),
- (abs(diff) > 1) ? "lines" : "line",
- (diff > 0) ? "removed" : "added" > "/dev/stderr"
- printf "under header%s\n", substr(suffix, 4) > "/dev/stderr"
- head = ""
- exit 1
- }
-
- printf "%s%d%s", prefix, new, suffix
- printf "%s", body
-
- head = ""; body = ""; plus = 0; minus = 0; same = 0
-}
-
-function abs(n) {
- return (n > 0) ? n : -n;
-}
-'