issue seen with 1.7.3 (git) + svn



Hi -

I'm running into a repeatable issue with the version of meld from https://git.gnome.org/browse/meld, and wanted to run the scenario by you guys to see if perhaps I'm doing something silly or possibly using incompatible revisions of the various tools.

The short version is, if there are changes to two files, each in a different sub-directory, meld correctly displays the first set of changes, but it hits an error when displaying the second set of changes:

Traceback (most recent call last):
  File "/home/ctuffli/app/meld.git/meld/vcview.py", line 579, in on_row_activated
    self.run_diff( [path] )
  File "/home/ctuffli/app/meld.git/meld/vcview.py", line 616, in run_diff
    [], [(os.path.basename(path), path)])[1][0]
IndexError: list index out of range

I instrumented the code a little and can see that after displaying the first set of changes, the SVN tree cache changes. Below is a capture of my console session. You'll notice that the meld output includes a couple of new pretty-print statements in the _get_dirsandfiles() method of svn.py of the tree and directory.

--chuck

[2002] lsb_release -d
Description:    Ubuntu 10.04.4 LTS
[2003] python --version
Python 2.6.5
[2004] svn --version --quiet
1.7.10-dev
[2005] ~/app/meld.git/bin/meld --version
meld 1.7.3
[2006] mkdir svnrepo
[2007] cd svnrepo
[2008] svnadmin create prj
[2009] cd ..
[2010] mkdir -p a/{b,c}
[2011] touch a/b/foo.c
[2012] touch a/c/d.c
[2013] svn import a file:///home/ctuffli/tmp/svnrepo/prj/trunk -m "initial import"
Adding         a/b
Adding         a/b/foo.c
Adding         a/c
Adding         a/c/d.c

Committed revision 1.
[2014] svn co file:///home/ctuffli/tmp/svnrepo/prj/trunk
A    trunk/b
A    trunk/b/foo.c
A    trunk/c
A    trunk/c/d.c
Checked out revision 1.
[2015] cd trunk/
[2016] echo cat > b/foo.c
[2017] echo dog > c/d.c
[2018] svn st
M       b/foo.c
M       c/d.c
[2019] ~/app/meld.git/bin/meld .
tree:
{'/home/ctuffli/tmp': {'trunk': ('normal', '1')},
 '/home/ctuffli/tmp/trunk': {'b': ('normal', '1'), 'c': ('normal', '1')},
 '/home/ctuffli/tmp/trunk/b': {'foo.c': ('modified', '1')},
 '/home/ctuffli/tmp/trunk/c': {'d.c': ('modified', '1')}}
tree:
{'/home/ctuffli/tmp': {'trunk': ('normal', '1')},
 '/home/ctuffli/tmp/trunk': {'b': ('normal', '1'), 'c': ('normal', '1')},
 '/home/ctuffli/tmp/trunk/b': {'foo.c': ('modified', '1')},
 '/home/ctuffli/tmp/trunk/c': {'d.c': ('modified', '1')}}
tree:
{'/home/ctuffli/tmp': {'trunk': ('normal', '1')},
 '/home/ctuffli/tmp/trunk': {'b': ('normal', '1'), 'c': ('normal', '1')},
 '/home/ctuffli/tmp/trunk/b': {'foo.c': ('modified', '1')},
 '/home/ctuffli/tmp/trunk/c': {'d.c': ('modified', '1')}}

< double click on 'foo.c' >
tree:
{'/home/ctuffli/tmp/trunk': {'b': ('normal', '1')},
 '/home/ctuffli/tmp/trunk/b': {'foo.c': ('modified', '1')}}

< double click on 'd.c' >
tree:
{'/home/ctuffli/tmp/trunk': {'b': ('normal', '1')},
 '/home/ctuffli/tmp/trunk/b': {'foo.c': ('modified', '1')}}
directory '/home/ctuffli/tmp/trunk/c' not in tree?
Traceback (most recent call last):
  File "/home/ctuffli/app/meld.git/meld/vcview.py", line 579, in on_row_activated
    self.run_diff( [path] )
  File "/home/ctuffli/app/meld.git/meld/vcview.py", line 616, in run_diff
    [], [(os.path.basename(path), path)])[1][0]
IndexError: list index out of range



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]