Package: subversion
Version: 1.7.5-1
Severity: grave
Justification: causes non-serious data loss

(actually that's silent data corruption in the WC)

Subversion 1.7.5 no longer notices a change of revision of some file
when a parent directory has been moved. In particular, this yields
incorrect keyword expansion.

The bug can be reproduced with the following script:

------------------------------------------------------------
#!/bin/sh

set -e

mkdir my-test-svn
cd my-test-svn

svnadmin create svn
svn co file://`pwd`/svn wc
cd wc

svn mkdir dir1
svn ci -m 'add dir1'

printf '\044Revision\044\nfoo\n' > dir1/file
svn add dir1/file
svn propset svn:keywords Revision dir1/file
svn ci -m 'add dir1/file'
echo "File dir1/file:"
cat dir1/file

svn up
svn mv dir1 dir2
echo "File dir2/file:"
cat dir2/file
svn ci -m 'mv dir1 dir2'
echo "File dir2/file:"
cat dir2/file

svn up
echo "File dir2/file:"
cat dir2/file
svn info dir2/file

svn mv dir2/file .
echo "File file:"
cat file
svn ci -m 'mv dir2/file .'
echo "File file:"
cat file

cd ../..
rm -rf my-test-svn
------------------------------------------------------------

If I grep the output with '.Revision:\|Last Changed Rev:', I get:
  * svn 1.6.17 (r1128011): 2 2 3 3 3 -1 4
  * svn 1.7.5  (r1336830): 2 2 2 2 2 2 4

There are 4 differences, but only 3 really matter, because for the
last one (-1 vs 2), the commit hasn't been done yet (so that one is
in some intermediate state).

Thus the important differences (3 vs 2) correspond to:

svn ci -m 'mv dir1 dir2'
echo "File dir2/file:"
cat dir2/file

svn up
echo "File dir2/file:"
cat dir2/file
svn info dir2/file

The last test of the script shows that the problem doesn't occur
when the file itself is moved.

Because of that, when checking out a repository with svn 1.7.5, some
files seem to go back in time.

-- System Information:
Debian Release: wheezy/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (500, 'testing'), (500, 'stable'), (1, 
'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 3.2.0-2-amd64 (SMP w/2 CPU cores)
Locale: LANG=POSIX, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages subversion depends on:
ii  libapr1     1.4.5-1.1
ii  libc6       2.13-33
ii  libsasl2-2  2.1.25.dfsg1-4+b1
ii  libsvn1     1.7.5-1

subversion recommends no packages.

Versions of packages subversion suggests:
pn  db5.1-util        <none>
ii  patch             2.6.1-3
ii  subversion-tools  1.7.5-1

-- no debconf information



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

Reply via email to