add git diff support