On Mon, Jun 16, 2014 at 1:50 PM, Korte, Michael Johannes <michael.ko...@zeiss.com> wrote: > Hello all, > > > > I have the following problem and I don’t know whether this is an error in > subversion, whether I make some user error, or whether this normal > behaviour. > > > > I’m using subversion (Version 1.7.9) on a Ubuntu Linux machine (Ubuntu > 12.04.4 LTS (GNU/Linux 3.2.0-64-generic x86_64)). > > > > For backup I use svnsync to create a mirror on an external ISCSI drive. The > curious thing is now that for some mirror repositories the size is exact the > same as for the original repositories. For some the size of the mirror > repositories is little bigger and for some it is much bigger, for one double > the size. When I check the size of the single revisions, most of them are > identically but some differ very big between the original the revision and > the revision in the mirror. > > Originally I thought with the size of the backup/mirror, I can easily verify > that the backup is fine/complete. > > > > There are two other curious things: > > When I sync back the mirror to the Linux system the size is reduced again > and is exactly the size of the original repo. > > > > Original the repos on the Linux system were created (by svnsync) from the > backup on the ISCSI drive which was filled from repos on a Windows system. > By this svnsync (the sync from Windows to ISCSI as well as the sync from > ISCSI to Linux) the size of the repos did not change. > > > > This means I watch the following behaviour: > > > > Svnsync from Windows to Windows : no change of repository size > > Svnsync from Windows to ISCSI drive : no change of repository size > > Svnsync from ISCSI drive to Linux : normaly no change of repository size > (expection if the ISCSI repository was originally synced from Linux, the > during the ISCSI à Linux sync the repository size is reduced to the original > size on Linux)) > > Svnsync from Linux to Linux: no change of the repository size > > Svnsync from Linux to ISCSI drive : repository size is increased. For some > repositories only little, for some very much (e.g. Double size) > > Svnsync from Linux to ISCSI and back to Linux : First size is increased and > then size is reduced for the same rate, this means after both syncs the size > is again identical. > > > > Is it normal that the repository size is changed during sync from Linux to > external ISCSI drive? Why is the size changed very much (factor 1 :10) for > single revisions. Do I make any error during svnsync, or is this the normal > behaviour? > > > > Does this mean if I want to use the backup from the ISCSI drive on my Linux > system I must to a sync back and it is no good idea, to only a robocopy of > the Repository content from the ISCSI drive to the Linux file system? >
First thing that comes to mind is that it might be related to the new-in-1.6-feature of "representation sharing" [1]. If this feature is enabled, a revision file that would normally contain a full representation of a file, would now just contain a pointer to that same representation in an older revision file. I can imagine a couple of scenario's that could explain your situation: - Perhaps the svnsync that blows up your repo is an older version (< 1.5), with no representation sharing? When svnsync'ing "back to Linux" perhaps you're using again a more modern svnsync version, yielding again a more compact repository (with representation sharing). - Representation sharing might be disabled on the blown-up repository [2]. - Representation sharing might be broken in the blown-up repository. For rep-sharing to work properly, the file rep-cache.db in <repository directory>/db should be accessible (writable) by the process that performs the commits to the backend (usually the server process, or the svnadmin / svnsync process if it's accessing the repository backend directly with a file:/// url). [1] http://subversion.apache.org/docs/release-notes/1.6.html#rep-sharing [2] See the rep-sharing section in db/fsfs.conf in your repository directory. -- Johan