[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

svnadmin dump/load broken for prop deletes?

From: Michael Wood <mwood_at_its.uct.ac.za>
Date: 2003-10-02 14:39:08 CEST

In one of my repositories I added a file which accidentally had the
executable bit set. Subversion, of course, set the svn:executable
property for me. I committed this before realising it, and later
committed a propdel of svn:executable on this file.

Today I dumped this repository with svnadmin from 0.25.0 in order to
upgrade to 0.30.0. I loaded it into a new repository. Just to make
sure things were as they should be, I dumped the new repository and
diffed the two dump files. The only significant difference concerned
the svn:executable prop on the above file.

Here's the relevant section of the diff:
--- old.dump 2003-10-02 12:26:18.000000000 +0200
+++ new.dump 2003-10-02 12:33:22.000000000 +0200
[...]
@@ -11068,9 +11068,13 @@
 Node-path: XXXX/xxxx.xxx
 Node-kind: file
 Node-action: change
-Prop-content-length: 59
-Content-length: 59
+Prop-content-length: 85
+Content-length: 85
                                                                                
+K 14
+svn:executable
+V 1
+*
 K 13
 svn:mime-type
 V 24
@@ -17109,7 +17113,7 @@
[...]

On further investigation I found that the working copy believed there
not to be an svn:executable property set on the file:

$ svn up wc
At revision 22.
$ svn pl -v wc/XXXX/xxxx.xxx
Properties on 'wc/XXXX/xxxx.xxx':
  svn:mime-type : application/octet-stream

But the repository did not agree:

$ svn pl -v file://`pwd`/repo/XXXX/xxxx.xxx
Properties on 'file:///[...]/repo/XXXX/xxxx.xxx':
  svn:executable : *
  svn:mime-type : application/octet-stream

I was able to reproduce the symptoms using only version 0.30.0, but the
dump file diff is different:

$ svn --version
svn, version 0.30.0 (r7178)
   compiled Sep 30 2003, 15:40:18
 
Copyright (C) 2000-2003 CollabNet.
Subversion is open source software, see http://subversion.tigris.org/
 
The following repository access (RA) modules are available:
 
* ra_dav : Module for accessing a repository via WebDAV (DeltaV) protocol.
  - handles 'http' schema
  - handles 'https' schema
* ra_local : Module for accessing a repository on local disk.
  - handles 'file' schema
* ra_svn : Module for accessing a repository using the svn network protocol.
  - handles 'svn' schema
 
$ svnadmin create r1
$ svn co file://`pwd`/r1 wc1
Checked out revision 0.
$ touch wc1/test
$ chmod +x wc1/test
$ svn add wc1/test
A wc1/test
$ svn ci -m "" wc1
Adding wc1/test
Transmitting file data .
Committed revision 1.
$ svn pdel svn:executable wc1/test
property 'svn:executable' deleted from 'wc1/test'.
$ svn ci -m "" wc1
Sending wc1/test
 
Committed revision 2.
$ svnadmin dump r1 >r1.dump
* Dumped revision 0.
* Dumped revision 1.
* Dumped revision 2.
$ svnadmin create r2
$ svnadmin load r2 <r1.dump
<<< Started new txn, based on original revision 1
     * adding path : test ... done.
 
------- Committed revision 1 >>>
 
<<< Started new txn, based on original revision 2
     * editing path : test ... done.
 
------- Committed revision 2 >>>
 
$ svn co file://`pwd`/r2 wc2
A wc2/test
Checked out revision 2.
$ svn pl -v wc2/test
Properties on 'wc2/test':
  svn:executable : *
You have new mail in /var/mail/michael
$ svnadmin dump r2 >r2.dump
* Dumped revision 0.
* Dumped revision 1.
* Dumped revision 2.
$ diff -u r1.dump r2.dump
--- r1.dump 2003-10-02 14:15:43.000000000 +0200
+++ r2.dump 2003-10-02 14:16:33.000000000 +0200
@@ -63,12 +63,3 @@
 2003-10-02T12:15:28.256434Z
 PROPS-END
  
-Node-path: test
-Node-kind: file
-Node-action: change
-Prop-content-length: 10
-Content-length: 10
-
-PROPS-END
-
-

-- 
Michael Wood <mwood@its.uct.ac.za>
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Thu Oct 2 14:40:01 2003

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.