git-svn: add test for useSvnsyncProps

These tests are very similar as the ones I used for useSvmProps
and expect the same results because both dumps were generated
from the same original repo.

Signed-off-by: Eric Wong <normalperson@yhbt.net>
This commit is contained in:
Eric Wong 2007-02-18 01:30:35 -08:00
parent befc9adc0c
commit e2b36f6018
2 changed files with 613 additions and 0 deletions

View File

@ -0,0 +1,51 @@
#!/bin/sh
#
# Copyright (c) 2007 Eric Wong
#
test_description='git-svn useSvnsyncProps test'
. ./lib-git-svn.sh
test_expect_success 'load svnsync repo' "
svnadmin load -q $rawsvnrepo < ../t9111/svnsync.dump &&
git-svn init -R arr -i bar $svnrepo/bar &&
git-svn init -R argh -i dir $svnrepo/dir &&
git-svn init -R argh -i e $svnrepo/dir/a/b/c/d/e &&
git-config svn.useSvnsyncProps true &&
git-svn fetch --all
"
uuid=161ce429-a9dd-4828-af4a-52023f968c89
bar_url=http://mayonaise/svnrepo/bar
test_expect_success 'verify metadata for /bar' "
git-cat-file commit refs/remotes/bar | \
grep '^git-svn-id: $bar_url@12 $uuid$' &&
git-cat-file commit refs/remotes/bar~1 | \
grep '^git-svn-id: $bar_url@11 $uuid$' &&
git-cat-file commit refs/remotes/bar~2 | \
grep '^git-svn-id: $bar_url@10 $uuid$' &&
git-cat-file commit refs/remotes/bar~3 | \
grep '^git-svn-id: $bar_url@9 $uuid$' &&
git-cat-file commit refs/remotes/bar~4 | \
grep '^git-svn-id: $bar_url@6 $uuid$' &&
git-cat-file commit refs/remotes/bar~5 | \
grep '^git-svn-id: $bar_url@1 $uuid$'
"
e_url=http://mayonaise/svnrepo/dir/a/b/c/d/e
test_expect_success 'verify metadata for /dir/a/b/c/d/e' "
git-cat-file commit refs/remotes/e | \
grep '^git-svn-id: $e_url@1 $uuid$'
"
dir_url=http://mayonaise/svnrepo/dir
test_expect_success 'verify metadata for /dir' "
git-cat-file commit refs/remotes/dir | \
grep '^git-svn-id: $dir_url@2 $uuid$' &&
git-cat-file commit refs/remotes/dir~1 | \
grep '^git-svn-id: $dir_url@1 $uuid$'
"
test_done

562
t/t9111/svnsync.dump Normal file
View File

@ -0,0 +1,562 @@
SVN-fs-dump-format-version: 2
UUID: b4bfe35e-f256-4096-874c-08c5639ecad7
Revision-number: 0
Prop-content-length: 240
Content-length: 240
K 18
svn:sync-from-uuid
V 36
161ce429-a9dd-4828-af4a-52023f968c89
K 10
svn:author
V 7
svnsync
K 24
svn:sync-last-merged-rev
V 2
12
K 8
svn:date
V 27
2007-02-17T05:10:52.017552Z
K 17
svn:sync-from-url
V 24
http://mayonaise/svnrepo
PROPS-END
Revision-number: 1
Prop-content-length: 120
Content-length: 120
K 7
svn:log
V 18
import for git-svn
K 10
svn:author
V 7
svnsync
K 8
svn:date
V 27
2007-02-17T05:10:52.108847Z
PROPS-END
Node-path: bar
Node-kind: dir
Node-action: add
Prop-content-length: 10
Content-length: 10
PROPS-END
Node-path: bar/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
Node-path: dir
Node-kind: dir
Node-action: add
Prop-content-length: 10
Content-length: 10
PROPS-END
Node-path: dir/a
Node-kind: dir
Node-action: add
Prop-content-length: 10
Content-length: 10
PROPS-END
Node-path: dir/a/b
Node-kind: dir
Node-action: add
Prop-content-length: 10
Content-length: 10
PROPS-END
Node-path: dir/a/b/c
Node-kind: dir
Node-action: add
Prop-content-length: 10
Content-length: 10
PROPS-END
Node-path: dir/a/b/c/d
Node-kind: dir
Node-action: add
Prop-content-length: 10
Content-length: 10
PROPS-END
Node-path: dir/a/b/c/d/e
Node-kind: dir
Node-action: add
Prop-content-length: 10
Content-length: 10
PROPS-END
Node-path: dir/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
Node-path: exec.sh
Node-kind: file
Node-action: add
Prop-content-length: 35
Text-content-length: 10
Text-content-md5: 3e2b31c72181b87149ff995e7202c0e3
Content-length: 45
K 14
svn:executable
V 0
PROPS-END
#!/bin/sh
Node-path: foo
Node-kind: file
Node-action: add
Prop-content-length: 10
Text-content-length: 4
Text-content-md5: d3b07384d113edec49eaa6238ad5ff00
Content-length: 14
PROPS-END
foo
Node-path: foo.link
Node-kind: file
Node-action: add
Prop-content-length: 33
Text-content-length: 8
Text-content-md5: 1043146e49ef02cab12eef865cb34ff3
Content-length: 41
K 11
svn:special
V 1
*
PROPS-END
link foo
Revision-number: 2
Prop-content-length: 135
Content-length: 135
K 7
svn:log
V 33
try a deep --rmdir with a commit
K 10
svn:author
V 7
svnsync
K 8
svn:date
V 27
2007-02-17T05:10:54.847015Z
PROPS-END
Node-path: dir/file
Node-kind: file
Node-action: add
Node-copyfrom-rev: 1
Node-copyfrom-path: dir/a/b/c/d/e/file
Text-content-length: 9
Text-content-md5: 3fd46fe46fcdcf062c802ca60dc826d5
Content-length: 9
deep dir
Node-path: dir/a
Node-action: delete
Node-path: file
Node-kind: file
Node-action: add
Node-copyfrom-rev: 1
Node-copyfrom-path: dir/a/b/c/d/e/file
Text-content-length: 9
Text-content-md5: 3fd46fe46fcdcf062c802ca60dc826d5
Content-length: 9
deep dir
Revision-number: 3
Prop-content-length: 136
Content-length: 136
K 7
svn:log
V 34
remove executable bit from a file
K 10
svn:author
V 7
svnsync
K 8
svn:date
V 27
2007-02-17T05:10:58.232691Z
PROPS-END
Node-path: exec.sh
Node-kind: file
Node-action: change
Prop-content-length: 10
Text-content-length: 10
Text-content-md5: 3e2b31c72181b87149ff995e7202c0e3
Content-length: 20
PROPS-END
#!/bin/sh
Revision-number: 4
Prop-content-length: 131
Content-length: 131
K 7
svn:log
V 29
add executable bit back file
K 10
svn:author
V 7
svnsync
K 8
svn:date
V 27
2007-02-17T05:10:59.666560Z
PROPS-END
Node-path: exec.sh
Node-kind: file
Node-action: change
Prop-content-length: 36
Text-content-length: 10
Text-content-md5: 3e2b31c72181b87149ff995e7202c0e3
Content-length: 46
K 14
svn:executable
V 1
*
PROPS-END
#!/bin/sh
Revision-number: 5
Prop-content-length: 154
Content-length: 154
K 7
svn:log
V 52
executable file becomes a symlink to bar/zzz (file)
K 10
svn:author
V 7
svnsync
K 8
svn:date
V 27
2007-02-17T05:11:00.676495Z
PROPS-END
Node-path: exec.sh
Node-kind: file
Node-action: change
Prop-content-length: 33
Text-content-length: 12
Text-content-md5: f138693371665cc117742508761d684d
Content-length: 45
K 11
svn:special
V 1
*
PROPS-END
link bar/zzz
Revision-number: 6
Prop-content-length: 168
Content-length: 168
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 8
svn:date
V 27
2007-02-17T05:11:01.686891Z
PROPS-END
Node-path: bar/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
Node-path: exec-2.sh
Node-kind: file
Node-action: add
Node-copyfrom-rev: 5
Node-copyfrom-path: exec.sh
Text-content-length: 12
Text-content-md5: f138693371665cc117742508761d684d
Content-length: 12
link bar/zzz
Revision-number: 7
Prop-content-length: 136
Content-length: 136
K 7
svn:log
V 34
modify a symlink to become a file
K 10
svn:author
V 7
svnsync
K 8
svn:date
V 27
2007-02-17T05:11:02.677035Z
PROPS-END
Node-path: exec-2.sh
Node-kind: file
Node-action: change
Prop-content-length: 10
Text-content-length: 9
Text-content-md5: 8e92eff9e911886cede27d420f89c735
Content-length: 19
PROPS-END
git help
Revision-number: 8
Prop-content-length: 109
Content-length: 109
K 7
svn:log
V 8
éï∏
K 10
svn:author
V 7
svnsync
K 8
svn:date
V 27
2007-02-17T05:11:03.676862Z
PROPS-END
Node-path: exec-2.sh
Node-kind: file
Node-action: change
Text-content-length: 17
Text-content-md5: 49881954063cf26ca48c212396a957ca
Content-length: 17
git help
# hello
Revision-number: 9
Prop-content-length: 130
Content-length: 130
K 7
svn:log
V 28
/bar/d should be in the log
K 10
svn:author
V 7
svnsync
K 8
svn:date
V 27
2007-02-17T05:11:07.686552Z
PROPS-END
Node-path: bar/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: 10
Prop-content-length: 122
Content-length: 122
K 7
svn:log
V 20
add a new directory
K 10
svn:author
V 7
svnsync
K 8
svn:date
V 27
2007-02-17T05:11:08.405953Z
PROPS-END
Node-path: bar/newdir
Node-kind: dir
Node-action: add
Prop-content-length: 10
Content-length: 10
PROPS-END
Node-path: bar/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: 11
Prop-content-length: 133
Content-length: 133
K 7
svn:log
V 31
modify a file in new directory
K 10
svn:author
V 7
svnsync
K 8
svn:date
V 27
2007-02-17T05:11:09.126645Z
PROPS-END
Node-path: bar/newdir/dir
Node-kind: file
Node-action: change
Text-content-length: 8
Text-content-md5: a950e20332358e523a5e9d571e47fa64
Content-length: 8
new
foo
Revision-number: 12
Prop-content-length: 116
Content-length: 116
K 7
svn:log
V 14
update /bar/d
K 10
svn:author
V 7
svnsync
K 8
svn:date
V 27
2007-02-17T05:11:09.846221Z
PROPS-END
Node-path: bar/d
Node-kind: file
Node-action: change
Text-content-length: 4
Text-content-md5: 7abb78de7f2756ca8b511cbc879fd5e7
Content-length: 4
cba