add unit tests, fix fetching for path specific commits