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