sub(/[ \t]+$/, "", str);
return str;
}
-/^r[0-9]+ \| [A-Za-z]+/ {
+/^r[0-9]+ \| [A-Za-z(]+/ {
in_rev=1;
- revnum=strip($1); author=strip($2); date=substr(strip($3), 0, 26);
+ FS="|";
+ $0=$0 "";
+ revnum=strip($1); author=strip($2); date=strip(substr($3, 0, 26));
+ FS=" ";
getline;
if ($0 == "Changed paths:") {
while ($0 != "") {
msg = "";
}
printf("'${yellow}'%s'${std}' %s '${lblack}'(by %s, %s)'${std}'\n", revnum, msg, author, date);
-};
-'
+};'
+
+awk_svn_diff='
+{ str=$0;
+ if (substr(str,1,1) == "@") { str = sprintf("'${lpurple}'%s'${std}'", str); }
+ if (substr(str,1,1) == "-") { str = sprintf("'${lred}'%s'${std}'", str); }
+ if (substr(str,1,1) == "+") { str = sprintf("'${lgreen}'%s'${std}'", str); }
+ if (substr(str,1,1) == "=") { str = sprintf("'${lblue}'%s'${std}'", str); }
+ if (substr(str,1,1) == "I") { str = sprintf("\n'${lblue}'%s'${std}'", str); }
+ print str;
+};'
case $1 in
cat)
exec svn "$@" | $PAGER
;;
diff)
- exec svn "$@" | $PAGER
+ exec svn "$@" | awk "${awk_svn_diff}" | $PAGER
;;
help)
exec svn "$@" | $PAGER
;;
ll)
shift
- exec svn log --stop-on-copy "$@" | awk -F"|" "${awk_svn_log_ll}" | $PAGER
+ exec svn log --stop-on-copy "$@" | awk "${awk_svn_log_ll}" | $PAGER
;;
log)
exec svn "$@" | $PAGER