fixed .. and ... notation

now testing correctly when diffing two arbitrary tree-ishes
replaced system calls with per function calls when possible.