forked from sitaramc/gitolite
-
Notifications
You must be signed in to change notification settings - Fork 0
/
t14-vrefs-1
152 lines (133 loc) · 5.04 KB
/
t14-vrefs-1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
# vim: ft=sh:
tsh pwd || die '## tsh not installed?'
# note 'tc' is an abbreviation for 'test-commit' in tsh lingo
for wr in 0 1
do
for bc in 0 1
do
cd $TESTDIR
$TESTDIR/rollback || die "rollback failed"
editrc GL_WILDREPOS $wr
editrc GL_BIG_CONFIG $bc
# ----------
name "INTERNAL"
echo "
@gfoo = foo
@lead = u1
@dev2 = u2
@dev4 = u4
@devs = @dev2 @dev4 u6
repo @gfoo
RW+ = @lead @devs
- VREF/COUNT/2 = @dev2
- VREF/COUNT/4 = @dev4
- VREF/COUNT/3/NEWFILES = u6
- VREF/COUNT/6 = u6
" | ugc
name "setup"
cd ~/td
tsh "
ls -al foo; !ok; /cannot access foo: No such file or directory/
clone u1:foo; ok; /Cloning into/
/You appear to have cloned an empty/
"
cd foo
tsh "
ls -Al; ok; /\.git/
"
name "check VREF is not called for u1"
GL_BINDIR=`gl-query-rc GL_BINDIR`
mv $GL_BINDIR/gl-VREF-COUNT ~
tsh "
tc a1 a2 a3 a4 a5; ok; /aaf9e8e/
push-om; ok; /new branch.*master -. master/
!/can\'t find helper program for VREF/COUNT/
!/hook declined/
!/remote rejected/
"
name "check VREF is called for u2"
tsh "
tc b1; ok; /1f440d3/
git push u2:foo; !ok; /can\'t find helper program for VREF/COUNT/2/
/hook declined/
/remote rejected/
"
mv ~/gl-VREF-COUNT $GL_BINDIR
name "u2 adds 1 file"
tsh "
git push u2:foo; ok; /aaf9e8e..1f440d3.*master -. master/
"
name "u2 adds 2 files"
tsh "
tc b2 b3; ok; /c3397f7/
git push u2:foo; ok; /1f440d3..c3397f7.*master -. master/
"
name "u2 adds 3 files"
tsh "
tc c1 c2 c3; ok; /be242d7/
git push u2:foo; !ok; /W VREF/COUNT/2 foo u2 DENIED by VREF/COUNT/2/
/too many changed files in this push/
/hook declined/
/remote rejected/
"
name "u4 adds 3 files"
tsh "
git push u4:foo; ok; /c3397f7..be242d7.*master -. master/
"
name "u4 adds 4 files"
tsh "
tc d1 d2 d3 d4; ok; /88d80e2/
git push u4:foo; ok; /be242d7..88d80e2.*master -. master/
"
name "u4 adds 5 files"
tsh "
tc d5 d6 d7 d8 d9; ok; /e9c60b0/
git push u4:foo; !ok; /W VREF/COUNT/4 foo u4 DENIED by VREF/COUNT/4/
/too many changed files in this push/
/hook declined/
/remote rejected/
"
name "u1 pushes it all"
tsh "
git push; ok; /88d80e2..e9c60b0.*master -. master/
"
name "u6 updates 6 old files"
tsh "
test-tick
tc d1 d2 d3 d4 d5 d6
ok; /2773f0a/
git push u6:foo; ok; /e9c60b0..2773f0a.*master -. master/
tag six
"
name "u6 updates 7 old files"
tsh "
test-tick; test-tick
tc d1 d2 d3 d4 d5 d6 d7
ok; /98e01c5/
git push u6:foo; !ok; /W VREF/COUNT/6 foo u6 DENIED by VREF/COUNT/6/
/too many changed files in this push/
/hook declined/
/remote rejected/
reset-h six; ok; /HEAD is now at 2773f0a/
"
name "u6 creates 4 new and 2 old files"
tsh "
test-tick; test-tick
tc d1 d2 n1 n2 n3 n4
ok; /cf1e284/
git push u6:foo; !ok; /W VREF/COUNT/3/NEWFILES foo u6 DENIED by VREF/COUNT/3/NEWFILES/
/too many new files in this push/
/hook declined/
/remote rejected/
reset-h six; ok; /HEAD is now at 2773f0a/
"
name "u6 creates 3 new and 3 old files"
tsh "
test-tick; test-tick
tc d1 d2 d3 n1 n2 n3
ok; /7447dfe/
git push u6:foo; ok; /2773f0a..7447dfe.*master -. master/
"
name INTERNAL
done
done