Bug#565253: meld: Throws python exception when showing bzr diffs where file in a moved directory has been edited

Daniel Abel abli at freemail.hu
Thu Jan 14 09:17:58 UTC 2010


Package: meld
Version: 1.3.0-1
Severity: normal

Running 'meld .' in a bzr/svn/etc. working copy is a nice way to view
the diffs that have not been commited yet.

This, however causes an exception if a file that is inside a renamed
directory is edited:

(in the following, when running 'meld .', meld's window comes up, but
shows no differences, and the exception is printed to the terminal)

abeld at csik:0:~/meld-debugging$ mkdir foo
abeld at csik:0:~/meld-debugging$ cd foo/
abeld at csik:0:~/meld-debugging/foo$ mkdir bar
abeld at csik:0:~/meld-debugging/foo$ touch bar/foobar
abeld at csik:0:~/meld-debugging/foo$ bzr init .
Created a standalone tree (format: pack-0.92)                                  
abeld at csik:0:~/meld-debugging/foo$ bzr st
unknown:
  bar/
abeld at csik:0:~/meld-debugging/foo$ bzr add bar/
adding bar
adding bar/foobar
abeld at csik:0:~/meld-debugging/foo$ bzr st
added:
  bar/
  bar/foobar
abeld at csik:0:~/meld-debugging/foo$ bzr ci -m'commit'
Committing to: /home/abeld/meld-debugging/foo/                                 
added bar
added bar/foobar
Committed revision 1.
abeld at csik:0:~/meld-debugging/foo$ bzr move bar zork
bar => zork
abeld at csik:0:~/meld-debugging/foo$ echo "some edits" > zork/foobar 
abeld at csik:0:~/meld-debugging/foo$ bzr st
renamed:
  bar/ => zork/
modified:
  zork/foobar
abeld at csik:0:~/meld-debugging/foo$ bzr diff
=== renamed directory 'bar' => 'zork'
=== modified file 'zork/foobar'
--- bar/foobar	  2010-01-14 09:09:54 +0000
+++ zork/foobar	  2010-01-14 09:10:29 +0000
@@ -0,0 +1,1 @@
+some edits

abeld at csik:1:~/meld-debugging/foo$ meld .
Traceback (most recent call last):
  File "/usr/lib/meld/task.py", line 130, in iteration
    ret = task()
  File "/usr/lib/meld/vcview.py", line 283, in _search_recursively_iter
    self.vc.cache_inventory(rootname)
  File "/usr/lib/meld/vc/bzr.py", line 57, in cache_inventory
    self._tree_cache = self.lookup_tree(rootdir)
  File "/usr/lib/meld/vc/bzr.py", line 88, in lookup_tree
    tree_state[os.path.join(rootdir, entry[2:])] = cur_state
UnboundLocalError: local variable 'cur_state' referenced before assignment
abeld at csik:0:~/meld-debugging/foo$ meld --version
meld 1.3.0


I assume this is a different bug than
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=471297
although that is triggered by a somewhat similar situation.

Daniel Abel

-- System Information:
Debian Release: squeeze/sid
  APT prefers testing
  APT policy: (900, 'testing')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.26-2-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-2    An interactive high-level object-o
ii  python-glade2                 2.14.1-3   GTK+ bindings: Glade support
ii  python-gnome2                 2.26.1-1   Python bindings for the GNOME desk
ii  python-gtk2                   2.14.1-3   Python bindings for the GTK+ widge
ii  python-support                1.0.3      automated rebuilding support for P

Versions of packages meld recommends:
ii  python-gnome2-desktop         2.24.1-1   Python bindings for the GNOME desk
ii  yelp                          2.22.1-8   Help browser for GNOME 2

meld suggests no packages.

-- no debconf information






More information about the pkg-gnome-maintainers mailing list