use subprocess instead of os.popen to run diff
this avoids argument quoting issues (spaces in path, etc)
--- a/toolsutils.py Tue Feb 09 08:15:20 2010 +0100
+++ b/toolsutils.py Fri Feb 12 12:55:49 2010 +0100
@@ -10,6 +10,7 @@
# XXX move most of this in logilab.common (shellutils ?)
import os, sys
+import subprocess
from os import listdir, makedirs, environ, chmod, walk, remove
from os.path import exists, join, abspath, normpath
@@ -72,8 +73,8 @@
user decision
"""
import shutil
- p_output = os.popen('diff -u %s %s' % (appl_file, ref_file), 'r')
- diffs = p_output.read()
+ pipe = subprocess.Popen(['diff', '-u', appl_file, ref_file], stdout=subprocess.PIPE)
+ diffs = pipe.stdout.read()
if diffs:
if askconfirm:
print