Package: libsvn1
Version: 1.6.17dfsg-4+deb7u2
Severity: important

Dear Maintainer,

While testing the ability to restore our backups I came across this problem.  I 
used the debian-7.0.0-amd64-netinst.iso to create a base installation, without 
GUI.  Installed git subversion subversion-tools apache2 subversion 
libapache2-svn, and copied over our backup of svn.  With only a little setup of 
apache I was able to checkout from the repo but committing changes caused 
strange errors stating the file I was committing was in conflict.

E:\tmp\svn-restored_test\product>svn commit -m "yetanotherfile"
Adding         yetanotherfile.txt
Transmitting file data .svn: E175002: Commit failed (details follow):
svn: E175002: MERGE of '/trunk/product': 200 OK (https://vcs-restored)


This problem seems to be related to 
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=676176 where a change in SWIG 
changed the type of an argument.  A patch went in to cast the value in some 
places but didn't seem to extend to fs.py which is used by the svn post-commit 
hooks.  See the output of running the post-commit hook directly.

root@vcs-restored:~# /var/svn/repos/hooks/post-commit /var/svn/repos 27629
Traceback (most recent call last):
  File "/usr/share/subversion/hook-scripts/mailer/mailer.py", line 1348, in 
<module>
    sys.argv[3:3+expected_args])
  File "/usr/lib/pymodules/python2.7/svn/core.py", line 281, in run_app
    return func(application_pool, *args, **kw)
  File "/usr/share/subversion/hook-scripts/mailer/mailer.py", line 105, in main
    messenger.generate()
  File "/usr/share/subversion/hook-scripts/mailer/mailer.py", line 383, in 
generate
    group, params, paths, subpool)
  File "/usr/share/subversion/hook-scripts/mailer/mailer.py", line 653, in 
generate_content
    renderer.render(data)
  File "/usr/share/subversion/hook-scripts/mailer/mailer.py", line 963, in 
render
    self._render_diffs(data.diffs, '')
  File "/usr/share/subversion/hook-scripts/mailer/mailer.py", line 1006, in 
_render_diffs
    for diff in diffs:
  File "/usr/share/subversion/hook-scripts/mailer/mailer.py", line 842, in 
__getitem__
    src_fname, dst_fname = diff.get_files()
  File "/usr/lib/pymodules/python2.7/svn/fs.py", line 95, in get_files
    self._dump_contents(self.tempfile1, self.root1, self.path1)
  File "/usr/lib/pymodules/python2.7/svn/fs.py", line 77, in _dump_contents
    chunk = _svncore.svn_stream_read(stream, _svncore.SVN_STREAM_CHUNK_SIZE)
  File "/usr/lib/pymodules/python2.7/libsvn/core.py", line 4801, in 
svn_stream_read
    return _core.svn_stream_read(*args)
TypeError: expecting an integer for the buffer size


To fix or work around this issue all that is needed is this change.
--- fs.py       2013-05-10 11:25:12.131841181 +1000
+++ /usr/lib/pymodules/python2.7/svn/fs.py      2013-05-10 11:24:38.551844052 
+1000
@@ -74,7 +74,7 @@
       stream = file_contents(root, path, pool)
       try:
         while 1:
-          chunk = _svncore.svn_stream_read(stream, 
_svncore.SVN_STREAM_CHUNK_SIZE)
+          chunk = _svncore.svn_stream_read(stream, 
int(_svncore.SVN_STREAM_CHUNK_SIZE))
           if not chunk:
             break
           fp.write(chunk)


Regards
Nick


-- System Information:
Debian Release: 7.0
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable')
Architecture: amd64 (x86_64)

Kernel: Linux 3.2.0-4-amd64 (SMP w/1 CPU core)
Locale: LANG=en_AU.UTF-8, LC_CTYPE=en_AU.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages libsvn1 depends on:
ii  libapr1            1.4.6-3
ii  libaprutil1        1.4.1-3
ii  libc6              2.13-38
ii  libdb5.1           5.1.29-5
ii  libldap-2.4-2      2.4.31-1+nmu2
ii  libneon27-gnutls   0.29.6-3
ii  libsasl2-2         2.1.25.dfsg1-6
ii  libsqlite3-0       3.7.13-1+deb7u1
ii  multiarch-support  2.13-38
ii  zlib1g             1:1.2.7.dfsg-13

libsvn1 recommends no packages.

libsvn1 suggests no packages.

-- no debconf information


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to