Package: meld Version: 1.3.1-1 Severity: important Tags: patch -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
With release 1.3.1-1, meld fails on CVS files that have been modified locally, which worked properly in release 1.3.0-2. The exception thrown is: $ cvs status file1 =================================================================== File: file1 Status: Locally Modified Working revision: 1.1 2010-05-29 16:02:17 +0200 Repository revision: 1.1 /home/ah/work/vcs_backup/cvs/repos/a/b/c/file1,v Commit Identifier: STUxZ50VmFTJhGAu Sticky Tag: (none) Sticky Date: (none) Sticky Options: (none) $ meld file1 Traceback (most recent call last): File "/usr/lib/meld/task.py", line 130, in iteration ret = task() File "/usr/lib/meld/vcview.py", line 353, in run_diff_iter diff = difffunc() File "/usr/lib/meld/vcview.py", line 419, in _command_iter r = readfunc() File "/usr/lib/meld/misc.py", line 209, in __call__ self.proc = subprocess.Popen(command, cwd=workdir, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE) File "/usr/lib/python2.5/subprocess.py", line 594, in __init__ errread, errwrite) File "/usr/lib/python2.5/subprocess.py", line 1153, in _execute_child raise child_exception OSError: [Errno 2] No such file or directory: '' The problem is that variable workdir gets determined as the empty string instead of None at various locations, which subprocess.Popen() can't handle. The obvious workaround patch with mapping '' to None is attached. Setting severity to important analoguous to meld BTS report #545359, as for those (like me) that use meld for CVS version control the program is completely broken. - -- System Information: Debian Release: squeeze/sid APT prefers testing APT policy: (990, 'testing'), (500, 'unstable'), (500, 'stable'), (1, 'experimental') Architecture: i386 (x86_64) Kernel: Linux 2.6.32-trunk-amd64 (SMP w/2 CPU cores) Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/bash Versions of packages meld depends on: ii python 2.5.4-9 An interactive high-level object-o ii python-glade2 2.17.0-2 GTK+ bindings: Glade support ii python-gtk2 2.17.0-2 Python bindings for the GTK+ widge ii python-support 1.0.8 automated rebuilding support for P Versions of packages meld recommends: ii python-gconf 2.28.1-1 Python bindings for the GConf conf pn python-gnome2 <none> (no description available) pn python-gtksourceview2 <none> (no description available) pn yelp <none> (no description available) meld suggests no packages. - -- no debconf information -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (GNU/Linux) iEYEARECAAYFAkwJDpoACgkQco2LfriI0s60ywCg37MhM3MIPj/fQtBUCSKpxE9a KGwAoI9nGoYPLjal2nUc95R8bbJytZr3 =GYAa -----END PGP SIGNATURE-----
--- /usr/lib/meld/misc.py 2010-06-04 16:06:25.000000000 +0200 +++ /tmp/misc.py 2010-06-04 16:00:14.000000000 +0200 @@ -197,6 +197,8 @@ When all the data is read, the entire string is yielded. If 'workdir' is specified the command is run from that directory. """ + if workdir == '': + workdir = None class sentinel(object): def __init__(self): self.proc = None