PiRSquared17 / svnplot

Automatically exported from code.google.com/p/svnplot
0 stars 0 forks source link

ERRORs in log during diffline computation #58

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. Importing our repository using svnlog2sqlite.py, yesterday's trunk snapshot.

What is the expected output? What do you see instead?
Errors are silently (ie. it's invisible on the console) logged, possibly caused 
by non-binary files which were are "replaced" by copied files in a given 
revision.
The paths itself seem to contain ASCII characters only, so the problem probably 
is not unicode related this time.

What version of the product are you using? On what operating system?
yesterday's trunk snapshot, Windows XP

Please provide any additional information below.

svnlog2sqlitedb.py Log:

2010-12-16 11:55:04,230 DEBUG Binary file check for file 
</XXX/.settings/org.eclipse.wst.common.component> revision:23025
2010-12-16 11:55:04,246 DEBUG Getting filelevel revision diffs
2010-12-16 11:55:04,246 DEBUG revision : 23025, 
url=file:///AAA/svnrepos_svn16/XXX/.settings/org.eclipse.wst.common.component
2010-12-16 11:55:04,246 DEBUG prev 
url=file:///BBB/svnrepos_svn16/XXX/.settings/org.eclipse.wst.common.component
2010-12-16 11:55:04,260 ERROR Error in diffline count
Traceback (most recent call last):
  File "C:\AAA\Python 2.6.5\Lib\site-packages\svnplot\svnlogiter.py", line 919, in __updateDiffCount
    diffcountdict[filename] = change.getDiffLineCount()
  File "C:\AAA\Python 2.6.5\Lib\site-packages\svnplot\svnlogiter.py", line 714, in getDiffLineCount
    diff_log = self.logclient.getRevFileDiff(filepath, revno,prev_filepath, prev_revno)
  File "C:\AAA\Python 2.6.5\Lib\site-packages\svnplot\svnlogiter.py", line 337, in getRevFileDiff
    diff_deleted=True)
ClientError: 
'file:///AAA/svnrepos_svn16/XXX/.settings/org.eclipse.wst.common.component' was 
not found in the repository at revision 22985
2010-12-16 11:55:04,260 DEBUG 23025 : 
/XXX/.settings/org.eclipse.wst.common.component : R : 0 : 0

A "log -v" for recvision 23025 shows the follwing:

   R /AAA/.settings/org.eclipse.wst.common.component (von /BBB/.settings/org.eclipse.wst.common.component:22985)

Original issue reported on code.google.com by G.Ohr...@web.de on 16 Dec 2010 at 11:27

GoogleCodeExporter commented 9 years ago
With 20101220 snapshot I still get lots of diff computation errors, but during 
the current import its the only errors I got so far:

> egrep " ERROR Error " < svnlog2sqlite.log | cut -d" " -f3- | sort | uniq
ERROR Error in diffline count
ERROR Error in getting file level revision diff
> egrep " ERROR Error " < svnlog2sqlite.log | wc -l
221

So the unicode errors seem to have been resolved, at least concerning all 
aspects relevant for importing the repository up to revision 17000... ;)

Original comment by G.Ohr...@web.de on 21 Dec 2010 at 9:40

GoogleCodeExporter commented 9 years ago

Original comment by nitinbh...@gmail.com on 22 Dec 2010 at 8:14

GoogleCodeExporter commented 9 years ago
Found the bug in 'diff' computation. Fixed in trunk. Please test. 

Original comment by nitinbh...@gmail.com on 22 Dec 2010 at 8:16

GoogleCodeExporter commented 9 years ago
Thanks, I'm testing your latest trunk now.

Original comment by G.Ohr...@web.de on 22 Dec 2010 at 9:21

GoogleCodeExporter commented 9 years ago
Unfortunately, it doesn't work, now it the import aborts with a hard failure 
before even reaching revision 1000:

2010-12-22 11:38:25,624 DEBUG url : 
file:///REPOS_DIR/svnrepos_svn16/PATH1/FILE1.java
2010-12-22 11:38:25,624 DEBUG previous url : 
file:///REPOS_DIR/svnrepos_svn16/PATH2/FILE1.java
2010-12-22 11:38:25,624 DEBUG revno =919
2010-12-22 11:38:25,624 DEBUG prev renvo = 918
2010-12-22 11:38:25,624 ERROR Error in diffline count
Traceback (most recent call last):
  File "C:\PROGPATH\Python 2.6.5\Lib\site-packages\svnplot\svnlogiter.py", line 958, in __updateDiffCount
    diffcountdict[filename] = change.getDiffLineCount()
  File "C:\PROGPATH\Python 2.6.5\Lib\site-packages\svnplot\svnlogiter.py", line 753, in getDiffLineCount
    diff_log = self.logclient.getRevFileDiff(filepath, revno,prev_filepath, prev_revno)
  File "C:\PROGPATH\Python 2.6.5\Lib\site-packages\svnplot\svnlogiter.py", line 349, in getRevFileDiff
    diff_deleted=True)
ClientError: 'file:///REPOS_DIR/svnrepos_svn16/PATH2/FILE1.java' was not found 
in the repository at revision 919
2010-12-22 11:38:25,624 ERROR Found Error 
'file:///REPOS_DIR/svnrepos_svn16/PATH2/FILE1.java' was not found in the 
repository at revision 919
Traceback (most recent call last):
  File "C:\PROGPATH\Python 2.6.5\Lib\site-packages\svnplot\svnlog2sqlite.py", line 56, in convert
    self.ConvertRevs(startrevno, endrevno, bUpdLineCount)
  File "C:\PROGPATH\Python 2.6.5\Lib\site-packages\svnplot\svnlog2sqlite.py", line 127, in ConvertRevs
    for change in revlog.getDiffLineCount(bUpdLineCount):
  File "C:\PROGPATH\Python 2.6.5\Lib\site-packages\svnplot\svnlogiter.py", line 872, in getDiffLineCount
    diffCountDict = self.__updateDiffCount()
  File "C:\PROGPATH\Python 2.6.5\Lib\site-packages\svnplot\svnlogiter.py", line 958, in __updateDiffCount
    diffcountdict[filename] = change.getDiffLineCount()
  File "C:\PROGPATH\Python 2.6.5\Lib\site-packages\svnplot\svnlogiter.py", line 753, in getDiffLineCount
    diff_log = self.logclient.getRevFileDiff(filepath, revno,prev_filepath, prev_revno)
  File "C:\PROGPATH\Python 2.6.5\Lib\site-packages\svnplot\svnlogiter.py", line 349, in getRevFileDiff
    diff_deleted=True)
ClientError: 'file:///REPOS_DIR/svnrepos_svn16/PATH2/FILE1.java' was not found 
in the repository at revision 919

>svn log -v -c919
(...)
   A /PATH1 (von /PATH2:917)
   A /PATH1/FILE2.java (von /ANOTHERPATH/FILE2.java:917)
   R /PATH1/FILE3.java (von /PATH2/FILE3.java:918)
   R /PATH1/FILE1.java (von /PATH2/FILE1.java:918)
   D /PATH2

renamed and moved some classes/packages
------------------------------------------------------------------------

Original comment by G.Ohr...@web.de on 22 Dec 2010 at 11:47

GoogleCodeExporter commented 9 years ago
I have made some mistake in the svn diff call. The pysvn document is slightly 
confusing. I am checking svn api documents. 

Original comment by nitinbh...@gmail.com on 22 Dec 2010 at 11:57

GoogleCodeExporter commented 9 years ago
Found the mistake and fixed it. Please try the current code. 
Sorry for troubling you again. :-(

Original comment by nitinbh...@gmail.com on 22 Dec 2010 at 12:12

GoogleCodeExporter commented 9 years ago
Make sure to take trunk revision 460.

Original comment by nitinbh...@gmail.com on 22 Dec 2010 at 12:14