##// END OF EJS Templates
acl: update test output
Elifarley Callado Coelho Cruz -
r11116:2a857f9d default
parent child Browse files
Show More
@@ -1,1556 +1,1559
1 1 3:911600dab2ae
2 2 requesting all changes
3 3 adding changesets
4 4 adding manifests
5 5 adding file changes
6 6 added 1 changesets with 3 changes to 3 files
7 7 updating to branch default
8 8 3 files updated, 0 files merged, 0 files removed, 0 files unresolved
9 9
10 10 Extension disabled for lack of a hook
11 11 Pushing as user fred
12 12 hgrc = """
13 13 """
14 14 pushing to ../b
15 15 searching for changes
16 16 common changesets up to 6675d58eff77
17 17 3 changesets found
18 18 list of changesets:
19 19 ef1ea85a6374b77d6da9dcda9541f498f2d17df7
20 20 f9cafe1212c8c6fa1120d14a556e18cc44ff8bdd
21 21 911600dab2ae7a9baff75958b84fe606851ce955
22 22 adding changesets
23 23 bundling changes: 0 chunks
24 24 bundling changes: 1 chunks
25 25 bundling changes: 2 chunks
26 26 bundling changes: 3 chunks
27 27 bundling changes: 4 chunks
28 28 bundling changes: 5 chunks
29 29 bundling changes: 6 chunks
30 30 bundling changes: 7 chunks
31 31 bundling changes: 8 chunks
32 32 bundling changes: 9 chunks
33 33 bundling manifests: 0 chunks
34 34 bundling manifests: 1 chunks
35 35 bundling manifests: 2 chunks
36 36 bundling manifests: 3 chunks
37 37 bundling manifests: 4 chunks
38 38 bundling manifests: 5 chunks
39 39 bundling manifests: 6 chunks
40 40 bundling manifests: 7 chunks
41 41 bundling manifests: 8 chunks
42 42 bundling manifests: 9 chunks
43 43 bundling files: foo/Bar/file.txt 0 chunks
44 44 bundling files: foo/Bar/file.txt 1 chunks
45 45 bundling files: foo/Bar/file.txt 2 chunks
46 46 bundling files: foo/Bar/file.txt 3 chunks
47 47 bundling files: foo/file.txt 4 chunks
48 48 bundling files: foo/file.txt 5 chunks
49 49 bundling files: foo/file.txt 6 chunks
50 50 bundling files: foo/file.txt 7 chunks
51 51 bundling files: quux/file.py 8 chunks
52 52 bundling files: quux/file.py 9 chunks
53 53 bundling files: quux/file.py 10 chunks
54 54 bundling files: quux/file.py 11 chunks
55 55 changesets: 1 chunks
56 56 add changeset ef1ea85a6374
57 57 changesets: 2 chunks
58 58 add changeset f9cafe1212c8
59 59 changesets: 3 chunks
60 60 add changeset 911600dab2ae
61 61 adding manifests
62 62 manifests: 1/3 chunks (33.33%)
63 63 manifests: 2/3 chunks (66.67%)
64 64 manifests: 3/3 chunks (100.00%)
65 65 adding file changes
66 66 adding foo/Bar/file.txt revisions
67 67 files: 1/3 chunks (33.33%)
68 68 adding foo/file.txt revisions
69 69 files: 2/3 chunks (66.67%)
70 70 adding quux/file.py revisions
71 71 files: 3/3 chunks (100.00%)
72 72 added 3 changesets with 3 changes to 3 files
73 73 updating the branch cache
74 74 rolling back to revision 1 (undo push)
75 75 0:6675d58eff77
76 76
77 77 Extension disabled for lack of acl.sources
78 78 Pushing as user fred
79 79 hgrc = """
80 80 [hooks]
81 81 pretxnchangegroup.acl = python:hgext.acl.hook
82 82 """
83 83 pushing to ../b
84 84 searching for changes
85 85 common changesets up to 6675d58eff77
86 86 invalidating branch cache (tip differs)
87 87 3 changesets found
88 88 list of changesets:
89 89 ef1ea85a6374b77d6da9dcda9541f498f2d17df7
90 90 f9cafe1212c8c6fa1120d14a556e18cc44ff8bdd
91 91 911600dab2ae7a9baff75958b84fe606851ce955
92 92 adding changesets
93 93 bundling changes: 0 chunks
94 94 bundling changes: 1 chunks
95 95 bundling changes: 2 chunks
96 96 bundling changes: 3 chunks
97 97 bundling changes: 4 chunks
98 98 bundling changes: 5 chunks
99 99 bundling changes: 6 chunks
100 100 bundling changes: 7 chunks
101 101 bundling changes: 8 chunks
102 102 bundling changes: 9 chunks
103 103 bundling manifests: 0 chunks
104 104 bundling manifests: 1 chunks
105 105 bundling manifests: 2 chunks
106 106 bundling manifests: 3 chunks
107 107 bundling manifests: 4 chunks
108 108 bundling manifests: 5 chunks
109 109 bundling manifests: 6 chunks
110 110 bundling manifests: 7 chunks
111 111 bundling manifests: 8 chunks
112 112 bundling manifests: 9 chunks
113 113 bundling files: foo/Bar/file.txt 0 chunks
114 114 bundling files: foo/Bar/file.txt 1 chunks
115 115 bundling files: foo/Bar/file.txt 2 chunks
116 116 bundling files: foo/Bar/file.txt 3 chunks
117 117 bundling files: foo/file.txt 4 chunks
118 118 bundling files: foo/file.txt 5 chunks
119 119 bundling files: foo/file.txt 6 chunks
120 120 bundling files: foo/file.txt 7 chunks
121 121 bundling files: quux/file.py 8 chunks
122 122 bundling files: quux/file.py 9 chunks
123 123 bundling files: quux/file.py 10 chunks
124 124 bundling files: quux/file.py 11 chunks
125 125 changesets: 1 chunks
126 126 add changeset ef1ea85a6374
127 127 changesets: 2 chunks
128 128 add changeset f9cafe1212c8
129 129 changesets: 3 chunks
130 130 add changeset 911600dab2ae
131 131 adding manifests
132 132 manifests: 1/3 chunks (33.33%)
133 133 manifests: 2/3 chunks (66.67%)
134 134 manifests: 3/3 chunks (100.00%)
135 135 adding file changes
136 136 adding foo/Bar/file.txt revisions
137 137 files: 1/3 chunks (33.33%)
138 138 adding foo/file.txt revisions
139 139 files: 2/3 chunks (66.67%)
140 140 adding quux/file.py revisions
141 141 files: 3/3 chunks (100.00%)
142 142 added 3 changesets with 3 changes to 3 files
143 143 calling hook pretxnchangegroup.acl: hgext.acl.hook
144 144 acl: changes have source "push" - skipping
145 145 updating the branch cache
146 146 rolling back to revision 1 (undo push)
147 147 0:6675d58eff77
148 148
149 149 No [acl.allow]/[acl.deny]
150 150 Pushing as user fred
151 151 hgrc = """
152 152 [hooks]
153 153 pretxnchangegroup.acl = python:hgext.acl.hook
154 154 [acl]
155 155 sources = push
156 156 """
157 157 pushing to ../b
158 158 searching for changes
159 159 common changesets up to 6675d58eff77
160 160 invalidating branch cache (tip differs)
161 161 3 changesets found
162 162 list of changesets:
163 163 ef1ea85a6374b77d6da9dcda9541f498f2d17df7
164 164 f9cafe1212c8c6fa1120d14a556e18cc44ff8bdd
165 165 911600dab2ae7a9baff75958b84fe606851ce955
166 166 adding changesets
167 167 bundling changes: 0 chunks
168 168 bundling changes: 1 chunks
169 169 bundling changes: 2 chunks
170 170 bundling changes: 3 chunks
171 171 bundling changes: 4 chunks
172 172 bundling changes: 5 chunks
173 173 bundling changes: 6 chunks
174 174 bundling changes: 7 chunks
175 175 bundling changes: 8 chunks
176 176 bundling changes: 9 chunks
177 177 bundling manifests: 0 chunks
178 178 bundling manifests: 1 chunks
179 179 bundling manifests: 2 chunks
180 180 bundling manifests: 3 chunks
181 181 bundling manifests: 4 chunks
182 182 bundling manifests: 5 chunks
183 183 bundling manifests: 6 chunks
184 184 bundling manifests: 7 chunks
185 185 bundling manifests: 8 chunks
186 186 bundling manifests: 9 chunks
187 187 bundling files: foo/Bar/file.txt 0 chunks
188 188 bundling files: foo/Bar/file.txt 1 chunks
189 189 bundling files: foo/Bar/file.txt 2 chunks
190 190 bundling files: foo/Bar/file.txt 3 chunks
191 191 bundling files: foo/file.txt 4 chunks
192 192 bundling files: foo/file.txt 5 chunks
193 193 bundling files: foo/file.txt 6 chunks
194 194 bundling files: foo/file.txt 7 chunks
195 195 bundling files: quux/file.py 8 chunks
196 196 bundling files: quux/file.py 9 chunks
197 197 bundling files: quux/file.py 10 chunks
198 198 bundling files: quux/file.py 11 chunks
199 199 changesets: 1 chunks
200 200 add changeset ef1ea85a6374
201 201 changesets: 2 chunks
202 202 add changeset f9cafe1212c8
203 203 changesets: 3 chunks
204 204 add changeset 911600dab2ae
205 205 adding manifests
206 206 manifests: 1/3 chunks (33.33%)
207 207 manifests: 2/3 chunks (66.67%)
208 208 manifests: 3/3 chunks (100.00%)
209 209 adding file changes
210 210 adding foo/Bar/file.txt revisions
211 211 files: 1/3 chunks (33.33%)
212 212 adding foo/file.txt revisions
213 213 files: 2/3 chunks (66.67%)
214 214 adding quux/file.py revisions
215 215 files: 3/3 chunks (100.00%)
216 216 added 3 changesets with 3 changes to 3 files
217 217 calling hook pretxnchangegroup.acl: hgext.acl.hook
218 218 acl: acl.allow.branches not enabled
219 219 acl: acl.deny.branches not enabled
220 220 acl: acl.allow not enabled
221 221 acl: acl.deny not enabled
222 222 acl: branch access granted: "ef1ea85a6374" on branch "default"
223 223 acl: allowing changeset ef1ea85a6374
224 224 acl: branch access granted: "f9cafe1212c8" on branch "default"
225 225 acl: allowing changeset f9cafe1212c8
226 226 acl: branch access granted: "911600dab2ae" on branch "default"
227 227 acl: allowing changeset 911600dab2ae
228 228 updating the branch cache
229 229 rolling back to revision 1 (undo push)
230 230 0:6675d58eff77
231 231
232 232 Empty [acl.allow]
233 233 Pushing as user fred
234 234 hgrc = """
235 235 [hooks]
236 236 pretxnchangegroup.acl = python:hgext.acl.hook
237 237 [acl]
238 238 sources = push
239 239 [acl.allow]
240 240 """
241 241 pushing to ../b
242 242 searching for changes
243 243 common changesets up to 6675d58eff77
244 244 invalidating branch cache (tip differs)
245 245 3 changesets found
246 246 list of changesets:
247 247 ef1ea85a6374b77d6da9dcda9541f498f2d17df7
248 248 f9cafe1212c8c6fa1120d14a556e18cc44ff8bdd
249 249 911600dab2ae7a9baff75958b84fe606851ce955
250 250 adding changesets
251 251 bundling changes: 0 chunks
252 252 bundling changes: 1 chunks
253 253 bundling changes: 2 chunks
254 254 bundling changes: 3 chunks
255 255 bundling changes: 4 chunks
256 256 bundling changes: 5 chunks
257 257 bundling changes: 6 chunks
258 258 bundling changes: 7 chunks
259 259 bundling changes: 8 chunks
260 260 bundling changes: 9 chunks
261 261 bundling manifests: 0 chunks
262 262 bundling manifests: 1 chunks
263 263 bundling manifests: 2 chunks
264 264 bundling manifests: 3 chunks
265 265 bundling manifests: 4 chunks
266 266 bundling manifests: 5 chunks
267 267 bundling manifests: 6 chunks
268 268 bundling manifests: 7 chunks
269 269 bundling manifests: 8 chunks
270 270 bundling manifests: 9 chunks
271 271 bundling files: foo/Bar/file.txt 0 chunks
272 272 bundling files: foo/Bar/file.txt 1 chunks
273 273 bundling files: foo/Bar/file.txt 2 chunks
274 274 bundling files: foo/Bar/file.txt 3 chunks
275 275 bundling files: foo/file.txt 4 chunks
276 276 bundling files: foo/file.txt 5 chunks
277 277 bundling files: foo/file.txt 6 chunks
278 278 bundling files: foo/file.txt 7 chunks
279 279 bundling files: quux/file.py 8 chunks
280 280 bundling files: quux/file.py 9 chunks
281 281 bundling files: quux/file.py 10 chunks
282 282 bundling files: quux/file.py 11 chunks
283 283 changesets: 1 chunks
284 284 add changeset ef1ea85a6374
285 285 changesets: 2 chunks
286 286 add changeset f9cafe1212c8
287 287 changesets: 3 chunks
288 288 add changeset 911600dab2ae
289 289 adding manifests
290 290 manifests: 1/3 chunks (33.33%)
291 291 manifests: 2/3 chunks (66.67%)
292 292 manifests: 3/3 chunks (100.00%)
293 293 adding file changes
294 294 adding foo/Bar/file.txt revisions
295 295 files: 1/3 chunks (33.33%)
296 296 adding foo/file.txt revisions
297 297 files: 2/3 chunks (66.67%)
298 298 adding quux/file.py revisions
299 299 files: 3/3 chunks (100.00%)
300 300 added 3 changesets with 3 changes to 3 files
301 301 calling hook pretxnchangegroup.acl: hgext.acl.hook
302 302 acl: acl.allow.branches not enabled
303 303 acl: acl.deny.branches not enabled
304 304 acl: acl.allow enabled, 0 entries for user fred
305 305 acl: acl.deny not enabled
306 306 acl: branch access granted: "ef1ea85a6374" on branch "default"
307 307 acl: user fred not allowed on foo/file.txt
308 308 error: pretxnchangegroup.acl hook failed: acl: access denied for changeset ef1ea85a6374
309 309 transaction abort!
310 310 rollback completed
311 311 abort: acl: access denied for changeset ef1ea85a6374
312 312 no rollback information available
313 313 0:6675d58eff77
314 314
315 315 fred is allowed inside foo/
316 316 Pushing as user fred
317 317 hgrc = """
318 318 [hooks]
319 319 pretxnchangegroup.acl = python:hgext.acl.hook
320 320 [acl]
321 321 sources = push
322 322 [acl.allow]
323 323 foo/** = fred
324 324 """
325 325 pushing to ../b
326 326 searching for changes
327 327 common changesets up to 6675d58eff77
328 328 3 changesets found
329 329 list of changesets:
330 330 ef1ea85a6374b77d6da9dcda9541f498f2d17df7
331 331 f9cafe1212c8c6fa1120d14a556e18cc44ff8bdd
332 332 911600dab2ae7a9baff75958b84fe606851ce955
333 333 adding changesets
334 334 bundling changes: 0 chunks
335 335 bundling changes: 1 chunks
336 336 bundling changes: 2 chunks
337 337 bundling changes: 3 chunks
338 338 bundling changes: 4 chunks
339 339 bundling changes: 5 chunks
340 340 bundling changes: 6 chunks
341 341 bundling changes: 7 chunks
342 342 bundling changes: 8 chunks
343 343 bundling changes: 9 chunks
344 344 bundling manifests: 0 chunks
345 345 bundling manifests: 1 chunks
346 346 bundling manifests: 2 chunks
347 347 bundling manifests: 3 chunks
348 348 bundling manifests: 4 chunks
349 349 bundling manifests: 5 chunks
350 350 bundling manifests: 6 chunks
351 351 bundling manifests: 7 chunks
352 352 bundling manifests: 8 chunks
353 353 bundling manifests: 9 chunks
354 354 bundling files: foo/Bar/file.txt 0 chunks
355 355 bundling files: foo/Bar/file.txt 1 chunks
356 356 bundling files: foo/Bar/file.txt 2 chunks
357 357 bundling files: foo/Bar/file.txt 3 chunks
358 358 bundling files: foo/file.txt 4 chunks
359 359 bundling files: foo/file.txt 5 chunks
360 360 bundling files: foo/file.txt 6 chunks
361 361 bundling files: foo/file.txt 7 chunks
362 362 bundling files: quux/file.py 8 chunks
363 363 bundling files: quux/file.py 9 chunks
364 364 bundling files: quux/file.py 10 chunks
365 365 bundling files: quux/file.py 11 chunks
366 366 changesets: 1 chunks
367 367 add changeset ef1ea85a6374
368 368 changesets: 2 chunks
369 369 add changeset f9cafe1212c8
370 370 changesets: 3 chunks
371 371 add changeset 911600dab2ae
372 372 adding manifests
373 373 manifests: 1/3 chunks (33.33%)
374 374 manifests: 2/3 chunks (66.67%)
375 375 manifests: 3/3 chunks (100.00%)
376 376 adding file changes
377 377 adding foo/Bar/file.txt revisions
378 378 files: 1/3 chunks (33.33%)
379 379 adding foo/file.txt revisions
380 380 files: 2/3 chunks (66.67%)
381 381 adding quux/file.py revisions
382 382 files: 3/3 chunks (100.00%)
383 383 added 3 changesets with 3 changes to 3 files
384 384 calling hook pretxnchangegroup.acl: hgext.acl.hook
385 385 acl: acl.allow.branches not enabled
386 386 acl: acl.deny.branches not enabled
387 387 acl: acl.allow enabled, 1 entries for user fred
388 388 acl: acl.deny not enabled
389 389 acl: branch access granted: "ef1ea85a6374" on branch "default"
390 390 acl: allowing changeset ef1ea85a6374
391 391 acl: branch access granted: "f9cafe1212c8" on branch "default"
392 392 acl: allowing changeset f9cafe1212c8
393 393 acl: branch access granted: "911600dab2ae" on branch "default"
394 394 acl: user fred not allowed on quux/file.py
395 395 error: pretxnchangegroup.acl hook failed: acl: access denied for changeset 911600dab2ae
396 396 transaction abort!
397 397 rollback completed
398 398 abort: acl: access denied for changeset 911600dab2ae
399 399 no rollback information available
400 400 0:6675d58eff77
401 401
402 402 Empty [acl.deny]
403 403 Pushing as user barney
404 404 hgrc = """
405 405 [hooks]
406 406 pretxnchangegroup.acl = python:hgext.acl.hook
407 407 [acl]
408 408 sources = push
409 409 [acl.allow]
410 410 foo/** = fred
411 411 [acl.deny]
412 412 """
413 413 pushing to ../b
414 414 searching for changes
415 415 common changesets up to 6675d58eff77
416 416 3 changesets found
417 417 list of changesets:
418 418 ef1ea85a6374b77d6da9dcda9541f498f2d17df7
419 419 f9cafe1212c8c6fa1120d14a556e18cc44ff8bdd
420 420 911600dab2ae7a9baff75958b84fe606851ce955
421 421 adding changesets
422 422 bundling changes: 0 chunks
423 423 bundling changes: 1 chunks
424 424 bundling changes: 2 chunks
425 425 bundling changes: 3 chunks
426 426 bundling changes: 4 chunks
427 427 bundling changes: 5 chunks
428 428 bundling changes: 6 chunks
429 429 bundling changes: 7 chunks
430 430 bundling changes: 8 chunks
431 431 bundling changes: 9 chunks
432 432 bundling manifests: 0 chunks
433 433 bundling manifests: 1 chunks
434 434 bundling manifests: 2 chunks
435 435 bundling manifests: 3 chunks
436 436 bundling manifests: 4 chunks
437 437 bundling manifests: 5 chunks
438 438 bundling manifests: 6 chunks
439 439 bundling manifests: 7 chunks
440 440 bundling manifests: 8 chunks
441 441 bundling manifests: 9 chunks
442 442 bundling files: foo/Bar/file.txt 0 chunks
443 443 bundling files: foo/Bar/file.txt 1 chunks
444 444 bundling files: foo/Bar/file.txt 2 chunks
445 445 bundling files: foo/Bar/file.txt 3 chunks
446 446 bundling files: foo/file.txt 4 chunks
447 447 bundling files: foo/file.txt 5 chunks
448 448 bundling files: foo/file.txt 6 chunks
449 449 bundling files: foo/file.txt 7 chunks
450 450 bundling files: quux/file.py 8 chunks
451 451 bundling files: quux/file.py 9 chunks
452 452 bundling files: quux/file.py 10 chunks
453 453 bundling files: quux/file.py 11 chunks
454 454 changesets: 1 chunks
455 455 add changeset ef1ea85a6374
456 456 changesets: 2 chunks
457 457 add changeset f9cafe1212c8
458 458 changesets: 3 chunks
459 459 add changeset 911600dab2ae
460 460 adding manifests
461 461 manifests: 1/3 chunks (33.33%)
462 462 manifests: 2/3 chunks (66.67%)
463 463 manifests: 3/3 chunks (100.00%)
464 464 adding file changes
465 465 adding foo/Bar/file.txt revisions
466 466 files: 1/3 chunks (33.33%)
467 467 adding foo/file.txt revisions
468 468 files: 2/3 chunks (66.67%)
469 469 adding quux/file.py revisions
470 470 files: 3/3 chunks (100.00%)
471 471 added 3 changesets with 3 changes to 3 files
472 472 calling hook pretxnchangegroup.acl: hgext.acl.hook
473 473 acl: acl.allow.branches not enabled
474 474 acl: acl.deny.branches not enabled
475 475 acl: acl.allow enabled, 0 entries for user barney
476 476 acl: acl.deny enabled, 0 entries for user barney
477 477 acl: branch access granted: "ef1ea85a6374" on branch "default"
478 478 acl: user barney not allowed on foo/file.txt
479 479 error: pretxnchangegroup.acl hook failed: acl: access denied for changeset ef1ea85a6374
480 480 transaction abort!
481 481 rollback completed
482 482 abort: acl: access denied for changeset ef1ea85a6374
483 483 no rollback information available
484 484 0:6675d58eff77
485 485
486 486 fred is allowed inside foo/, but not foo/bar/ (case matters)
487 487 Pushing as user fred
488 488 hgrc = """
489 489 [hooks]
490 490 pretxnchangegroup.acl = python:hgext.acl.hook
491 491 [acl]
492 492 sources = push
493 493 [acl.allow]
494 494 foo/** = fred
495 495 [acl.deny]
496 496 foo/bar/** = fred
497 497 """
498 498 pushing to ../b
499 499 searching for changes
500 500 common changesets up to 6675d58eff77
501 501 3 changesets found
502 502 list of changesets:
503 503 ef1ea85a6374b77d6da9dcda9541f498f2d17df7
504 504 f9cafe1212c8c6fa1120d14a556e18cc44ff8bdd
505 505 911600dab2ae7a9baff75958b84fe606851ce955
506 506 adding changesets
507 507 bundling changes: 0 chunks
508 508 bundling changes: 1 chunks
509 509 bundling changes: 2 chunks
510 510 bundling changes: 3 chunks
511 511 bundling changes: 4 chunks
512 512 bundling changes: 5 chunks
513 513 bundling changes: 6 chunks
514 514 bundling changes: 7 chunks
515 515 bundling changes: 8 chunks
516 516 bundling changes: 9 chunks
517 517 bundling manifests: 0 chunks
518 518 bundling manifests: 1 chunks
519 519 bundling manifests: 2 chunks
520 520 bundling manifests: 3 chunks
521 521 bundling manifests: 4 chunks
522 522 bundling manifests: 5 chunks
523 523 bundling manifests: 6 chunks
524 524 bundling manifests: 7 chunks
525 525 bundling manifests: 8 chunks
526 526 bundling manifests: 9 chunks
527 527 bundling files: foo/Bar/file.txt 0 chunks
528 528 bundling files: foo/Bar/file.txt 1 chunks
529 529 bundling files: foo/Bar/file.txt 2 chunks
530 530 bundling files: foo/Bar/file.txt 3 chunks
531 531 bundling files: foo/file.txt 4 chunks
532 532 bundling files: foo/file.txt 5 chunks
533 533 bundling files: foo/file.txt 6 chunks
534 534 bundling files: foo/file.txt 7 chunks
535 535 bundling files: quux/file.py 8 chunks
536 536 bundling files: quux/file.py 9 chunks
537 537 bundling files: quux/file.py 10 chunks
538 538 bundling files: quux/file.py 11 chunks
539 539 changesets: 1 chunks
540 540 add changeset ef1ea85a6374
541 541 changesets: 2 chunks
542 542 add changeset f9cafe1212c8
543 543 changesets: 3 chunks
544 544 add changeset 911600dab2ae
545 545 adding manifests
546 546 manifests: 1/3 chunks (33.33%)
547 547 manifests: 2/3 chunks (66.67%)
548 548 manifests: 3/3 chunks (100.00%)
549 549 adding file changes
550 550 adding foo/Bar/file.txt revisions
551 551 files: 1/3 chunks (33.33%)
552 552 adding foo/file.txt revisions
553 553 files: 2/3 chunks (66.67%)
554 554 adding quux/file.py revisions
555 555 files: 3/3 chunks (100.00%)
556 556 added 3 changesets with 3 changes to 3 files
557 557 calling hook pretxnchangegroup.acl: hgext.acl.hook
558 558 acl: acl.allow.branches not enabled
559 559 acl: acl.deny.branches not enabled
560 560 acl: acl.allow enabled, 1 entries for user fred
561 561 acl: acl.deny enabled, 1 entries for user fred
562 562 acl: branch access granted: "ef1ea85a6374" on branch "default"
563 563 acl: allowing changeset ef1ea85a6374
564 564 acl: branch access granted: "f9cafe1212c8" on branch "default"
565 565 acl: allowing changeset f9cafe1212c8
566 566 acl: branch access granted: "911600dab2ae" on branch "default"
567 567 acl: user fred not allowed on quux/file.py
568 568 error: pretxnchangegroup.acl hook failed: acl: access denied for changeset 911600dab2ae
569 569 transaction abort!
570 570 rollback completed
571 571 abort: acl: access denied for changeset 911600dab2ae
572 572 no rollback information available
573 573 0:6675d58eff77
574 574
575 575 fred is allowed inside foo/, but not foo/Bar/
576 576 Pushing as user fred
577 577 hgrc = """
578 578 [hooks]
579 579 pretxnchangegroup.acl = python:hgext.acl.hook
580 580 [acl]
581 581 sources = push
582 582 [acl.allow]
583 583 foo/** = fred
584 584 [acl.deny]
585 585 foo/bar/** = fred
586 586 foo/Bar/** = fred
587 587 """
588 588 pushing to ../b
589 589 searching for changes
590 590 common changesets up to 6675d58eff77
591 591 3 changesets found
592 592 list of changesets:
593 593 ef1ea85a6374b77d6da9dcda9541f498f2d17df7
594 594 f9cafe1212c8c6fa1120d14a556e18cc44ff8bdd
595 595 911600dab2ae7a9baff75958b84fe606851ce955
596 596 adding changesets
597 597 bundling changes: 0 chunks
598 598 bundling changes: 1 chunks
599 599 bundling changes: 2 chunks
600 600 bundling changes: 3 chunks
601 601 bundling changes: 4 chunks
602 602 bundling changes: 5 chunks
603 603 bundling changes: 6 chunks
604 604 bundling changes: 7 chunks
605 605 bundling changes: 8 chunks
606 606 bundling changes: 9 chunks
607 607 bundling manifests: 0 chunks
608 608 bundling manifests: 1 chunks
609 609 bundling manifests: 2 chunks
610 610 bundling manifests: 3 chunks
611 611 bundling manifests: 4 chunks
612 612 bundling manifests: 5 chunks
613 613 bundling manifests: 6 chunks
614 614 bundling manifests: 7 chunks
615 615 bundling manifests: 8 chunks
616 616 bundling manifests: 9 chunks
617 617 bundling files: foo/Bar/file.txt 0 chunks
618 618 bundling files: foo/Bar/file.txt 1 chunks
619 619 bundling files: foo/Bar/file.txt 2 chunks
620 620 bundling files: foo/Bar/file.txt 3 chunks
621 621 bundling files: foo/file.txt 4 chunks
622 622 bundling files: foo/file.txt 5 chunks
623 623 bundling files: foo/file.txt 6 chunks
624 624 bundling files: foo/file.txt 7 chunks
625 625 bundling files: quux/file.py 8 chunks
626 626 bundling files: quux/file.py 9 chunks
627 627 bundling files: quux/file.py 10 chunks
628 628 bundling files: quux/file.py 11 chunks
629 629 changesets: 1 chunks
630 630 add changeset ef1ea85a6374
631 631 changesets: 2 chunks
632 632 add changeset f9cafe1212c8
633 633 changesets: 3 chunks
634 634 add changeset 911600dab2ae
635 635 adding manifests
636 636 manifests: 1/3 chunks (33.33%)
637 637 manifests: 2/3 chunks (66.67%)
638 638 manifests: 3/3 chunks (100.00%)
639 639 adding file changes
640 640 adding foo/Bar/file.txt revisions
641 641 files: 1/3 chunks (33.33%)
642 642 adding foo/file.txt revisions
643 643 files: 2/3 chunks (66.67%)
644 644 adding quux/file.py revisions
645 645 files: 3/3 chunks (100.00%)
646 646 added 3 changesets with 3 changes to 3 files
647 647 calling hook pretxnchangegroup.acl: hgext.acl.hook
648 648 acl: acl.allow.branches not enabled
649 649 acl: acl.deny.branches not enabled
650 650 acl: acl.allow enabled, 1 entries for user fred
651 651 acl: acl.deny enabled, 2 entries for user fred
652 652 acl: branch access granted: "ef1ea85a6374" on branch "default"
653 653 acl: allowing changeset ef1ea85a6374
654 654 acl: branch access granted: "f9cafe1212c8" on branch "default"
655 655 acl: user fred denied on foo/Bar/file.txt
656 656 error: pretxnchangegroup.acl hook failed: acl: access denied for changeset f9cafe1212c8
657 657 transaction abort!
658 658 rollback completed
659 659 abort: acl: access denied for changeset f9cafe1212c8
660 660 no rollback information available
661 661 0:6675d58eff77
662 662
663 663 barney is not mentioned => not allowed anywhere
664 664 Pushing as user barney
665 665 hgrc = """
666 666 [hooks]
667 667 pretxnchangegroup.acl = python:hgext.acl.hook
668 668 [acl]
669 669 sources = push
670 670 [acl.allow]
671 671 foo/** = fred
672 672 [acl.deny]
673 673 foo/bar/** = fred
674 674 foo/Bar/** = fred
675 675 """
676 676 pushing to ../b
677 677 searching for changes
678 678 common changesets up to 6675d58eff77
679 679 3 changesets found
680 680 list of changesets:
681 681 ef1ea85a6374b77d6da9dcda9541f498f2d17df7
682 682 f9cafe1212c8c6fa1120d14a556e18cc44ff8bdd
683 683 911600dab2ae7a9baff75958b84fe606851ce955
684 684 adding changesets
685 685 bundling changes: 0 chunks
686 686 bundling changes: 1 chunks
687 687 bundling changes: 2 chunks
688 688 bundling changes: 3 chunks
689 689 bundling changes: 4 chunks
690 690 bundling changes: 5 chunks
691 691 bundling changes: 6 chunks
692 692 bundling changes: 7 chunks
693 693 bundling changes: 8 chunks
694 694 bundling changes: 9 chunks
695 695 bundling manifests: 0 chunks
696 696 bundling manifests: 1 chunks
697 697 bundling manifests: 2 chunks
698 698 bundling manifests: 3 chunks
699 699 bundling manifests: 4 chunks
700 700 bundling manifests: 5 chunks
701 701 bundling manifests: 6 chunks
702 702 bundling manifests: 7 chunks
703 703 bundling manifests: 8 chunks
704 704 bundling manifests: 9 chunks
705 705 bundling files: foo/Bar/file.txt 0 chunks
706 706 bundling files: foo/Bar/file.txt 1 chunks
707 707 bundling files: foo/Bar/file.txt 2 chunks
708 708 bundling files: foo/Bar/file.txt 3 chunks
709 709 bundling files: foo/file.txt 4 chunks
710 710 bundling files: foo/file.txt 5 chunks
711 711 bundling files: foo/file.txt 6 chunks
712 712 bundling files: foo/file.txt 7 chunks
713 713 bundling files: quux/file.py 8 chunks
714 714 bundling files: quux/file.py 9 chunks
715 715 bundling files: quux/file.py 10 chunks
716 716 bundling files: quux/file.py 11 chunks
717 717 changesets: 1 chunks
718 718 add changeset ef1ea85a6374
719 719 changesets: 2 chunks
720 720 add changeset f9cafe1212c8
721 721 changesets: 3 chunks
722 722 add changeset 911600dab2ae
723 723 adding manifests
724 724 manifests: 1/3 chunks (33.33%)
725 725 manifests: 2/3 chunks (66.67%)
726 726 manifests: 3/3 chunks (100.00%)
727 727 adding file changes
728 728 adding foo/Bar/file.txt revisions
729 729 files: 1/3 chunks (33.33%)
730 730 adding foo/file.txt revisions
731 731 files: 2/3 chunks (66.67%)
732 732 adding quux/file.py revisions
733 733 files: 3/3 chunks (100.00%)
734 734 added 3 changesets with 3 changes to 3 files
735 735 calling hook pretxnchangegroup.acl: hgext.acl.hook
736 736 acl: acl.allow.branches not enabled
737 737 acl: acl.deny.branches not enabled
738 738 acl: acl.allow enabled, 0 entries for user barney
739 739 acl: acl.deny enabled, 0 entries for user barney
740 740 acl: branch access granted: "ef1ea85a6374" on branch "default"
741 741 acl: user barney not allowed on foo/file.txt
742 742 error: pretxnchangegroup.acl hook failed: acl: access denied for changeset ef1ea85a6374
743 743 transaction abort!
744 744 rollback completed
745 745 abort: acl: access denied for changeset ef1ea85a6374
746 746 no rollback information available
747 747 0:6675d58eff77
748 748
749 749 barney is allowed everywhere
750 750 Pushing as user barney
751 751 hgrc = """
752 752 [hooks]
753 753 pretxnchangegroup.acl = python:hgext.acl.hook
754 754 [acl]
755 755 sources = push
756 756 [acl.allow]
757 757 foo/** = fred
758 758 [acl.deny]
759 759 foo/bar/** = fred
760 760 foo/Bar/** = fred
761 761 [acl.allow]
762 762 ** = barney
763 763 """
764 764 pushing to ../b
765 765 searching for changes
766 766 common changesets up to 6675d58eff77
767 767 3 changesets found
768 768 list of changesets:
769 769 ef1ea85a6374b77d6da9dcda9541f498f2d17df7
770 770 f9cafe1212c8c6fa1120d14a556e18cc44ff8bdd
771 771 911600dab2ae7a9baff75958b84fe606851ce955
772 772 adding changesets
773 773 bundling changes: 0 chunks
774 774 bundling changes: 1 chunks
775 775 bundling changes: 2 chunks
776 776 bundling changes: 3 chunks
777 777 bundling changes: 4 chunks
778 778 bundling changes: 5 chunks
779 779 bundling changes: 6 chunks
780 780 bundling changes: 7 chunks
781 781 bundling changes: 8 chunks
782 782 bundling changes: 9 chunks
783 783 bundling manifests: 0 chunks
784 784 bundling manifests: 1 chunks
785 785 bundling manifests: 2 chunks
786 786 bundling manifests: 3 chunks
787 787 bundling manifests: 4 chunks
788 788 bundling manifests: 5 chunks
789 789 bundling manifests: 6 chunks
790 790 bundling manifests: 7 chunks
791 791 bundling manifests: 8 chunks
792 792 bundling manifests: 9 chunks
793 793 bundling files: foo/Bar/file.txt 0 chunks
794 794 bundling files: foo/Bar/file.txt 1 chunks
795 795 bundling files: foo/Bar/file.txt 2 chunks
796 796 bundling files: foo/Bar/file.txt 3 chunks
797 797 bundling files: foo/file.txt 4 chunks
798 798 bundling files: foo/file.txt 5 chunks
799 799 bundling files: foo/file.txt 6 chunks
800 800 bundling files: foo/file.txt 7 chunks
801 801 bundling files: quux/file.py 8 chunks
802 802 bundling files: quux/file.py 9 chunks
803 803 bundling files: quux/file.py 10 chunks
804 804 bundling files: quux/file.py 11 chunks
805 805 changesets: 1 chunks
806 806 add changeset ef1ea85a6374
807 807 changesets: 2 chunks
808 808 add changeset f9cafe1212c8
809 809 changesets: 3 chunks
810 810 add changeset 911600dab2ae
811 811 adding manifests
812 812 manifests: 1/3 chunks (33.33%)
813 813 manifests: 2/3 chunks (66.67%)
814 814 manifests: 3/3 chunks (100.00%)
815 815 adding file changes
816 816 adding foo/Bar/file.txt revisions
817 817 files: 1/3 chunks (33.33%)
818 818 adding foo/file.txt revisions
819 819 files: 2/3 chunks (66.67%)
820 820 adding quux/file.py revisions
821 821 files: 3/3 chunks (100.00%)
822 822 added 3 changesets with 3 changes to 3 files
823 823 calling hook pretxnchangegroup.acl: hgext.acl.hook
824 824 acl: acl.allow.branches not enabled
825 825 acl: acl.deny.branches not enabled
826 826 acl: acl.allow enabled, 1 entries for user barney
827 827 acl: acl.deny enabled, 0 entries for user barney
828 828 acl: branch access granted: "ef1ea85a6374" on branch "default"
829 829 acl: allowing changeset ef1ea85a6374
830 830 acl: branch access granted: "f9cafe1212c8" on branch "default"
831 831 acl: allowing changeset f9cafe1212c8
832 832 acl: branch access granted: "911600dab2ae" on branch "default"
833 833 acl: allowing changeset 911600dab2ae
834 834 updating the branch cache
835 835 rolling back to revision 1 (undo push)
836 836 0:6675d58eff77
837 837
838 838 wilma can change files with a .txt extension
839 839 Pushing as user wilma
840 840 hgrc = """
841 841 [hooks]
842 842 pretxnchangegroup.acl = python:hgext.acl.hook
843 843 [acl]
844 844 sources = push
845 845 [acl.allow]
846 846 foo/** = fred
847 847 [acl.deny]
848 848 foo/bar/** = fred
849 849 foo/Bar/** = fred
850 850 [acl.allow]
851 851 ** = barney
852 852 **/*.txt = wilma
853 853 """
854 854 pushing to ../b
855 855 searching for changes
856 856 common changesets up to 6675d58eff77
857 857 invalidating branch cache (tip differs)
858 858 3 changesets found
859 859 list of changesets:
860 860 ef1ea85a6374b77d6da9dcda9541f498f2d17df7
861 861 f9cafe1212c8c6fa1120d14a556e18cc44ff8bdd
862 862 911600dab2ae7a9baff75958b84fe606851ce955
863 863 adding changesets
864 864 bundling changes: 0 chunks
865 865 bundling changes: 1 chunks
866 866 bundling changes: 2 chunks
867 867 bundling changes: 3 chunks
868 868 bundling changes: 4 chunks
869 869 bundling changes: 5 chunks
870 870 bundling changes: 6 chunks
871 871 bundling changes: 7 chunks
872 872 bundling changes: 8 chunks
873 873 bundling changes: 9 chunks
874 874 bundling manifests: 0 chunks
875 875 bundling manifests: 1 chunks
876 876 bundling manifests: 2 chunks
877 877 bundling manifests: 3 chunks
878 878 bundling manifests: 4 chunks
879 879 bundling manifests: 5 chunks
880 880 bundling manifests: 6 chunks
881 881 bundling manifests: 7 chunks
882 882 bundling manifests: 8 chunks
883 883 bundling manifests: 9 chunks
884 884 bundling files: foo/Bar/file.txt 0 chunks
885 885 bundling files: foo/Bar/file.txt 1 chunks
886 886 bundling files: foo/Bar/file.txt 2 chunks
887 887 bundling files: foo/Bar/file.txt 3 chunks
888 888 bundling files: foo/file.txt 4 chunks
889 889 bundling files: foo/file.txt 5 chunks
890 890 bundling files: foo/file.txt 6 chunks
891 891 bundling files: foo/file.txt 7 chunks
892 892 bundling files: quux/file.py 8 chunks
893 893 bundling files: quux/file.py 9 chunks
894 894 bundling files: quux/file.py 10 chunks
895 895 bundling files: quux/file.py 11 chunks
896 896 changesets: 1 chunks
897 897 add changeset ef1ea85a6374
898 898 changesets: 2 chunks
899 899 add changeset f9cafe1212c8
900 900 changesets: 3 chunks
901 901 add changeset 911600dab2ae
902 902 adding manifests
903 903 manifests: 1/3 chunks (33.33%)
904 904 manifests: 2/3 chunks (66.67%)
905 905 manifests: 3/3 chunks (100.00%)
906 906 adding file changes
907 907 adding foo/Bar/file.txt revisions
908 908 files: 1/3 chunks (33.33%)
909 909 adding foo/file.txt revisions
910 910 files: 2/3 chunks (66.67%)
911 911 adding quux/file.py revisions
912 912 files: 3/3 chunks (100.00%)
913 913 added 3 changesets with 3 changes to 3 files
914 914 calling hook pretxnchangegroup.acl: hgext.acl.hook
915 915 acl: acl.allow.branches not enabled
916 916 acl: acl.deny.branches not enabled
917 917 acl: acl.allow enabled, 1 entries for user wilma
918 918 acl: acl.deny enabled, 0 entries for user wilma
919 919 acl: branch access granted: "ef1ea85a6374" on branch "default"
920 920 acl: allowing changeset ef1ea85a6374
921 921 acl: branch access granted: "f9cafe1212c8" on branch "default"
922 922 acl: allowing changeset f9cafe1212c8
923 923 acl: branch access granted: "911600dab2ae" on branch "default"
924 924 acl: user wilma not allowed on quux/file.py
925 925 error: pretxnchangegroup.acl hook failed: acl: access denied for changeset 911600dab2ae
926 926 transaction abort!
927 927 rollback completed
928 928 abort: acl: access denied for changeset 911600dab2ae
929 929 no rollback information available
930 930 0:6675d58eff77
931 931
932 932 file specified by acl.config does not exist
933 933 Pushing as user barney
934 934 hgrc = """
935 935 [hooks]
936 936 pretxnchangegroup.acl = python:hgext.acl.hook
937 937 [acl]
938 938 sources = push
939 939 [acl.allow]
940 940 foo/** = fred
941 941 [acl.deny]
942 942 foo/bar/** = fred
943 943 foo/Bar/** = fred
944 944 [acl.allow]
945 945 ** = barney
946 946 **/*.txt = wilma
947 947 [acl]
948 948 config = ../acl.config
949 949 """
950 950 pushing to ../b
951 951 searching for changes
952 952 common changesets up to 6675d58eff77
953 953 3 changesets found
954 954 list of changesets:
955 955 ef1ea85a6374b77d6da9dcda9541f498f2d17df7
956 956 f9cafe1212c8c6fa1120d14a556e18cc44ff8bdd
957 957 911600dab2ae7a9baff75958b84fe606851ce955
958 958 adding changesets
959 959 bundling changes: 0 chunks
960 960 bundling changes: 1 chunks
961 961 bundling changes: 2 chunks
962 962 bundling changes: 3 chunks
963 963 bundling changes: 4 chunks
964 964 bundling changes: 5 chunks
965 965 bundling changes: 6 chunks
966 966 bundling changes: 7 chunks
967 967 bundling changes: 8 chunks
968 968 bundling changes: 9 chunks
969 969 bundling manifests: 0 chunks
970 970 bundling manifests: 1 chunks
971 971 bundling manifests: 2 chunks
972 972 bundling manifests: 3 chunks
973 973 bundling manifests: 4 chunks
974 974 bundling manifests: 5 chunks
975 975 bundling manifests: 6 chunks
976 976 bundling manifests: 7 chunks
977 977 bundling manifests: 8 chunks
978 978 bundling manifests: 9 chunks
979 979 bundling files: foo/Bar/file.txt 0 chunks
980 980 bundling files: foo/Bar/file.txt 1 chunks
981 981 bundling files: foo/Bar/file.txt 2 chunks
982 982 bundling files: foo/Bar/file.txt 3 chunks
983 983 bundling files: foo/file.txt 4 chunks
984 984 bundling files: foo/file.txt 5 chunks
985 985 bundling files: foo/file.txt 6 chunks
986 986 bundling files: foo/file.txt 7 chunks
987 987 bundling files: quux/file.py 8 chunks
988 988 bundling files: quux/file.py 9 chunks
989 989 bundling files: quux/file.py 10 chunks
990 990 bundling files: quux/file.py 11 chunks
991 991 changesets: 1 chunks
992 992 add changeset ef1ea85a6374
993 993 changesets: 2 chunks
994 994 add changeset f9cafe1212c8
995 995 changesets: 3 chunks
996 996 add changeset 911600dab2ae
997 997 adding manifests
998 998 manifests: 1/3 chunks (33.33%)
999 999 manifests: 2/3 chunks (66.67%)
1000 1000 manifests: 3/3 chunks (100.00%)
1001 1001 adding file changes
1002 1002 adding foo/Bar/file.txt revisions
1003 1003 files: 1/3 chunks (33.33%)
1004 1004 adding foo/file.txt revisions
1005 1005 files: 2/3 chunks (66.67%)
1006 1006 adding quux/file.py revisions
1007 1007 files: 3/3 chunks (100.00%)
1008 1008 added 3 changesets with 3 changes to 3 files
1009 1009 calling hook pretxnchangegroup.acl: hgext.acl.hook
1010 1010 error: pretxnchangegroup.acl hook raised an exception: [Errno 2] No such file or directory: '../acl.config'
1011 1011 transaction abort!
1012 1012 rollback completed
1013 1013 abort: No such file or directory: ../acl.config
1014 1014 no rollback information available
1015 1015 0:6675d58eff77
1016 1016
1017 1017 betty is allowed inside foo/ by a acl.config file
1018 1018 Pushing as user betty
1019 1019 hgrc = """
1020 1020 [hooks]
1021 1021 pretxnchangegroup.acl = python:hgext.acl.hook
1022 1022 [acl]
1023 1023 sources = push
1024 1024 [acl.allow]
1025 1025 foo/** = fred
1026 1026 [acl.deny]
1027 1027 foo/bar/** = fred
1028 1028 foo/Bar/** = fred
1029 1029 [acl.allow]
1030 1030 ** = barney
1031 1031 **/*.txt = wilma
1032 1032 [acl]
1033 1033 config = ../acl.config
1034 1034 """
1035 1035 acl.config = """
1036 1036 [acl.allow]
1037 1037 foo/** = betty
1038 1038 """
1039 1039 pushing to ../b
1040 1040 searching for changes
1041 1041 common changesets up to 6675d58eff77
1042 1042 3 changesets found
1043 1043 list of changesets:
1044 1044 ef1ea85a6374b77d6da9dcda9541f498f2d17df7
1045 1045 f9cafe1212c8c6fa1120d14a556e18cc44ff8bdd
1046 1046 911600dab2ae7a9baff75958b84fe606851ce955
1047 1047 adding changesets
1048 1048 bundling changes: 0 chunks
1049 1049 bundling changes: 1 chunks
1050 1050 bundling changes: 2 chunks
1051 1051 bundling changes: 3 chunks
1052 1052 bundling changes: 4 chunks
1053 1053 bundling changes: 5 chunks
1054 1054 bundling changes: 6 chunks
1055 1055 bundling changes: 7 chunks
1056 1056 bundling changes: 8 chunks
1057 1057 bundling changes: 9 chunks
1058 1058 bundling manifests: 0 chunks
1059 1059 bundling manifests: 1 chunks
1060 1060 bundling manifests: 2 chunks
1061 1061 bundling manifests: 3 chunks
1062 1062 bundling manifests: 4 chunks
1063 1063 bundling manifests: 5 chunks
1064 1064 bundling manifests: 6 chunks
1065 1065 bundling manifests: 7 chunks
1066 1066 bundling manifests: 8 chunks
1067 1067 bundling manifests: 9 chunks
1068 1068 bundling files: foo/Bar/file.txt 0 chunks
1069 1069 bundling files: foo/Bar/file.txt 1 chunks
1070 1070 bundling files: foo/Bar/file.txt 2 chunks
1071 1071 bundling files: foo/Bar/file.txt 3 chunks
1072 1072 bundling files: foo/file.txt 4 chunks
1073 1073 bundling files: foo/file.txt 5 chunks
1074 1074 bundling files: foo/file.txt 6 chunks
1075 1075 bundling files: foo/file.txt 7 chunks
1076 1076 bundling files: quux/file.py 8 chunks
1077 1077 bundling files: quux/file.py 9 chunks
1078 1078 bundling files: quux/file.py 10 chunks
1079 1079 bundling files: quux/file.py 11 chunks
1080 1080 changesets: 1 chunks
1081 1081 add changeset ef1ea85a6374
1082 1082 changesets: 2 chunks
1083 1083 add changeset f9cafe1212c8
1084 1084 changesets: 3 chunks
1085 1085 add changeset 911600dab2ae
1086 1086 adding manifests
1087 1087 manifests: 1/3 chunks (33.33%)
1088 1088 manifests: 2/3 chunks (66.67%)
1089 1089 manifests: 3/3 chunks (100.00%)
1090 1090 adding file changes
1091 1091 adding foo/Bar/file.txt revisions
1092 1092 files: 1/3 chunks (33.33%)
1093 1093 adding foo/file.txt revisions
1094 1094 files: 2/3 chunks (66.67%)
1095 1095 adding quux/file.py revisions
1096 1096 files: 3/3 chunks (100.00%)
1097 1097 added 3 changesets with 3 changes to 3 files
1098 1098 calling hook pretxnchangegroup.acl: hgext.acl.hook
1099 1099 acl: acl.allow.branches not enabled
1100 1100 acl: acl.deny.branches not enabled
1101 1101 acl: acl.allow enabled, 1 entries for user betty
1102 1102 acl: acl.deny enabled, 0 entries for user betty
1103 1103 acl: branch access granted: "ef1ea85a6374" on branch "default"
1104 1104 acl: allowing changeset ef1ea85a6374
1105 1105 acl: branch access granted: "f9cafe1212c8" on branch "default"
1106 1106 acl: allowing changeset f9cafe1212c8
1107 1107 acl: branch access granted: "911600dab2ae" on branch "default"
1108 1108 acl: user betty not allowed on quux/file.py
1109 1109 error: pretxnchangegroup.acl hook failed: acl: access denied for changeset 911600dab2ae
1110 1110 transaction abort!
1111 1111 rollback completed
1112 1112 abort: acl: access denied for changeset 911600dab2ae
1113 1113 no rollback information available
1114 1114 0:6675d58eff77
1115 1115
1116 1116 acl.config can set only [acl.allow]/[acl.deny]
1117 1117 Pushing as user barney
1118 1118 hgrc = """
1119 1119 [hooks]
1120 1120 pretxnchangegroup.acl = python:hgext.acl.hook
1121 1121 [acl]
1122 1122 sources = push
1123 1123 [acl.allow]
1124 1124 foo/** = fred
1125 1125 [acl.deny]
1126 1126 foo/bar/** = fred
1127 1127 foo/Bar/** = fred
1128 1128 [acl.allow]
1129 1129 ** = barney
1130 1130 **/*.txt = wilma
1131 1131 [acl]
1132 1132 config = ../acl.config
1133 1133 """
1134 1134 acl.config = """
1135 1135 [acl.allow]
1136 1136 foo/** = betty
1137 1137 [hooks]
1138 1138 changegroup.acl = false
1139 1139 """
1140 1140 pushing to ../b
1141 1141 searching for changes
1142 1142 common changesets up to 6675d58eff77
1143 1143 3 changesets found
1144 1144 list of changesets:
1145 1145 ef1ea85a6374b77d6da9dcda9541f498f2d17df7
1146 1146 f9cafe1212c8c6fa1120d14a556e18cc44ff8bdd
1147 1147 911600dab2ae7a9baff75958b84fe606851ce955
1148 1148 adding changesets
1149 1149 bundling changes: 0 chunks
1150 1150 bundling changes: 1 chunks
1151 1151 bundling changes: 2 chunks
1152 1152 bundling changes: 3 chunks
1153 1153 bundling changes: 4 chunks
1154 1154 bundling changes: 5 chunks
1155 1155 bundling changes: 6 chunks
1156 1156 bundling changes: 7 chunks
1157 1157 bundling changes: 8 chunks
1158 1158 bundling changes: 9 chunks
1159 1159 bundling manifests: 0 chunks
1160 1160 bundling manifests: 1 chunks
1161 1161 bundling manifests: 2 chunks
1162 1162 bundling manifests: 3 chunks
1163 1163 bundling manifests: 4 chunks
1164 1164 bundling manifests: 5 chunks
1165 1165 bundling manifests: 6 chunks
1166 1166 bundling manifests: 7 chunks
1167 1167 bundling manifests: 8 chunks
1168 1168 bundling manifests: 9 chunks
1169 1169 bundling files: foo/Bar/file.txt 0 chunks
1170 1170 bundling files: foo/Bar/file.txt 1 chunks
1171 1171 bundling files: foo/Bar/file.txt 2 chunks
1172 1172 bundling files: foo/Bar/file.txt 3 chunks
1173 1173 bundling files: foo/file.txt 4 chunks
1174 1174 bundling files: foo/file.txt 5 chunks
1175 1175 bundling files: foo/file.txt 6 chunks
1176 1176 bundling files: foo/file.txt 7 chunks
1177 1177 bundling files: quux/file.py 8 chunks
1178 1178 bundling files: quux/file.py 9 chunks
1179 1179 bundling files: quux/file.py 10 chunks
1180 1180 bundling files: quux/file.py 11 chunks
1181 1181 changesets: 1 chunks
1182 1182 add changeset ef1ea85a6374
1183 1183 changesets: 2 chunks
1184 1184 add changeset f9cafe1212c8
1185 1185 changesets: 3 chunks
1186 1186 add changeset 911600dab2ae
1187 1187 adding manifests
1188 1188 manifests: 1/3 chunks (33.33%)
1189 1189 manifests: 2/3 chunks (66.67%)
1190 1190 manifests: 3/3 chunks (100.00%)
1191 1191 adding file changes
1192 1192 adding foo/Bar/file.txt revisions
1193 1193 files: 1/3 chunks (33.33%)
1194 1194 adding foo/file.txt revisions
1195 1195 files: 2/3 chunks (66.67%)
1196 1196 adding quux/file.py revisions
1197 1197 files: 3/3 chunks (100.00%)
1198 1198 added 3 changesets with 3 changes to 3 files
1199 1199 calling hook pretxnchangegroup.acl: hgext.acl.hook
1200 1200 acl: acl.allow.branches not enabled
1201 1201 acl: acl.deny.branches not enabled
1202 1202 acl: acl.allow enabled, 1 entries for user barney
1203 1203 acl: acl.deny enabled, 0 entries for user barney
1204 1204 acl: branch access granted: "ef1ea85a6374" on branch "default"
1205 1205 acl: allowing changeset ef1ea85a6374
1206 1206 acl: branch access granted: "f9cafe1212c8" on branch "default"
1207 1207 acl: allowing changeset f9cafe1212c8
1208 1208 acl: branch access granted: "911600dab2ae" on branch "default"
1209 1209 acl: allowing changeset 911600dab2ae
1210 1210 updating the branch cache
1211 1211 rolling back to revision 1 (undo push)
1212 1212 0:6675d58eff77
1213 1213
1214 1214 asterisk test
1215 1215 fred is always allowed
1216 1216 Pushing as user fred
1217 1217 hgrc = """
1218 1218 [acl]
1219 1219 sources = push
1220 1220 [extensions]
1221 1221 [acl.allow]
1222 1222 ** = fred
1223 1223 """
1224 1224 pushing to ../b
1225 1225 searching for changes
1226 1226 common changesets up to 6675d58eff77
1227 1227 invalidating branch cache (tip differs)
1228 1228 3 changesets found
1229 1229 list of changesets:
1230 1230 ef1ea85a6374b77d6da9dcda9541f498f2d17df7
1231 1231 f9cafe1212c8c6fa1120d14a556e18cc44ff8bdd
1232 1232 911600dab2ae7a9baff75958b84fe606851ce955
1233 1233 adding changesets
1234 1234 bundling changes: 0 chunks
1235 1235 bundling changes: 1 chunks
1236 1236 bundling changes: 2 chunks
1237 1237 bundling changes: 3 chunks
1238 1238 bundling changes: 4 chunks
1239 1239 bundling changes: 5 chunks
1240 1240 bundling changes: 6 chunks
1241 1241 bundling changes: 7 chunks
1242 1242 bundling changes: 8 chunks
1243 1243 bundling changes: 9 chunks
1244 1244 bundling manifests: 0 chunks
1245 1245 bundling manifests: 1 chunks
1246 1246 bundling manifests: 2 chunks
1247 1247 bundling manifests: 3 chunks
1248 1248 bundling manifests: 4 chunks
1249 1249 bundling manifests: 5 chunks
1250 1250 bundling manifests: 6 chunks
1251 1251 bundling manifests: 7 chunks
1252 1252 bundling manifests: 8 chunks
1253 1253 bundling manifests: 9 chunks
1254 1254 bundling files: foo/Bar/file.txt 0 chunks
1255 1255 bundling files: foo/Bar/file.txt 1 chunks
1256 1256 bundling files: foo/Bar/file.txt 2 chunks
1257 1257 bundling files: foo/Bar/file.txt 3 chunks
1258 1258 bundling files: foo/file.txt 4 chunks
1259 1259 bundling files: foo/file.txt 5 chunks
1260 1260 bundling files: foo/file.txt 6 chunks
1261 1261 bundling files: foo/file.txt 7 chunks
1262 1262 bundling files: quux/file.py 8 chunks
1263 1263 bundling files: quux/file.py 9 chunks
1264 1264 bundling files: quux/file.py 10 chunks
1265 1265 bundling files: quux/file.py 11 chunks
1266 1266 changesets: 1 chunks
1267 1267 add changeset ef1ea85a6374
1268 1268 changesets: 2 chunks
1269 1269 add changeset f9cafe1212c8
1270 1270 changesets: 3 chunks
1271 1271 add changeset 911600dab2ae
1272 1272 adding manifests
1273 1273 manifests: 1/3 chunks (33.33%)
1274 1274 manifests: 2/3 chunks (66.67%)
1275 1275 manifests: 3/3 chunks (100.00%)
1276 1276 adding file changes
1277 1277 adding foo/Bar/file.txt revisions
1278 1278 files: 1/3 chunks (33.33%)
1279 1279 adding foo/file.txt revisions
1280 1280 files: 2/3 chunks (66.67%)
1281 1281 adding quux/file.py revisions
1282 1282 files: 3/3 chunks (100.00%)
1283 1283 added 3 changesets with 3 changes to 3 files
1284 1284 calling hook pretxnchangegroup.acl: hgext.acl.hook
1285 1285 acl: acl.allow.branches not enabled
1286 1286 acl: acl.deny.branches not enabled
1287 1287 acl: acl.allow enabled, 1 entries for user fred
1288 1288 acl: acl.deny not enabled
1289 1289 acl: branch access granted: "ef1ea85a6374" on branch "default"
1290 1290 acl: allowing changeset ef1ea85a6374
1291 1291 acl: branch access granted: "f9cafe1212c8" on branch "default"
1292 1292 acl: allowing changeset f9cafe1212c8
1293 1293 acl: branch access granted: "911600dab2ae" on branch "default"
1294 1294 acl: allowing changeset 911600dab2ae
1295 1295 updating the branch cache
1296 1296 rolling back to revision 1 (undo push)
1297 1297 0:6675d58eff77
1298 1298
1299 1299 no one is allowed inside foo/Bar/
1300 1300 Pushing as user fred
1301 1301 hgrc = """
1302 1302 [acl]
1303 1303 sources = push
1304 1304 [extensions]
1305 1305 [acl.allow]
1306 1306 ** = fred
1307 1307 [acl.deny]
1308 1308 foo/Bar/** = *
1309 1309 """
1310 1310 pushing to ../b
1311 1311 searching for changes
1312 1312 common changesets up to 6675d58eff77
1313 1313 invalidating branch cache (tip differs)
1314 1314 3 changesets found
1315 1315 list of changesets:
1316 1316 ef1ea85a6374b77d6da9dcda9541f498f2d17df7
1317 1317 f9cafe1212c8c6fa1120d14a556e18cc44ff8bdd
1318 1318 911600dab2ae7a9baff75958b84fe606851ce955
1319 1319 adding changesets
1320 1320 bundling changes: 0 chunks
1321 1321 bundling changes: 1 chunks
1322 1322 bundling changes: 2 chunks
1323 1323 bundling changes: 3 chunks
1324 1324 bundling changes: 4 chunks
1325 1325 bundling changes: 5 chunks
1326 1326 bundling changes: 6 chunks
1327 1327 bundling changes: 7 chunks
1328 1328 bundling changes: 8 chunks
1329 1329 bundling changes: 9 chunks
1330 1330 bundling manifests: 0 chunks
1331 1331 bundling manifests: 1 chunks
1332 1332 bundling manifests: 2 chunks
1333 1333 bundling manifests: 3 chunks
1334 1334 bundling manifests: 4 chunks
1335 1335 bundling manifests: 5 chunks
1336 1336 bundling manifests: 6 chunks
1337 1337 bundling manifests: 7 chunks
1338 1338 bundling manifests: 8 chunks
1339 1339 bundling manifests: 9 chunks
1340 1340 bundling files: foo/Bar/file.txt 0 chunks
1341 1341 bundling files: foo/Bar/file.txt 1 chunks
1342 1342 bundling files: foo/Bar/file.txt 2 chunks
1343 1343 bundling files: foo/Bar/file.txt 3 chunks
1344 1344 bundling files: foo/file.txt 4 chunks
1345 1345 bundling files: foo/file.txt 5 chunks
1346 1346 bundling files: foo/file.txt 6 chunks
1347 1347 bundling files: foo/file.txt 7 chunks
1348 1348 bundling files: quux/file.py 8 chunks
1349 1349 bundling files: quux/file.py 9 chunks
1350 1350 bundling files: quux/file.py 10 chunks
1351 1351 bundling files: quux/file.py 11 chunks
1352 1352 changesets: 1 chunks
1353 1353 add changeset ef1ea85a6374
1354 1354 changesets: 2 chunks
1355 1355 add changeset f9cafe1212c8
1356 1356 changesets: 3 chunks
1357 1357 add changeset 911600dab2ae
1358 1358 adding manifests
1359 1359 manifests: 1/3 chunks (33.33%)
1360 1360 manifests: 2/3 chunks (66.67%)
1361 1361 manifests: 3/3 chunks (100.00%)
1362 1362 adding file changes
1363 1363 adding foo/Bar/file.txt revisions
1364 1364 files: 1/3 chunks (33.33%)
1365 1365 adding foo/file.txt revisions
1366 1366 files: 2/3 chunks (66.67%)
1367 1367 adding quux/file.py revisions
1368 1368 files: 3/3 chunks (100.00%)
1369 1369 added 3 changesets with 3 changes to 3 files
1370 1370 calling hook pretxnchangegroup.acl: hgext.acl.hook
1371 1371 acl: acl.allow.branches not enabled
1372 1372 acl: acl.deny.branches not enabled
1373 1373 acl: acl.allow enabled, 1 entries for user fred
1374 1374 acl: acl.deny enabled, 1 entries for user fred
1375 1375 acl: branch access granted: "ef1ea85a6374" on branch "default"
1376 1376 acl: allowing changeset ef1ea85a6374
1377 1377 acl: branch access granted: "f9cafe1212c8" on branch "default"
1378 1378 acl: user fred denied on foo/Bar/file.txt
1379 1379 error: pretxnchangegroup.acl hook failed: acl: access denied for changeset f9cafe1212c8
1380 1380 transaction abort!
1381 1381 rollback completed
1382 1382 abort: acl: access denied for changeset f9cafe1212c8
1383 1383 no rollback information available
1384 1384 0:6675d58eff77
1385 1385
1386 1386 OS-level groups
1387 1387 @group1 is always allowed
1388 1388 Pushing as user fred
1389 1389 hgrc = """
1390 1390 [acl]
1391 1391 sources = push
1392 1392 [extensions]
1393 1393 [acl.allow]
1394 1394 ** = @group1
1395 1395 """
1396 1396 pushing to ../b
1397 1397 searching for changes
1398 1398 common changesets up to 6675d58eff77
1399 1399 3 changesets found
1400 1400 list of changesets:
1401 1401 ef1ea85a6374b77d6da9dcda9541f498f2d17df7
1402 1402 f9cafe1212c8c6fa1120d14a556e18cc44ff8bdd
1403 1403 911600dab2ae7a9baff75958b84fe606851ce955
1404 1404 adding changesets
1405 1405 bundling changes: 0 chunks
1406 1406 bundling changes: 1 chunks
1407 1407 bundling changes: 2 chunks
1408 1408 bundling changes: 3 chunks
1409 1409 bundling changes: 4 chunks
1410 1410 bundling changes: 5 chunks
1411 1411 bundling changes: 6 chunks
1412 1412 bundling changes: 7 chunks
1413 1413 bundling changes: 8 chunks
1414 1414 bundling changes: 9 chunks
1415 1415 bundling manifests: 0 chunks
1416 1416 bundling manifests: 1 chunks
1417 1417 bundling manifests: 2 chunks
1418 1418 bundling manifests: 3 chunks
1419 1419 bundling manifests: 4 chunks
1420 1420 bundling manifests: 5 chunks
1421 1421 bundling manifests: 6 chunks
1422 1422 bundling manifests: 7 chunks
1423 1423 bundling manifests: 8 chunks
1424 1424 bundling manifests: 9 chunks
1425 1425 bundling files: foo/Bar/file.txt 0 chunks
1426 1426 bundling files: foo/Bar/file.txt 1 chunks
1427 1427 bundling files: foo/Bar/file.txt 2 chunks
1428 1428 bundling files: foo/Bar/file.txt 3 chunks
1429 1429 bundling files: foo/file.txt 4 chunks
1430 1430 bundling files: foo/file.txt 5 chunks
1431 1431 bundling files: foo/file.txt 6 chunks
1432 1432 bundling files: foo/file.txt 7 chunks
1433 1433 bundling files: quux/file.py 8 chunks
1434 1434 bundling files: quux/file.py 9 chunks
1435 1435 bundling files: quux/file.py 10 chunks
1436 1436 bundling files: quux/file.py 11 chunks
1437 1437 changesets: 1 chunks
1438 1438 add changeset ef1ea85a6374
1439 1439 changesets: 2 chunks
1440 1440 add changeset f9cafe1212c8
1441 1441 changesets: 3 chunks
1442 1442 add changeset 911600dab2ae
1443 1443 adding manifests
1444 1444 manifests: 1/3 chunks (33.33%)
1445 1445 manifests: 2/3 chunks (66.67%)
1446 1446 manifests: 3/3 chunks (100.00%)
1447 1447 adding file changes
1448 1448 adding foo/Bar/file.txt revisions
1449 1449 files: 1/3 chunks (33.33%)
1450 1450 adding foo/file.txt revisions
1451 1451 files: 2/3 chunks (66.67%)
1452 1452 adding quux/file.py revisions
1453 1453 files: 3/3 chunks (100.00%)
1454 1454 added 3 changesets with 3 changes to 3 files
1455 1455 calling hook pretxnchangegroup.acl: hgext.acl.hook
1456 1456 acl: acl.allow.branches not enabled
1457 1457 acl: acl.deny.branches not enabled
1458 acl: "group1" not defined in [acl.groups]
1458 1459 acl: acl.allow enabled, 1 entries for user fred
1459 1460 acl: acl.deny not enabled
1460 1461 acl: branch access granted: "ef1ea85a6374" on branch "default"
1461 1462 acl: allowing changeset ef1ea85a6374
1462 1463 acl: branch access granted: "f9cafe1212c8" on branch "default"
1463 1464 acl: allowing changeset f9cafe1212c8
1464 1465 acl: branch access granted: "911600dab2ae" on branch "default"
1465 1466 acl: allowing changeset 911600dab2ae
1466 1467 updating the branch cache
1467 1468 rolling back to revision 1 (undo push)
1468 1469 0:6675d58eff77
1469 1470
1470 1471 @group is allowed inside anything but foo/Bar/
1471 1472 Pushing as user fred
1472 1473 hgrc = """
1473 1474 [acl]
1474 1475 sources = push
1475 1476 [extensions]
1476 1477 [acl.allow]
1477 1478 ** = @group1
1478 1479 [acl.deny]
1479 1480 foo/Bar/** = @group1
1480 1481 """
1481 1482 pushing to ../b
1482 1483 searching for changes
1483 1484 common changesets up to 6675d58eff77
1484 1485 invalidating branch cache (tip differs)
1485 1486 3 changesets found
1486 1487 list of changesets:
1487 1488 ef1ea85a6374b77d6da9dcda9541f498f2d17df7
1488 1489 f9cafe1212c8c6fa1120d14a556e18cc44ff8bdd
1489 1490 911600dab2ae7a9baff75958b84fe606851ce955
1490 1491 adding changesets
1491 1492 bundling changes: 0 chunks
1492 1493 bundling changes: 1 chunks
1493 1494 bundling changes: 2 chunks
1494 1495 bundling changes: 3 chunks
1495 1496 bundling changes: 4 chunks
1496 1497 bundling changes: 5 chunks
1497 1498 bundling changes: 6 chunks
1498 1499 bundling changes: 7 chunks
1499 1500 bundling changes: 8 chunks
1500 1501 bundling changes: 9 chunks
1501 1502 bundling manifests: 0 chunks
1502 1503 bundling manifests: 1 chunks
1503 1504 bundling manifests: 2 chunks
1504 1505 bundling manifests: 3 chunks
1505 1506 bundling manifests: 4 chunks
1506 1507 bundling manifests: 5 chunks
1507 1508 bundling manifests: 6 chunks
1508 1509 bundling manifests: 7 chunks
1509 1510 bundling manifests: 8 chunks
1510 1511 bundling manifests: 9 chunks
1511 1512 bundling files: foo/Bar/file.txt 0 chunks
1512 1513 bundling files: foo/Bar/file.txt 1 chunks
1513 1514 bundling files: foo/Bar/file.txt 2 chunks
1514 1515 bundling files: foo/Bar/file.txt 3 chunks
1515 1516 bundling files: foo/file.txt 4 chunks
1516 1517 bundling files: foo/file.txt 5 chunks
1517 1518 bundling files: foo/file.txt 6 chunks
1518 1519 bundling files: foo/file.txt 7 chunks
1519 1520 bundling files: quux/file.py 8 chunks
1520 1521 bundling files: quux/file.py 9 chunks
1521 1522 bundling files: quux/file.py 10 chunks
1522 1523 bundling files: quux/file.py 11 chunks
1523 1524 changesets: 1 chunks
1524 1525 add changeset ef1ea85a6374
1525 1526 changesets: 2 chunks
1526 1527 add changeset f9cafe1212c8
1527 1528 changesets: 3 chunks
1528 1529 add changeset 911600dab2ae
1529 1530 adding manifests
1530 1531 manifests: 1/3 chunks (33.33%)
1531 1532 manifests: 2/3 chunks (66.67%)
1532 1533 manifests: 3/3 chunks (100.00%)
1533 1534 adding file changes
1534 1535 adding foo/Bar/file.txt revisions
1535 1536 files: 1/3 chunks (33.33%)
1536 1537 adding foo/file.txt revisions
1537 1538 files: 2/3 chunks (66.67%)
1538 1539 adding quux/file.py revisions
1539 1540 files: 3/3 chunks (100.00%)
1540 1541 added 3 changesets with 3 changes to 3 files
1541 1542 calling hook pretxnchangegroup.acl: hgext.acl.hook
1542 1543 acl: acl.allow.branches not enabled
1543 1544 acl: acl.deny.branches not enabled
1545 acl: "group1" not defined in [acl.groups]
1544 1546 acl: acl.allow enabled, 1 entries for user fred
1547 acl: "group1" not defined in [acl.groups]
1545 1548 acl: acl.deny enabled, 1 entries for user fred
1546 1549 acl: branch access granted: "ef1ea85a6374" on branch "default"
1547 1550 acl: allowing changeset ef1ea85a6374
1548 1551 acl: branch access granted: "f9cafe1212c8" on branch "default"
1549 1552 acl: user fred denied on foo/Bar/file.txt
1550 1553 error: pretxnchangegroup.acl hook failed: acl: access denied for changeset f9cafe1212c8
1551 1554 transaction abort!
1552 1555 rollback completed
1553 1556 abort: acl: access denied for changeset f9cafe1212c8
1554 1557 no rollback information available
1555 1558 0:6675d58eff77
1556 1559
General Comments 0
You need to be logged in to leave comments. Login now