repo.is_dirty() is not working with a pathspec
apatard opened this issue · 1 comments
apatard commented
Using a pathspec like ':!foo' as argument to repo.is_dirty() will result in :
git.exc.GitCommandError: Cmd('git') failed due to: exit code(128)
cmdline: git diff --cached --abbrev=40 --full-index --raw :!foo
stderr: 'fatal: ambiguous argument '!foo': unknown revision or path not in the working tree.
The code should be adding a -- before the path to avoid any ambiguity. For instance, like that:
if path:
default_args.append('--')
default_args.append(path)
Byron commented
Thanks for taking a look and offering up a solution. It looks like the corresponding change would have to be done here, and a PR would be very welcome.
Thank you