2019-06-05 12:38:12 -07:00
|
|
|
#!/usr/bin/env sh
|
2021-07-29 00:37:35 -07:00
|
|
|
# YES_ZSH
|
2021-07-29 05:44:12 -07:00
|
|
|
# YES_BASH
|
|
|
|
# YES_DASH
|
2021-09-23 07:15:19 -07:00
|
|
|
# YES_ASH
|
|
|
|
|
|
|
|
# works with busybox awk.
|
2021-07-29 00:37:35 -07:00
|
|
|
|
2021-07-30 19:41:16 -07:00
|
|
|
countdiff() { ### @-
|
2021-08-01 08:27:08 -07:00
|
|
|
### count the number of lines changed between two files.
|
|
|
|
###
|
|
|
|
### **TODO:** don't use git for this. also, use patience algorithm.
|
|
|
|
###
|
|
|
|
### ```
|
|
|
|
### $ countdiff README-old.md README.md
|
|
|
|
### 739
|
|
|
|
### ```
|
|
|
|
|
2021-07-29 05:44:12 -07:00
|
|
|
[ $# -gt 1 ] || { printf "%s\n" "$0: too few arguments" >&2; return 1; }
|
2021-07-29 00:37:35 -07:00
|
|
|
[ $# -le 2 ] || { printf "%s\n" "$0: too many arguments" >&2; return 1; }
|
2019-06-05 12:38:12 -07:00
|
|
|
git --no-pager diff --stat --no-color --no-index "$1" "$2" \
|
|
|
|
| awk '/changed/{print $4+$6;a=1}END{if(!a)print 0}'
|
|
|
|
}
|
2021-07-29 00:37:35 -07:00
|
|
|
|
2021-08-02 13:48:46 -07:00
|
|
|
[ -n "${preload+-}" ] || countdiff "$@"
|