What version are you running?
RBtools 0.7.5
Windows 10What steps will reproduce the problem?
- Install GNU Diff
- Run rbt.exe post
rbt.exe complains about diff not being presentWhat is the expected output? What do you see instead?
It should work and it doesn't?
What operating system are you using?
Windows 10
Attach the debug out from the command.
C:\Python27\Scripts\rbt-script.py post 1234
GNU diff is required in order to generate diffs. Make sure it is installed
and in the path.On Windows, you can install this from:
http://gnuwin32.sourceforge.net/packages/diffutils.htmPlease provide any additional information below.
I looked into this and actually it isn't failing to find diff, the execute command in checks is erroring:
'result = execute([diff_cmd, '--version'], ignore_errors=True)'
This seems to be erroring in process.py:
if sys.platform.startswith('win'):
# Convert all environment variables to byte strings, so that subprocess
# doesn't blow up on Windows.
new_env = dict(
(six.binary_type(key), six.binary_type(value))
for key, value in six.iteritems(new_env)
)
p = subprocess.Popen(command, <<<----- HERE
stdin=subprocess.PIPE,
stdout=subprocess.PIPE,
stderr=errors_output,
shell=False,
universal_newlines=translate_newlines,
env=new_env)Note: setting 'shell' to True in Popen fixes this issue for me!
I'm on Windows 10, Python 2.7.11 also, and it works if I have cygwin's diff.exe in my PATH, but fails otherwise with:
"GNU diff is required in order to generate diffs. Make sure it is installed and in the path."For others at my company, it finds the wrong diff.exe first.
This is a significant impediment for them.I didn't notice this requirement anywhere in the documentation for running rbt post on Windows.
Could that be updated?