Argument is moved from struct init in command run, which lets us remove context from struct.
* Implemented calling git diff-tree * Ensures wrapper function is called with valid arguments * Parses output into go struct, using strong typing when possible