Daniel Shahaf <d...@daniel.shahaf.name> writes: > Philip Martin wrote on Thu, Nov 29, 2012 at 18:26:04 +0000: >> Daniel Shahaf <d...@daniel.shahaf.name> writes: >> >> > Les Mikesell wrote on Thu, Nov 29, 2012 at 09:59:47 -0600: >> >> But, the copy built by svnsync doesn't necessarily >> >> get stored the same way, does it? >> > >> > I think in 1.8/fsfs it will byte-for-byte identical. (except >> > rep-cache.db, but you can remove that file without consequences) >> > >> > There was a dev@ thread by philipm about this not too long ago. >> >> No, an svnsync mirror is usually not identical to the master. It does >> contain the same versioned data but the representation of that data is >> different. For example, every failed commit on the master will bump the >> fsfs sequence number and that will cause the node-revision-ids to be >> different. > > Node-revision-id's in revisions don't embed transaction id's... > > For example the noderev header (yes, header, not just id) of > /subversion/trunk/notes is identical between svn.us and svn.eu.
OK. But the sequence number differences do show up in other places: svnadmin create repo svn mkdir -mm file://`pwd`/repo/A # r1 svn mkdir -mm file://`pwd`/repo/A # fail svn mkdir -mm file://`pwd`/repo/A/B # r2 svnadmin create repo2 svnadmin dump repo | svnadmin load repo2 diff repo/db/revs/0/2 repo2/db/revs/0/2 37c37 < _1.0.t1-2 add-dir false false /A/B --- > _1.0.t1-1 add-dir false false /A/B Further, node-revision-ids can vary for other reasons. Representations in the revision files are in whatever order the client sends representations to the server. There are no defined orders for clients to use so it is quite likely that commits to the master and the mirror will use different orders: mkdir zz echo foo > zz/f echo bar > zz/g echo zigzig > zz/F echo zagzag > zz/G svnadmin create repo svn mkdir -mm file://`pwd`/repo/A svnadmin create repo2 svnsync init file://`pwd`/repo2 file://`pwd`/repo svnsync sync file://`pwd`/repo2 I see orders: repo/db/revs/0/1: foo, zigzig, zagzag, bar repo2/db/revs/0/1: zigzig, zagzag, foo, bar That affects the offsets in the text: lines, often changing the line length, which in turn affects the position of the subsequent nodes, and the position of the nodes affects the node-revision-ids. -- Certified & Supported Apache Subversion Downloads: http://www.wandisco.com/subversion/download