svm:mirror is not useful at all for us. Parts of the old unit test were broken and based on my misunderstanding of the svm:mirror property. When we read svm:source; make sure we correctly handle the '!' in it: it is used to separate the path of the repository root from the virtual path within the repository. We don't need to make that distinction, honestly! We also ensure that subdirectories are also mirrored with the correct URL if we're using useSvmProps. We have a new test that uses dumped repo that was really created using SVN::Mirror to avoid ambiguities and mis-understandings about the svm: properties. Note: trailing whitespace in the svm.dump file is unfortunately a reality and required by SVN; so please ignore it when applying this patch. Also, ensure that the -R/--remote/--svn-remote flag is always in effect if explicitly passed via the command-line. This allows us to track logically different mirrors sharing the same URL (probably common with SVN::Mirror/SVK users). Signed-off-by: Eric Wong <normalperson@yhbt.net>
		
			
				
	
	
		
			512 lines
		
	
	
		
			6.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			512 lines
		
	
	
		
			6.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
SVN-fs-dump-format-version: 2
 | 
						|
 | 
						|
UUID: de5973c6-545d-41da-aded-c265f9039e74
 | 
						|
 | 
						|
Revision-number: 0
 | 
						|
Prop-content-length: 56
 | 
						|
Content-length: 56
 | 
						|
 | 
						|
K 8
 | 
						|
svn:date
 | 
						|
V 27
 | 
						|
2007-02-17T06:54:59.793104Z
 | 
						|
PROPS-END
 | 
						|
 | 
						|
Revision-number: 1
 | 
						|
Prop-content-length: 200
 | 
						|
Content-length: 200
 | 
						|
 | 
						|
K 7
 | 
						|
svn:log
 | 
						|
V 40
 | 
						|
SVM: initializing mirror for /mirror/arr
 | 
						|
K 10
 | 
						|
svn:author
 | 
						|
V 3
 | 
						|
svm
 | 
						|
K 11
 | 
						|
svm:headrev
 | 
						|
V 39
 | 
						|
161ce429-a9dd-4828-af4a-52023f968c89:0
 | 
						|
 | 
						|
K 8
 | 
						|
svn:date
 | 
						|
V 27
 | 
						|
2007-02-17T06:55:00.121647Z
 | 
						|
PROPS-END
 | 
						|
 | 
						|
Node-path: 
 | 
						|
Node-kind: dir
 | 
						|
Node-action: change
 | 
						|
Prop-content-length: 44
 | 
						|
Content-length: 44
 | 
						|
 | 
						|
K 10
 | 
						|
svm:mirror
 | 
						|
V 12
 | 
						|
/mirror/arr
 | 
						|
 | 
						|
PROPS-END
 | 
						|
 | 
						|
 | 
						|
Node-path: mirror
 | 
						|
Node-kind: dir
 | 
						|
Node-action: add
 | 
						|
Prop-content-length: 10
 | 
						|
Content-length: 10
 | 
						|
 | 
						|
PROPS-END
 | 
						|
 | 
						|
 | 
						|
Node-path: mirror/arr
 | 
						|
Node-kind: dir
 | 
						|
Node-action: add
 | 
						|
Prop-content-length: 116
 | 
						|
Content-length: 116
 | 
						|
 | 
						|
K 10
 | 
						|
svm:source
 | 
						|
V 29
 | 
						|
http://mayonaise/svnrepo!/bar
 | 
						|
K 8
 | 
						|
svm:uuid
 | 
						|
V 36
 | 
						|
161ce429-a9dd-4828-af4a-52023f968c89
 | 
						|
PROPS-END
 | 
						|
 | 
						|
 | 
						|
Revision-number: 2
 | 
						|
Prop-content-length: 182
 | 
						|
Content-length: 182
 | 
						|
 | 
						|
K 7
 | 
						|
svn:log
 | 
						|
V 18
 | 
						|
import for git-svn
 | 
						|
K 10
 | 
						|
svn:author
 | 
						|
V 7
 | 
						|
svnsync
 | 
						|
K 11
 | 
						|
svm:headrev
 | 
						|
V 39
 | 
						|
161ce429-a9dd-4828-af4a-52023f968c89:1
 | 
						|
 | 
						|
K 8
 | 
						|
svn:date
 | 
						|
V 27
 | 
						|
2007-02-17T05:10:52.108847Z
 | 
						|
PROPS-END
 | 
						|
 | 
						|
Node-path: mirror/arr
 | 
						|
Node-kind: dir
 | 
						|
Node-action: change
 | 
						|
Prop-content-length: 116
 | 
						|
Content-length: 116
 | 
						|
 | 
						|
K 10
 | 
						|
svm:source
 | 
						|
V 29
 | 
						|
http://mayonaise/svnrepo!/bar
 | 
						|
K 8
 | 
						|
svm:uuid
 | 
						|
V 36
 | 
						|
161ce429-a9dd-4828-af4a-52023f968c89
 | 
						|
PROPS-END
 | 
						|
 | 
						|
 | 
						|
Node-path: mirror/arr/zzz
 | 
						|
Node-kind: file
 | 
						|
Node-action: add
 | 
						|
Prop-content-length: 10
 | 
						|
Text-content-length: 4
 | 
						|
Text-content-md5: 33b02bc15ce9557d2dd8484d58f95ac4
 | 
						|
Content-length: 14
 | 
						|
 | 
						|
PROPS-END
 | 
						|
zzz
 | 
						|
 | 
						|
 | 
						|
Revision-number: 3
 | 
						|
Prop-content-length: 230
 | 
						|
Content-length: 230
 | 
						|
 | 
						|
K 7
 | 
						|
svn:log
 | 
						|
V 66
 | 
						|
new symlink is added to a file that was also just made executable
 | 
						|
 | 
						|
K 10
 | 
						|
svn:author
 | 
						|
V 7
 | 
						|
svnsync
 | 
						|
K 11
 | 
						|
svm:headrev
 | 
						|
V 39
 | 
						|
161ce429-a9dd-4828-af4a-52023f968c89:6
 | 
						|
 | 
						|
K 8
 | 
						|
svn:date
 | 
						|
V 27
 | 
						|
2007-02-17T05:11:01.686891Z
 | 
						|
PROPS-END
 | 
						|
 | 
						|
Node-path: mirror/arr/zzz
 | 
						|
Node-kind: file
 | 
						|
Node-action: change
 | 
						|
Prop-content-length: 36
 | 
						|
Text-content-length: 4
 | 
						|
Text-content-md5: 33b02bc15ce9557d2dd8484d58f95ac4
 | 
						|
Content-length: 40
 | 
						|
 | 
						|
K 14
 | 
						|
svn:executable
 | 
						|
V 1
 | 
						|
*
 | 
						|
PROPS-END
 | 
						|
zzz
 | 
						|
 | 
						|
 | 
						|
Revision-number: 4
 | 
						|
Prop-content-length: 192
 | 
						|
Content-length: 192
 | 
						|
 | 
						|
K 7
 | 
						|
svn:log
 | 
						|
V 28
 | 
						|
/bar/d should be in the log
 | 
						|
 | 
						|
K 10
 | 
						|
svn:author
 | 
						|
V 7
 | 
						|
svnsync
 | 
						|
K 11
 | 
						|
svm:headrev
 | 
						|
V 39
 | 
						|
161ce429-a9dd-4828-af4a-52023f968c89:9
 | 
						|
 | 
						|
K 8
 | 
						|
svn:date
 | 
						|
V 27
 | 
						|
2007-02-17T05:11:07.686552Z
 | 
						|
PROPS-END
 | 
						|
 | 
						|
Node-path: mirror/arr/d
 | 
						|
Node-kind: file
 | 
						|
Node-action: add
 | 
						|
Prop-content-length: 10
 | 
						|
Text-content-length: 4
 | 
						|
Text-content-md5: 0bee89b07a248e27c83fc3d5951213c1
 | 
						|
Content-length: 14
 | 
						|
 | 
						|
PROPS-END
 | 
						|
abc
 | 
						|
 | 
						|
 | 
						|
Revision-number: 5
 | 
						|
Prop-content-length: 185
 | 
						|
Content-length: 185
 | 
						|
 | 
						|
K 7
 | 
						|
svn:log
 | 
						|
V 20
 | 
						|
add a new directory
 | 
						|
 | 
						|
K 10
 | 
						|
svn:author
 | 
						|
V 7
 | 
						|
svnsync
 | 
						|
K 11
 | 
						|
svm:headrev
 | 
						|
V 40
 | 
						|
161ce429-a9dd-4828-af4a-52023f968c89:10
 | 
						|
 | 
						|
K 8
 | 
						|
svn:date
 | 
						|
V 27
 | 
						|
2007-02-17T05:11:08.405953Z
 | 
						|
PROPS-END
 | 
						|
 | 
						|
Node-path: mirror/arr/newdir
 | 
						|
Node-kind: dir
 | 
						|
Node-action: add
 | 
						|
Prop-content-length: 10
 | 
						|
Content-length: 10
 | 
						|
 | 
						|
PROPS-END
 | 
						|
 | 
						|
 | 
						|
Node-path: mirror/arr/newdir/dir
 | 
						|
Node-kind: file
 | 
						|
Node-action: add
 | 
						|
Prop-content-length: 10
 | 
						|
Text-content-length: 4
 | 
						|
Text-content-md5: 9cd599a3523898e6a12e13ec787da50a
 | 
						|
Content-length: 14
 | 
						|
 | 
						|
PROPS-END
 | 
						|
new
 | 
						|
 | 
						|
 | 
						|
Revision-number: 6
 | 
						|
Prop-content-length: 196
 | 
						|
Content-length: 196
 | 
						|
 | 
						|
K 7
 | 
						|
svn:log
 | 
						|
V 31
 | 
						|
modify a file in new directory
 | 
						|
 | 
						|
K 10
 | 
						|
svn:author
 | 
						|
V 7
 | 
						|
svnsync
 | 
						|
K 11
 | 
						|
svm:headrev
 | 
						|
V 40
 | 
						|
161ce429-a9dd-4828-af4a-52023f968c89:11
 | 
						|
 | 
						|
K 8
 | 
						|
svn:date
 | 
						|
V 27
 | 
						|
2007-02-17T05:11:09.126645Z
 | 
						|
PROPS-END
 | 
						|
 | 
						|
Node-path: mirror/arr/newdir/dir
 | 
						|
Node-kind: file
 | 
						|
Node-action: change
 | 
						|
Text-content-length: 8
 | 
						|
Text-content-md5: a950e20332358e523a5e9d571e47fa64
 | 
						|
Content-length: 8
 | 
						|
 | 
						|
new
 | 
						|
foo
 | 
						|
 | 
						|
 | 
						|
Revision-number: 7
 | 
						|
Prop-content-length: 179
 | 
						|
Content-length: 179
 | 
						|
 | 
						|
K 7
 | 
						|
svn:log
 | 
						|
V 14
 | 
						|
update /bar/d
 | 
						|
 | 
						|
K 10
 | 
						|
svn:author
 | 
						|
V 7
 | 
						|
svnsync
 | 
						|
K 11
 | 
						|
svm:headrev
 | 
						|
V 40
 | 
						|
161ce429-a9dd-4828-af4a-52023f968c89:12
 | 
						|
 | 
						|
K 8
 | 
						|
svn:date
 | 
						|
V 27
 | 
						|
2007-02-17T05:11:09.846221Z
 | 
						|
PROPS-END
 | 
						|
 | 
						|
Node-path: mirror/arr/d
 | 
						|
Node-kind: file
 | 
						|
Node-action: change
 | 
						|
Text-content-length: 4
 | 
						|
Text-content-md5: 7abb78de7f2756ca8b511cbc879fd5e7
 | 
						|
Content-length: 4
 | 
						|
 | 
						|
cba
 | 
						|
 | 
						|
 | 
						|
Revision-number: 8
 | 
						|
Prop-content-length: 201
 | 
						|
Content-length: 201
 | 
						|
 | 
						|
K 7
 | 
						|
svn:log
 | 
						|
V 41
 | 
						|
SVM: initializing mirror for /mirror/argh
 | 
						|
K 10
 | 
						|
svn:author
 | 
						|
V 3
 | 
						|
svm
 | 
						|
K 11
 | 
						|
svm:headrev
 | 
						|
V 39
 | 
						|
161ce429-a9dd-4828-af4a-52023f968c89:0
 | 
						|
 | 
						|
K 8
 | 
						|
svn:date
 | 
						|
V 27
 | 
						|
2007-02-17T06:56:03.703677Z
 | 
						|
PROPS-END
 | 
						|
 | 
						|
Node-path: 
 | 
						|
Node-kind: dir
 | 
						|
Node-action: change
 | 
						|
Prop-content-length: 57
 | 
						|
Content-length: 57
 | 
						|
 | 
						|
K 10
 | 
						|
svm:mirror
 | 
						|
V 25
 | 
						|
/mirror/argh
 | 
						|
/mirror/arr
 | 
						|
 | 
						|
PROPS-END
 | 
						|
 | 
						|
 | 
						|
Node-path: mirror/argh
 | 
						|
Node-kind: dir
 | 
						|
Node-action: add
 | 
						|
Prop-content-length: 116
 | 
						|
Content-length: 116
 | 
						|
 | 
						|
K 10
 | 
						|
svm:source
 | 
						|
V 29
 | 
						|
http://mayonaise/svnrepo!/dir
 | 
						|
K 8
 | 
						|
svm:uuid
 | 
						|
V 36
 | 
						|
161ce429-a9dd-4828-af4a-52023f968c89
 | 
						|
PROPS-END
 | 
						|
 | 
						|
 | 
						|
Revision-number: 9
 | 
						|
Prop-content-length: 182
 | 
						|
Content-length: 182
 | 
						|
 | 
						|
K 7
 | 
						|
svn:log
 | 
						|
V 18
 | 
						|
import for git-svn
 | 
						|
K 10
 | 
						|
svn:author
 | 
						|
V 7
 | 
						|
svnsync
 | 
						|
K 11
 | 
						|
svm:headrev
 | 
						|
V 39
 | 
						|
161ce429-a9dd-4828-af4a-52023f968c89:1
 | 
						|
 | 
						|
K 8
 | 
						|
svn:date
 | 
						|
V 27
 | 
						|
2007-02-17T05:10:52.108847Z
 | 
						|
PROPS-END
 | 
						|
 | 
						|
Node-path: mirror/argh
 | 
						|
Node-kind: dir
 | 
						|
Node-action: change
 | 
						|
Prop-content-length: 116
 | 
						|
Content-length: 116
 | 
						|
 | 
						|
K 10
 | 
						|
svm:source
 | 
						|
V 29
 | 
						|
http://mayonaise/svnrepo!/dir
 | 
						|
K 8
 | 
						|
svm:uuid
 | 
						|
V 36
 | 
						|
161ce429-a9dd-4828-af4a-52023f968c89
 | 
						|
PROPS-END
 | 
						|
 | 
						|
 | 
						|
Node-path: mirror/argh/a
 | 
						|
Node-kind: dir
 | 
						|
Node-action: add
 | 
						|
Prop-content-length: 10
 | 
						|
Content-length: 10
 | 
						|
 | 
						|
PROPS-END
 | 
						|
 | 
						|
 | 
						|
Node-path: mirror/argh/a/b
 | 
						|
Node-kind: dir
 | 
						|
Node-action: add
 | 
						|
Prop-content-length: 10
 | 
						|
Content-length: 10
 | 
						|
 | 
						|
PROPS-END
 | 
						|
 | 
						|
 | 
						|
Node-path: mirror/argh/a/b/c
 | 
						|
Node-kind: dir
 | 
						|
Node-action: add
 | 
						|
Prop-content-length: 10
 | 
						|
Content-length: 10
 | 
						|
 | 
						|
PROPS-END
 | 
						|
 | 
						|
 | 
						|
Node-path: mirror/argh/a/b/c/d
 | 
						|
Node-kind: dir
 | 
						|
Node-action: add
 | 
						|
Prop-content-length: 10
 | 
						|
Content-length: 10
 | 
						|
 | 
						|
PROPS-END
 | 
						|
 | 
						|
 | 
						|
Node-path: mirror/argh/a/b/c/d/e
 | 
						|
Node-kind: dir
 | 
						|
Node-action: add
 | 
						|
Prop-content-length: 10
 | 
						|
Content-length: 10
 | 
						|
 | 
						|
PROPS-END
 | 
						|
 | 
						|
 | 
						|
Node-path: mirror/argh/a/b/c/d/e/file
 | 
						|
Node-kind: file
 | 
						|
Node-action: add
 | 
						|
Prop-content-length: 10
 | 
						|
Text-content-length: 9
 | 
						|
Text-content-md5: 3fd46fe46fcdcf062c802ca60dc826d5
 | 
						|
Content-length: 19
 | 
						|
 | 
						|
PROPS-END
 | 
						|
deep dir
 | 
						|
 | 
						|
 | 
						|
Revision-number: 10
 | 
						|
Prop-content-length: 197
 | 
						|
Content-length: 197
 | 
						|
 | 
						|
K 7
 | 
						|
svn:log
 | 
						|
V 33
 | 
						|
try a deep --rmdir with a commit
 | 
						|
 | 
						|
K 10
 | 
						|
svn:author
 | 
						|
V 7
 | 
						|
svnsync
 | 
						|
K 11
 | 
						|
svm:headrev
 | 
						|
V 39
 | 
						|
161ce429-a9dd-4828-af4a-52023f968c89:2
 | 
						|
 | 
						|
K 8
 | 
						|
svn:date
 | 
						|
V 27
 | 
						|
2007-02-17T05:10:54.847015Z
 | 
						|
PROPS-END
 | 
						|
 | 
						|
Node-path: mirror/argh/file
 | 
						|
Node-kind: file
 | 
						|
Node-action: add
 | 
						|
Node-copyfrom-rev: 9
 | 
						|
Node-copyfrom-path: mirror/argh/a/b/c/d/e/file
 | 
						|
Text-content-length: 9
 | 
						|
Text-content-md5: 3fd46fe46fcdcf062c802ca60dc826d5
 | 
						|
Content-length: 9
 | 
						|
 | 
						|
deep dir
 | 
						|
 | 
						|
 | 
						|
Node-path: mirror/argh/a
 | 
						|
Node-action: delete
 | 
						|
 | 
						|
 |