view tests/test-acl.out @ 12252:4481f8a93c7a stable

convert/darcs: handle non-ASCII metadata in darcs changelog (issue2354) Given a commit author or message with non-ASCII characters in a darcs repo, convert would raise a UnicodeEncodeError when adding changesets to the hg changelog. This happened because etree returns back unicode objects for any text it can't encode into ASCII. convert was passing these objects to changelog.add(), which would then attempt encoding.fromlocal() on them. This patch ensures converter_source.recode() is called on each piece of commit data returned by etree. (Also note that darcs is currently encoding agnostic and will print out whatever is in a patch's metadata byte-for-byte, even in the XML changelog.)
author Brodie Rao <brodie@bitheap.org>
date Fri, 10 Sep 2010 09:30:50 -0500
parents 39e7f14a8286
children
line wrap: on
line source

3:911600dab2ae
requesting all changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 3 changes to 3 files
updating to branch default
3 files updated, 0 files merged, 0 files removed, 0 files unresolved

Extension disabled for lack of a hook
Pushing as user fred
hgrc = """
"""
pushing to ../b
searching for changes
common changesets up to 6675d58eff77
3 changesets found
list of changesets:
ef1ea85a6374b77d6da9dcda9541f498f2d17df7
f9cafe1212c8c6fa1120d14a556e18cc44ff8bdd
911600dab2ae7a9baff75958b84fe606851ce955
adding changesets
bundling changes: 0 chunks
bundling changes: 1 chunks
bundling changes: 2 chunks
bundling changes: 3 chunks
bundling changes: 4 chunks
bundling changes: 5 chunks
bundling changes: 6 chunks
bundling changes: 7 chunks
bundling changes: 8 chunks
bundling changes: 9 chunks
bundling manifests: 0 chunks
bundling manifests: 1 chunks
bundling manifests: 2 chunks
bundling manifests: 3 chunks
bundling manifests: 4 chunks
bundling manifests: 5 chunks
bundling manifests: 6 chunks
bundling manifests: 7 chunks
bundling manifests: 8 chunks
bundling manifests: 9 chunks
bundling files: foo/Bar/file.txt 0 chunks
bundling files: foo/Bar/file.txt 1 chunks
bundling files: foo/Bar/file.txt 2 chunks
bundling files: foo/Bar/file.txt 3 chunks
bundling files: foo/file.txt 4 chunks
bundling files: foo/file.txt 5 chunks
bundling files: foo/file.txt 6 chunks
bundling files: foo/file.txt 7 chunks
bundling files: quux/file.py 8 chunks
bundling files: quux/file.py 9 chunks
bundling files: quux/file.py 10 chunks
bundling files: quux/file.py 11 chunks
changesets: 1 chunks
add changeset ef1ea85a6374
changesets: 2 chunks
add changeset f9cafe1212c8
changesets: 3 chunks
add changeset 911600dab2ae
adding manifests
manifests: 1/3 chunks (33.33%)
manifests: 2/3 chunks (66.67%)
manifests: 3/3 chunks (100.00%)
adding file changes
adding foo/Bar/file.txt revisions
files: 1/3 chunks (33.33%)
adding foo/file.txt revisions
files: 2/3 chunks (66.67%)
adding quux/file.py revisions
files: 3/3 chunks (100.00%)
added 3 changesets with 3 changes to 3 files
updating the branch cache
rolling back to revision 0 (undo push)
0:6675d58eff77

Extension disabled for lack of acl.sources
Pushing as user fred
hgrc = """
[hooks]
pretxnchangegroup.acl = python:hgext.acl.hook
"""
pushing to ../b
searching for changes
common changesets up to 6675d58eff77
invalidating branch cache (tip differs)
3 changesets found
list of changesets:
ef1ea85a6374b77d6da9dcda9541f498f2d17df7
f9cafe1212c8c6fa1120d14a556e18cc44ff8bdd
911600dab2ae7a9baff75958b84fe606851ce955
adding changesets
bundling changes: 0 chunks
bundling changes: 1 chunks
bundling changes: 2 chunks
bundling changes: 3 chunks
bundling changes: 4 chunks
bundling changes: 5 chunks
bundling changes: 6 chunks
bundling changes: 7 chunks
bundling changes: 8 chunks
bundling changes: 9 chunks
bundling manifests: 0 chunks
bundling manifests: 1 chunks
bundling manifests: 2 chunks
bundling manifests: 3 chunks
bundling manifests: 4 chunks
bundling manifests: 5 chunks
bundling manifests: 6 chunks
bundling manifests: 7 chunks
bundling manifests: 8 chunks
bundling manifests: 9 chunks
bundling files: foo/Bar/file.txt 0 chunks
bundling files: foo/Bar/file.txt 1 chunks
bundling files: foo/Bar/file.txt 2 chunks
bundling files: foo/Bar/file.txt 3 chunks
bundling files: foo/file.txt 4 chunks
bundling files: foo/file.txt 5 chunks
bundling files: foo/file.txt 6 chunks
bundling files: foo/file.txt 7 chunks
bundling files: quux/file.py 8 chunks
bundling files: quux/file.py 9 chunks
bundling files: quux/file.py 10 chunks
bundling files: quux/file.py 11 chunks
changesets: 1 chunks
add changeset ef1ea85a6374
changesets: 2 chunks
add changeset f9cafe1212c8
changesets: 3 chunks
add changeset 911600dab2ae
adding manifests
manifests: 1/3 chunks (33.33%)
manifests: 2/3 chunks (66.67%)
manifests: 3/3 chunks (100.00%)
adding file changes
adding foo/Bar/file.txt revisions
files: 1/3 chunks (33.33%)
adding foo/file.txt revisions
files: 2/3 chunks (66.67%)
adding quux/file.py revisions
files: 3/3 chunks (100.00%)
added 3 changesets with 3 changes to 3 files
calling hook pretxnchangegroup.acl: hgext.acl.hook
acl: changes have source "push" - skipping
updating the branch cache
rolling back to revision 0 (undo push)
0:6675d58eff77

No [acl.allow]/[acl.deny]
Pushing as user fred
hgrc = """
[hooks]
pretxnchangegroup.acl = python:hgext.acl.hook
[acl]
sources = push
"""
pushing to ../b
searching for changes
common changesets up to 6675d58eff77
invalidating branch cache (tip differs)
3 changesets found
list of changesets:
ef1ea85a6374b77d6da9dcda9541f498f2d17df7
f9cafe1212c8c6fa1120d14a556e18cc44ff8bdd
911600dab2ae7a9baff75958b84fe606851ce955
adding changesets
bundling changes: 0 chunks
bundling changes: 1 chunks
bundling changes: 2 chunks
bundling changes: 3 chunks
bundling changes: 4 chunks
bundling changes: 5 chunks
bundling changes: 6 chunks
bundling changes: 7 chunks
bundling changes: 8 chunks
bundling changes: 9 chunks
bundling manifests: 0 chunks
bundling manifests: 1 chunks
bundling manifests: 2 chunks
bundling manifests: 3 chunks
bundling manifests: 4 chunks
bundling manifests: 5 chunks
bundling manifests: 6 chunks
bundling manifests: 7 chunks
bundling manifests: 8 chunks
bundling manifests: 9 chunks
bundling files: foo/Bar/file.txt 0 chunks
bundling files: foo/Bar/file.txt 1 chunks
bundling files: foo/Bar/file.txt 2 chunks
bundling files: foo/Bar/file.txt 3 chunks
bundling files: foo/file.txt 4 chunks
bundling files: foo/file.txt 5 chunks
bundling files: foo/file.txt 6 chunks
bundling files: foo/file.txt 7 chunks
bundling files: quux/file.py 8 chunks
bundling files: quux/file.py 9 chunks
bundling files: quux/file.py 10 chunks
bundling files: quux/file.py 11 chunks
changesets: 1 chunks
add changeset ef1ea85a6374
changesets: 2 chunks
add changeset f9cafe1212c8
changesets: 3 chunks
add changeset 911600dab2ae
adding manifests
manifests: 1/3 chunks (33.33%)
manifests: 2/3 chunks (66.67%)
manifests: 3/3 chunks (100.00%)
adding file changes
adding foo/Bar/file.txt revisions
files: 1/3 chunks (33.33%)
adding foo/file.txt revisions
files: 2/3 chunks (66.67%)
adding quux/file.py revisions
files: 3/3 chunks (100.00%)
added 3 changesets with 3 changes to 3 files
calling hook pretxnchangegroup.acl: hgext.acl.hook
acl: acl.allow.branches not enabled
acl: acl.deny.branches not enabled
acl: acl.allow not enabled
acl: acl.deny not enabled
acl: branch access granted: "ef1ea85a6374" on branch "default"
acl: allowing changeset ef1ea85a6374
acl: branch access granted: "f9cafe1212c8" on branch "default"
acl: allowing changeset f9cafe1212c8
acl: branch access granted: "911600dab2ae" on branch "default"
acl: allowing changeset 911600dab2ae
updating the branch cache
rolling back to revision 0 (undo push)
0:6675d58eff77

Empty [acl.allow]
Pushing as user fred
hgrc = """
[hooks]
pretxnchangegroup.acl = python:hgext.acl.hook
[acl]
sources = push
[acl.allow]
"""
pushing to ../b
searching for changes
common changesets up to 6675d58eff77
invalidating branch cache (tip differs)
3 changesets found
list of changesets:
ef1ea85a6374b77d6da9dcda9541f498f2d17df7
f9cafe1212c8c6fa1120d14a556e18cc44ff8bdd
911600dab2ae7a9baff75958b84fe606851ce955
adding changesets
bundling changes: 0 chunks
bundling changes: 1 chunks
bundling changes: 2 chunks
bundling changes: 3 chunks
bundling changes: 4 chunks
bundling changes: 5 chunks
bundling changes: 6 chunks
bundling changes: 7 chunks
bundling changes: 8 chunks
bundling changes: 9 chunks
bundling manifests: 0 chunks
bundling manifests: 1 chunks
bundling manifests: 2 chunks
bundling manifests: 3 chunks
bundling manifests: 4 chunks
bundling manifests: 5 chunks
bundling manifests: 6 chunks
bundling manifests: 7 chunks
bundling manifests: 8 chunks
bundling manifests: 9 chunks
bundling files: foo/Bar/file.txt 0 chunks
bundling files: foo/Bar/file.txt 1 chunks
bundling files: foo/Bar/file.txt 2 chunks
bundling files: foo/Bar/file.txt 3 chunks
bundling files: foo/file.txt 4 chunks
bundling files: foo/file.txt 5 chunks
bundling files: foo/file.txt 6 chunks
bundling files: foo/file.txt 7 chunks
bundling files: quux/file.py 8 chunks
bundling files: quux/file.py 9 chunks
bundling files: quux/file.py 10 chunks
bundling files: quux/file.py 11 chunks
changesets: 1 chunks
add changeset ef1ea85a6374
changesets: 2 chunks
add changeset f9cafe1212c8
changesets: 3 chunks
add changeset 911600dab2ae
adding manifests
manifests: 1/3 chunks (33.33%)
manifests: 2/3 chunks (66.67%)
manifests: 3/3 chunks (100.00%)
adding file changes
adding foo/Bar/file.txt revisions
files: 1/3 chunks (33.33%)
adding foo/file.txt revisions
files: 2/3 chunks (66.67%)
adding quux/file.py revisions
files: 3/3 chunks (100.00%)
added 3 changesets with 3 changes to 3 files
calling hook pretxnchangegroup.acl: hgext.acl.hook
acl: acl.allow.branches not enabled
acl: acl.deny.branches not enabled
acl: acl.allow enabled, 0 entries for user fred
acl: acl.deny not enabled
acl: branch access granted: "ef1ea85a6374" on branch "default"
acl: user fred not allowed on foo/file.txt
error: pretxnchangegroup.acl hook failed: acl: access denied for changeset ef1ea85a6374
transaction abort!
rollback completed
abort: acl: access denied for changeset ef1ea85a6374
no rollback information available
0:6675d58eff77

fred is allowed inside foo/
Pushing as user fred
hgrc = """
[hooks]
pretxnchangegroup.acl = python:hgext.acl.hook
[acl]
sources = push
[acl.allow]
foo/** = fred
"""
pushing to ../b
searching for changes
common changesets up to 6675d58eff77
3 changesets found
list of changesets:
ef1ea85a6374b77d6da9dcda9541f498f2d17df7
f9cafe1212c8c6fa1120d14a556e18cc44ff8bdd
911600dab2ae7a9baff75958b84fe606851ce955
adding changesets
bundling changes: 0 chunks
bundling changes: 1 chunks
bundling changes: 2 chunks
bundling changes: 3 chunks
bundling changes: 4 chunks
bundling changes: 5 chunks
bundling changes: 6 chunks
bundling changes: 7 chunks
bundling changes: 8 chunks
bundling changes: 9 chunks
bundling manifests: 0 chunks
bundling manifests: 1 chunks
bundling manifests: 2 chunks
bundling manifests: 3 chunks
bundling manifests: 4 chunks
bundling manifests: 5 chunks
bundling manifests: 6 chunks
bundling manifests: 7 chunks
bundling manifests: 8 chunks
bundling manifests: 9 chunks
bundling files: foo/Bar/file.txt 0 chunks
bundling files: foo/Bar/file.txt 1 chunks
bundling files: foo/Bar/file.txt 2 chunks
bundling files: foo/Bar/file.txt 3 chunks
bundling files: foo/file.txt 4 chunks
bundling files: foo/file.txt 5 chunks
bundling files: foo/file.txt 6 chunks
bundling files: foo/file.txt 7 chunks
bundling files: quux/file.py 8 chunks
bundling files: quux/file.py 9 chunks
bundling files: quux/file.py 10 chunks
bundling files: quux/file.py 11 chunks
changesets: 1 chunks
add changeset ef1ea85a6374
changesets: 2 chunks
add changeset f9cafe1212c8
changesets: 3 chunks
add changeset 911600dab2ae
adding manifests
manifests: 1/3 chunks (33.33%)
manifests: 2/3 chunks (66.67%)
manifests: 3/3 chunks (100.00%)
adding file changes
adding foo/Bar/file.txt revisions
files: 1/3 chunks (33.33%)
adding foo/file.txt revisions
files: 2/3 chunks (66.67%)
adding quux/file.py revisions
files: 3/3 chunks (100.00%)
added 3 changesets with 3 changes to 3 files
calling hook pretxnchangegroup.acl: hgext.acl.hook
acl: acl.allow.branches not enabled
acl: acl.deny.branches not enabled
acl: acl.allow enabled, 1 entries for user fred
acl: acl.deny not enabled
acl: branch access granted: "ef1ea85a6374" on branch "default"
acl: allowing changeset ef1ea85a6374
acl: branch access granted: "f9cafe1212c8" on branch "default"
acl: allowing changeset f9cafe1212c8
acl: branch access granted: "911600dab2ae" on branch "default"
acl: user fred not allowed on quux/file.py
error: pretxnchangegroup.acl hook failed: acl: access denied for changeset 911600dab2ae
transaction abort!
rollback completed
abort: acl: access denied for changeset 911600dab2ae
no rollback information available
0:6675d58eff77

Empty [acl.deny]
Pushing as user barney
hgrc = """
[hooks]
pretxnchangegroup.acl = python:hgext.acl.hook
[acl]
sources = push
[acl.allow]
foo/** = fred
[acl.deny]
"""
pushing to ../b
searching for changes
common changesets up to 6675d58eff77
3 changesets found
list of changesets:
ef1ea85a6374b77d6da9dcda9541f498f2d17df7
f9cafe1212c8c6fa1120d14a556e18cc44ff8bdd
911600dab2ae7a9baff75958b84fe606851ce955
adding changesets
bundling changes: 0 chunks
bundling changes: 1 chunks
bundling changes: 2 chunks
bundling changes: 3 chunks
bundling changes: 4 chunks
bundling changes: 5 chunks
bundling changes: 6 chunks
bundling changes: 7 chunks
bundling changes: 8 chunks
bundling changes: 9 chunks
bundling manifests: 0 chunks
bundling manifests: 1 chunks
bundling manifests: 2 chunks
bundling manifests: 3 chunks
bundling manifests: 4 chunks
bundling manifests: 5 chunks
bundling manifests: 6 chunks
bundling manifests: 7 chunks
bundling manifests: 8 chunks
bundling manifests: 9 chunks
bundling files: foo/Bar/file.txt 0 chunks
bundling files: foo/Bar/file.txt 1 chunks
bundling files: foo/Bar/file.txt 2 chunks
bundling files: foo/Bar/file.txt 3 chunks
bundling files: foo/file.txt 4 chunks
bundling files: foo/file.txt 5 chunks
bundling files: foo/file.txt 6 chunks
bundling files: foo/file.txt 7 chunks
bundling files: quux/file.py 8 chunks
bundling files: quux/file.py 9 chunks
bundling files: quux/file.py 10 chunks
bundling files: quux/file.py 11 chunks
changesets: 1 chunks
add changeset ef1ea85a6374
changesets: 2 chunks
add changeset f9cafe1212c8
changesets: 3 chunks
add changeset 911600dab2ae
adding manifests
manifests: 1/3 chunks (33.33%)
manifests: 2/3 chunks (66.67%)
manifests: 3/3 chunks (100.00%)
adding file changes
adding foo/Bar/file.txt revisions
files: 1/3 chunks (33.33%)
adding foo/file.txt revisions
files: 2/3 chunks (66.67%)
adding quux/file.py revisions
files: 3/3 chunks (100.00%)
added 3 changesets with 3 changes to 3 files
calling hook pretxnchangegroup.acl: hgext.acl.hook
acl: acl.allow.branches not enabled
acl: acl.deny.branches not enabled
acl: acl.allow enabled, 0 entries for user barney
acl: acl.deny enabled, 0 entries for user barney
acl: branch access granted: "ef1ea85a6374" on branch "default"
acl: user barney not allowed on foo/file.txt
error: pretxnchangegroup.acl hook failed: acl: access denied for changeset ef1ea85a6374
transaction abort!
rollback completed
abort: acl: access denied for changeset ef1ea85a6374
no rollback information available
0:6675d58eff77

fred is allowed inside foo/, but not foo/bar/ (case matters)
Pushing as user fred
hgrc = """
[hooks]
pretxnchangegroup.acl = python:hgext.acl.hook
[acl]
sources = push
[acl.allow]
foo/** = fred
[acl.deny]
foo/bar/** = fred
"""
pushing to ../b
searching for changes
common changesets up to 6675d58eff77
3 changesets found
list of changesets:
ef1ea85a6374b77d6da9dcda9541f498f2d17df7
f9cafe1212c8c6fa1120d14a556e18cc44ff8bdd
911600dab2ae7a9baff75958b84fe606851ce955
adding changesets
bundling changes: 0 chunks
bundling changes: 1 chunks
bundling changes: 2 chunks
bundling changes: 3 chunks
bundling changes: 4 chunks
bundling changes: 5 chunks
bundling changes: 6 chunks
bundling changes: 7 chunks
bundling changes: 8 chunks
bundling changes: 9 chunks
bundling manifests: 0 chunks
bundling manifests: 1 chunks
bundling manifests: 2 chunks
bundling manifests: 3 chunks
bundling manifests: 4 chunks
bundling manifests: 5 chunks
bundling manifests: 6 chunks
bundling manifests: 7 chunks
bundling manifests: 8 chunks
bundling manifests: 9 chunks
bundling files: foo/Bar/file.txt 0 chunks
bundling files: foo/Bar/file.txt 1 chunks
bundling files: foo/Bar/file.txt 2 chunks
bundling files: foo/Bar/file.txt 3 chunks
bundling files: foo/file.txt 4 chunks
bundling files: foo/file.txt 5 chunks
bundling files: foo/file.txt 6 chunks
bundling files: foo/file.txt 7 chunks
bundling files: quux/file.py 8 chunks
bundling files: quux/file.py 9 chunks
bundling files: quux/file.py 10 chunks
bundling files: quux/file.py 11 chunks
changesets: 1 chunks
add changeset ef1ea85a6374
changesets: 2 chunks
add changeset f9cafe1212c8
changesets: 3 chunks
add changeset 911600dab2ae
adding manifests
manifests: 1/3 chunks (33.33%)
manifests: 2/3 chunks (66.67%)
manifests: 3/3 chunks (100.00%)
adding file changes
adding foo/Bar/file.txt revisions
files: 1/3 chunks (33.33%)
adding foo/file.txt revisions
files: 2/3 chunks (66.67%)
adding quux/file.py revisions
files: 3/3 chunks (100.00%)
added 3 changesets with 3 changes to 3 files
calling hook pretxnchangegroup.acl: hgext.acl.hook
acl: acl.allow.branches not enabled
acl: acl.deny.branches not enabled
acl: acl.allow enabled, 1 entries for user fred
acl: acl.deny enabled, 1 entries for user fred
acl: branch access granted: "ef1ea85a6374" on branch "default"
acl: allowing changeset ef1ea85a6374
acl: branch access granted: "f9cafe1212c8" on branch "default"
acl: allowing changeset f9cafe1212c8
acl: branch access granted: "911600dab2ae" on branch "default"
acl: user fred not allowed on quux/file.py
error: pretxnchangegroup.acl hook failed: acl: access denied for changeset 911600dab2ae
transaction abort!
rollback completed
abort: acl: access denied for changeset 911600dab2ae
no rollback information available
0:6675d58eff77

fred is allowed inside foo/, but not foo/Bar/
Pushing as user fred
hgrc = """
[hooks]
pretxnchangegroup.acl = python:hgext.acl.hook
[acl]
sources = push
[acl.allow]
foo/** = fred
[acl.deny]
foo/bar/** = fred
foo/Bar/** = fred
"""
pushing to ../b
searching for changes
common changesets up to 6675d58eff77
3 changesets found
list of changesets:
ef1ea85a6374b77d6da9dcda9541f498f2d17df7
f9cafe1212c8c6fa1120d14a556e18cc44ff8bdd
911600dab2ae7a9baff75958b84fe606851ce955
adding changesets
bundling changes: 0 chunks
bundling changes: 1 chunks
bundling changes: 2 chunks
bundling changes: 3 chunks
bundling changes: 4 chunks
bundling changes: 5 chunks
bundling changes: 6 chunks
bundling changes: 7 chunks
bundling changes: 8 chunks
bundling changes: 9 chunks
bundling manifests: 0 chunks
bundling manifests: 1 chunks
bundling manifests: 2 chunks
bundling manifests: 3 chunks
bundling manifests: 4 chunks
bundling manifests: 5 chunks
bundling manifests: 6 chunks
bundling manifests: 7 chunks
bundling manifests: 8 chunks
bundling manifests: 9 chunks
bundling files: foo/Bar/file.txt 0 chunks
bundling files: foo/Bar/file.txt 1 chunks
bundling files: foo/Bar/file.txt 2 chunks
bundling files: foo/Bar/file.txt 3 chunks
bundling files: foo/file.txt 4 chunks
bundling files: foo/file.txt 5 chunks
bundling files: foo/file.txt 6 chunks
bundling files: foo/file.txt 7 chunks
bundling files: quux/file.py 8 chunks
bundling files: quux/file.py 9 chunks
bundling files: quux/file.py 10 chunks
bundling files: quux/file.py 11 chunks
changesets: 1 chunks
add changeset ef1ea85a6374
changesets: 2 chunks
add changeset f9cafe1212c8
changesets: 3 chunks
add changeset 911600dab2ae
adding manifests
manifests: 1/3 chunks (33.33%)
manifests: 2/3 chunks (66.67%)
manifests: 3/3 chunks (100.00%)
adding file changes
adding foo/Bar/file.txt revisions
files: 1/3 chunks (33.33%)
adding foo/file.txt revisions
files: 2/3 chunks (66.67%)
adding quux/file.py revisions
files: 3/3 chunks (100.00%)
added 3 changesets with 3 changes to 3 files
calling hook pretxnchangegroup.acl: hgext.acl.hook
acl: acl.allow.branches not enabled
acl: acl.deny.branches not enabled
acl: acl.allow enabled, 1 entries for user fred
acl: acl.deny enabled, 2 entries for user fred
acl: branch access granted: "ef1ea85a6374" on branch "default"
acl: allowing changeset ef1ea85a6374
acl: branch access granted: "f9cafe1212c8" on branch "default"
acl: user fred denied on foo/Bar/file.txt
error: pretxnchangegroup.acl hook failed: acl: access denied for changeset f9cafe1212c8
transaction abort!
rollback completed
abort: acl: access denied for changeset f9cafe1212c8
no rollback information available
0:6675d58eff77

barney is not mentioned => not allowed anywhere
Pushing as user barney
hgrc = """
[hooks]
pretxnchangegroup.acl = python:hgext.acl.hook
[acl]
sources = push
[acl.allow]
foo/** = fred
[acl.deny]
foo/bar/** = fred
foo/Bar/** = fred
"""
pushing to ../b
searching for changes
common changesets up to 6675d58eff77
3 changesets found
list of changesets:
ef1ea85a6374b77d6da9dcda9541f498f2d17df7
f9cafe1212c8c6fa1120d14a556e18cc44ff8bdd
911600dab2ae7a9baff75958b84fe606851ce955
adding changesets
bundling changes: 0 chunks
bundling changes: 1 chunks
bundling changes: 2 chunks
bundling changes: 3 chunks
bundling changes: 4 chunks
bundling changes: 5 chunks
bundling changes: 6 chunks
bundling changes: 7 chunks
bundling changes: 8 chunks
bundling changes: 9 chunks
bundling manifests: 0 chunks
bundling manifests: 1 chunks
bundling manifests: 2 chunks
bundling manifests: 3 chunks
bundling manifests: 4 chunks
bundling manifests: 5 chunks
bundling manifests: 6 chunks
bundling manifests: 7 chunks
bundling manifests: 8 chunks
bundling manifests: 9 chunks
bundling files: foo/Bar/file.txt 0 chunks
bundling files: foo/Bar/file.txt 1 chunks
bundling files: foo/Bar/file.txt 2 chunks
bundling files: foo/Bar/file.txt 3 chunks
bundling files: foo/file.txt 4 chunks
bundling files: foo/file.txt 5 chunks
bundling files: foo/file.txt 6 chunks
bundling files: foo/file.txt 7 chunks
bundling files: quux/file.py 8 chunks
bundling files: quux/file.py 9 chunks
bundling files: quux/file.py 10 chunks
bundling files: quux/file.py 11 chunks
changesets: 1 chunks
add changeset ef1ea85a6374
changesets: 2 chunks
add changeset f9cafe1212c8
changesets: 3 chunks
add changeset 911600dab2ae
adding manifests
manifests: 1/3 chunks (33.33%)
manifests: 2/3 chunks (66.67%)
manifests: 3/3 chunks (100.00%)
adding file changes
adding foo/Bar/file.txt revisions
files: 1/3 chunks (33.33%)
adding foo/file.txt revisions
files: 2/3 chunks (66.67%)
adding quux/file.py revisions
files: 3/3 chunks (100.00%)
added 3 changesets with 3 changes to 3 files
calling hook pretxnchangegroup.acl: hgext.acl.hook
acl: acl.allow.branches not enabled
acl: acl.deny.branches not enabled
acl: acl.allow enabled, 0 entries for user barney
acl: acl.deny enabled, 0 entries for user barney
acl: branch access granted: "ef1ea85a6374" on branch "default"
acl: user barney not allowed on foo/file.txt
error: pretxnchangegroup.acl hook failed: acl: access denied for changeset ef1ea85a6374
transaction abort!
rollback completed
abort: acl: access denied for changeset ef1ea85a6374
no rollback information available
0:6675d58eff77

barney is allowed everywhere
Pushing as user barney
hgrc = """
[hooks]
pretxnchangegroup.acl = python:hgext.acl.hook
[acl]
sources = push
[acl.allow]
foo/** = fred
[acl.deny]
foo/bar/** = fred
foo/Bar/** = fred
[acl.allow]
** = barney
"""
pushing to ../b
searching for changes
common changesets up to 6675d58eff77
3 changesets found
list of changesets:
ef1ea85a6374b77d6da9dcda9541f498f2d17df7
f9cafe1212c8c6fa1120d14a556e18cc44ff8bdd
911600dab2ae7a9baff75958b84fe606851ce955
adding changesets
bundling changes: 0 chunks
bundling changes: 1 chunks
bundling changes: 2 chunks
bundling changes: 3 chunks
bundling changes: 4 chunks
bundling changes: 5 chunks
bundling changes: 6 chunks
bundling changes: 7 chunks
bundling changes: 8 chunks
bundling changes: 9 chunks
bundling manifests: 0 chunks
bundling manifests: 1 chunks
bundling manifests: 2 chunks
bundling manifests: 3 chunks
bundling manifests: 4 chunks
bundling manifests: 5 chunks
bundling manifests: 6 chunks
bundling manifests: 7 chunks
bundling manifests: 8 chunks
bundling manifests: 9 chunks
bundling files: foo/Bar/file.txt 0 chunks
bundling files: foo/Bar/file.txt 1 chunks
bundling files: foo/Bar/file.txt 2 chunks
bundling files: foo/Bar/file.txt 3 chunks
bundling files: foo/file.txt 4 chunks
bundling files: foo/file.txt 5 chunks
bundling files: foo/file.txt 6 chunks
bundling files: foo/file.txt 7 chunks
bundling files: quux/file.py 8 chunks
bundling files: quux/file.py 9 chunks
bundling files: quux/file.py 10 chunks
bundling files: quux/file.py 11 chunks
changesets: 1 chunks
add changeset ef1ea85a6374
changesets: 2 chunks
add changeset f9cafe1212c8
changesets: 3 chunks
add changeset 911600dab2ae
adding manifests
manifests: 1/3 chunks (33.33%)
manifests: 2/3 chunks (66.67%)
manifests: 3/3 chunks (100.00%)
adding file changes
adding foo/Bar/file.txt revisions
files: 1/3 chunks (33.33%)
adding foo/file.txt revisions
files: 2/3 chunks (66.67%)
adding quux/file.py revisions
files: 3/3 chunks (100.00%)
added 3 changesets with 3 changes to 3 files
calling hook pretxnchangegroup.acl: hgext.acl.hook
acl: acl.allow.branches not enabled
acl: acl.deny.branches not enabled
acl: acl.allow enabled, 1 entries for user barney
acl: acl.deny enabled, 0 entries for user barney
acl: branch access granted: "ef1ea85a6374" on branch "default"
acl: allowing changeset ef1ea85a6374
acl: branch access granted: "f9cafe1212c8" on branch "default"
acl: allowing changeset f9cafe1212c8
acl: branch access granted: "911600dab2ae" on branch "default"
acl: allowing changeset 911600dab2ae
updating the branch cache
rolling back to revision 0 (undo push)
0:6675d58eff77

wilma can change files with a .txt extension
Pushing as user wilma
hgrc = """
[hooks]
pretxnchangegroup.acl = python:hgext.acl.hook
[acl]
sources = push
[acl.allow]
foo/** = fred
[acl.deny]
foo/bar/** = fred
foo/Bar/** = fred
[acl.allow]
** = barney
**/*.txt = wilma
"""
pushing to ../b
searching for changes
common changesets up to 6675d58eff77
invalidating branch cache (tip differs)
3 changesets found
list of changesets:
ef1ea85a6374b77d6da9dcda9541f498f2d17df7
f9cafe1212c8c6fa1120d14a556e18cc44ff8bdd
911600dab2ae7a9baff75958b84fe606851ce955
adding changesets
bundling changes: 0 chunks
bundling changes: 1 chunks
bundling changes: 2 chunks
bundling changes: 3 chunks
bundling changes: 4 chunks
bundling changes: 5 chunks
bundling changes: 6 chunks
bundling changes: 7 chunks
bundling changes: 8 chunks
bundling changes: 9 chunks
bundling manifests: 0 chunks
bundling manifests: 1 chunks
bundling manifests: 2 chunks
bundling manifests: 3 chunks
bundling manifests: 4 chunks
bundling manifests: 5 chunks
bundling manifests: 6 chunks
bundling manifests: 7 chunks
bundling manifests: 8 chunks
bundling manifests: 9 chunks
bundling files: foo/Bar/file.txt 0 chunks
bundling files: foo/Bar/file.txt 1 chunks
bundling files: foo/Bar/file.txt 2 chunks
bundling files: foo/Bar/file.txt 3 chunks
bundling files: foo/file.txt 4 chunks
bundling files: foo/file.txt 5 chunks
bundling files: foo/file.txt 6 chunks
bundling files: foo/file.txt 7 chunks
bundling files: quux/file.py 8 chunks
bundling files: quux/file.py 9 chunks
bundling files: quux/file.py 10 chunks
bundling files: quux/file.py 11 chunks
changesets: 1 chunks
add changeset ef1ea85a6374
changesets: 2 chunks
add changeset f9cafe1212c8
changesets: 3 chunks
add changeset 911600dab2ae
adding manifests
manifests: 1/3 chunks (33.33%)
manifests: 2/3 chunks (66.67%)
manifests: 3/3 chunks (100.00%)
adding file changes
adding foo/Bar/file.txt revisions
files: 1/3 chunks (33.33%)
adding foo/file.txt revisions
files: 2/3 chunks (66.67%)
adding quux/file.py revisions
files: 3/3 chunks (100.00%)
added 3 changesets with 3 changes to 3 files
calling hook pretxnchangegroup.acl: hgext.acl.hook
acl: acl.allow.branches not enabled
acl: acl.deny.branches not enabled
acl: acl.allow enabled, 1 entries for user wilma
acl: acl.deny enabled, 0 entries for user wilma
acl: branch access granted: "ef1ea85a6374" on branch "default"
acl: allowing changeset ef1ea85a6374
acl: branch access granted: "f9cafe1212c8" on branch "default"
acl: allowing changeset f9cafe1212c8
acl: branch access granted: "911600dab2ae" on branch "default"
acl: user wilma not allowed on quux/file.py
error: pretxnchangegroup.acl hook failed: acl: access denied for changeset 911600dab2ae
transaction abort!
rollback completed
abort: acl: access denied for changeset 911600dab2ae
no rollback information available
0:6675d58eff77

file specified by acl.config does not exist
Pushing as user barney
hgrc = """
[hooks]
pretxnchangegroup.acl = python:hgext.acl.hook
[acl]
sources = push
[acl.allow]
foo/** = fred
[acl.deny]
foo/bar/** = fred
foo/Bar/** = fred
[acl.allow]
** = barney
**/*.txt = wilma
[acl]
config = ../acl.config
"""
pushing to ../b
searching for changes
common changesets up to 6675d58eff77
3 changesets found
list of changesets:
ef1ea85a6374b77d6da9dcda9541f498f2d17df7
f9cafe1212c8c6fa1120d14a556e18cc44ff8bdd
911600dab2ae7a9baff75958b84fe606851ce955
adding changesets
bundling changes: 0 chunks
bundling changes: 1 chunks
bundling changes: 2 chunks
bundling changes: 3 chunks
bundling changes: 4 chunks
bundling changes: 5 chunks
bundling changes: 6 chunks
bundling changes: 7 chunks
bundling changes: 8 chunks
bundling changes: 9 chunks
bundling manifests: 0 chunks
bundling manifests: 1 chunks
bundling manifests: 2 chunks
bundling manifests: 3 chunks
bundling manifests: 4 chunks
bundling manifests: 5 chunks
bundling manifests: 6 chunks
bundling manifests: 7 chunks
bundling manifests: 8 chunks
bundling manifests: 9 chunks
bundling files: foo/Bar/file.txt 0 chunks
bundling files: foo/Bar/file.txt 1 chunks
bundling files: foo/Bar/file.txt 2 chunks
bundling files: foo/Bar/file.txt 3 chunks
bundling files: foo/file.txt 4 chunks
bundling files: foo/file.txt 5 chunks
bundling files: foo/file.txt 6 chunks
bundling files: foo/file.txt 7 chunks
bundling files: quux/file.py 8 chunks
bundling files: quux/file.py 9 chunks
bundling files: quux/file.py 10 chunks
bundling files: quux/file.py 11 chunks
changesets: 1 chunks
add changeset ef1ea85a6374
changesets: 2 chunks
add changeset f9cafe1212c8
changesets: 3 chunks
add changeset 911600dab2ae
adding manifests
manifests: 1/3 chunks (33.33%)
manifests: 2/3 chunks (66.67%)
manifests: 3/3 chunks (100.00%)
adding file changes
adding foo/Bar/file.txt revisions
files: 1/3 chunks (33.33%)
adding foo/file.txt revisions
files: 2/3 chunks (66.67%)
adding quux/file.py revisions
files: 3/3 chunks (100.00%)
added 3 changesets with 3 changes to 3 files
calling hook pretxnchangegroup.acl: hgext.acl.hook
error: pretxnchangegroup.acl hook raised an exception: [Errno 2] No such file or directory: '../acl.config'
transaction abort!
rollback completed
abort: No such file or directory: ../acl.config
no rollback information available
0:6675d58eff77

betty is allowed inside foo/ by a acl.config file
Pushing as user betty
hgrc = """
[hooks]
pretxnchangegroup.acl = python:hgext.acl.hook
[acl]
sources = push
[acl.allow]
foo/** = fred
[acl.deny]
foo/bar/** = fred
foo/Bar/** = fred
[acl.allow]
** = barney
**/*.txt = wilma
[acl]
config = ../acl.config
"""
acl.config = """
[acl.allow]
foo/** = betty
"""
pushing to ../b
searching for changes
common changesets up to 6675d58eff77
3 changesets found
list of changesets:
ef1ea85a6374b77d6da9dcda9541f498f2d17df7
f9cafe1212c8c6fa1120d14a556e18cc44ff8bdd
911600dab2ae7a9baff75958b84fe606851ce955
adding changesets
bundling changes: 0 chunks
bundling changes: 1 chunks
bundling changes: 2 chunks
bundling changes: 3 chunks
bundling changes: 4 chunks
bundling changes: 5 chunks
bundling changes: 6 chunks
bundling changes: 7 chunks
bundling changes: 8 chunks
bundling changes: 9 chunks
bundling manifests: 0 chunks
bundling manifests: 1 chunks
bundling manifests: 2 chunks
bundling manifests: 3 chunks
bundling manifests: 4 chunks
bundling manifests: 5 chunks
bundling manifests: 6 chunks
bundling manifests: 7 chunks
bundling manifests: 8 chunks
bundling manifests: 9 chunks
bundling files: foo/Bar/file.txt 0 chunks
bundling files: foo/Bar/file.txt 1 chunks
bundling files: foo/Bar/file.txt 2 chunks
bundling files: foo/Bar/file.txt 3 chunks
bundling files: foo/file.txt 4 chunks
bundling files: foo/file.txt 5 chunks
bundling files: foo/file.txt 6 chunks
bundling files: foo/file.txt 7 chunks
bundling files: quux/file.py 8 chunks
bundling files: quux/file.py 9 chunks
bundling files: quux/file.py 10 chunks
bundling files: quux/file.py 11 chunks
changesets: 1 chunks
add changeset ef1ea85a6374
changesets: 2 chunks
add changeset f9cafe1212c8
changesets: 3 chunks
add changeset 911600dab2ae
adding manifests
manifests: 1/3 chunks (33.33%)
manifests: 2/3 chunks (66.67%)
manifests: 3/3 chunks (100.00%)
adding file changes
adding foo/Bar/file.txt revisions
files: 1/3 chunks (33.33%)
adding foo/file.txt revisions
files: 2/3 chunks (66.67%)
adding quux/file.py revisions
files: 3/3 chunks (100.00%)
added 3 changesets with 3 changes to 3 files
calling hook pretxnchangegroup.acl: hgext.acl.hook
acl: acl.allow.branches not enabled
acl: acl.deny.branches not enabled
acl: acl.allow enabled, 1 entries for user betty
acl: acl.deny enabled, 0 entries for user betty
acl: branch access granted: "ef1ea85a6374" on branch "default"
acl: allowing changeset ef1ea85a6374
acl: branch access granted: "f9cafe1212c8" on branch "default"
acl: allowing changeset f9cafe1212c8
acl: branch access granted: "911600dab2ae" on branch "default"
acl: user betty not allowed on quux/file.py
error: pretxnchangegroup.acl hook failed: acl: access denied for changeset 911600dab2ae
transaction abort!
rollback completed
abort: acl: access denied for changeset 911600dab2ae
no rollback information available
0:6675d58eff77

acl.config can set only [acl.allow]/[acl.deny]
Pushing as user barney
hgrc = """
[hooks]
pretxnchangegroup.acl = python:hgext.acl.hook
[acl]
sources = push
[acl.allow]
foo/** = fred
[acl.deny]
foo/bar/** = fred
foo/Bar/** = fred
[acl.allow]
** = barney
**/*.txt = wilma
[acl]
config = ../acl.config
"""
acl.config = """
[acl.allow]
foo/** = betty
[hooks]
changegroup.acl = false
"""
pushing to ../b
searching for changes
common changesets up to 6675d58eff77
3 changesets found
list of changesets:
ef1ea85a6374b77d6da9dcda9541f498f2d17df7
f9cafe1212c8c6fa1120d14a556e18cc44ff8bdd
911600dab2ae7a9baff75958b84fe606851ce955
adding changesets
bundling changes: 0 chunks
bundling changes: 1 chunks
bundling changes: 2 chunks
bundling changes: 3 chunks
bundling changes: 4 chunks
bundling changes: 5 chunks
bundling changes: 6 chunks
bundling changes: 7 chunks
bundling changes: 8 chunks
bundling changes: 9 chunks
bundling manifests: 0 chunks
bundling manifests: 1 chunks
bundling manifests: 2 chunks
bundling manifests: 3 chunks
bundling manifests: 4 chunks
bundling manifests: 5 chunks
bundling manifests: 6 chunks
bundling manifests: 7 chunks
bundling manifests: 8 chunks
bundling manifests: 9 chunks
bundling files: foo/Bar/file.txt 0 chunks
bundling files: foo/Bar/file.txt 1 chunks
bundling files: foo/Bar/file.txt 2 chunks
bundling files: foo/Bar/file.txt 3 chunks
bundling files: foo/file.txt 4 chunks
bundling files: foo/file.txt 5 chunks
bundling files: foo/file.txt 6 chunks
bundling files: foo/file.txt 7 chunks
bundling files: quux/file.py 8 chunks
bundling files: quux/file.py 9 chunks
bundling files: quux/file.py 10 chunks
bundling files: quux/file.py 11 chunks
changesets: 1 chunks
add changeset ef1ea85a6374
changesets: 2 chunks
add changeset f9cafe1212c8
changesets: 3 chunks
add changeset 911600dab2ae
adding manifests
manifests: 1/3 chunks (33.33%)
manifests: 2/3 chunks (66.67%)
manifests: 3/3 chunks (100.00%)
adding file changes
adding foo/Bar/file.txt revisions
files: 1/3 chunks (33.33%)
adding foo/file.txt revisions
files: 2/3 chunks (66.67%)
adding quux/file.py revisions
files: 3/3 chunks (100.00%)
added 3 changesets with 3 changes to 3 files
calling hook pretxnchangegroup.acl: hgext.acl.hook
acl: acl.allow.branches not enabled
acl: acl.deny.branches not enabled
acl: acl.allow enabled, 1 entries for user barney
acl: acl.deny enabled, 0 entries for user barney
acl: branch access granted: "ef1ea85a6374" on branch "default"
acl: allowing changeset ef1ea85a6374
acl: branch access granted: "f9cafe1212c8" on branch "default"
acl: allowing changeset f9cafe1212c8
acl: branch access granted: "911600dab2ae" on branch "default"
acl: allowing changeset 911600dab2ae
updating the branch cache
rolling back to revision 0 (undo push)
0:6675d58eff77

asterisk test
fred is always allowed
Pushing as user fred
hgrc = """
[acl]
sources = push
[extensions]
[acl.allow]
** = fred
"""
pushing to ../b
searching for changes
common changesets up to 6675d58eff77
invalidating branch cache (tip differs)
3 changesets found
list of changesets:
ef1ea85a6374b77d6da9dcda9541f498f2d17df7
f9cafe1212c8c6fa1120d14a556e18cc44ff8bdd
911600dab2ae7a9baff75958b84fe606851ce955
adding changesets
bundling changes: 0 chunks
bundling changes: 1 chunks
bundling changes: 2 chunks
bundling changes: 3 chunks
bundling changes: 4 chunks
bundling changes: 5 chunks
bundling changes: 6 chunks
bundling changes: 7 chunks
bundling changes: 8 chunks
bundling changes: 9 chunks
bundling manifests: 0 chunks
bundling manifests: 1 chunks
bundling manifests: 2 chunks
bundling manifests: 3 chunks
bundling manifests: 4 chunks
bundling manifests: 5 chunks
bundling manifests: 6 chunks
bundling manifests: 7 chunks
bundling manifests: 8 chunks
bundling manifests: 9 chunks
bundling files: foo/Bar/file.txt 0 chunks
bundling files: foo/Bar/file.txt 1 chunks
bundling files: foo/Bar/file.txt 2 chunks
bundling files: foo/Bar/file.txt 3 chunks
bundling files: foo/file.txt 4 chunks
bundling files: foo/file.txt 5 chunks
bundling files: foo/file.txt 6 chunks
bundling files: foo/file.txt 7 chunks
bundling files: quux/file.py 8 chunks
bundling files: quux/file.py 9 chunks
bundling files: quux/file.py 10 chunks
bundling files: quux/file.py 11 chunks
changesets: 1 chunks
add changeset ef1ea85a6374
changesets: 2 chunks
add changeset f9cafe1212c8
changesets: 3 chunks
add changeset 911600dab2ae
adding manifests
manifests: 1/3 chunks (33.33%)
manifests: 2/3 chunks (66.67%)
manifests: 3/3 chunks (100.00%)
adding file changes
adding foo/Bar/file.txt revisions
files: 1/3 chunks (33.33%)
adding foo/file.txt revisions
files: 2/3 chunks (66.67%)
adding quux/file.py revisions
files: 3/3 chunks (100.00%)
added 3 changesets with 3 changes to 3 files
calling hook pretxnchangegroup.acl: hgext.acl.hook
acl: acl.allow.branches not enabled
acl: acl.deny.branches not enabled
acl: acl.allow enabled, 1 entries for user fred
acl: acl.deny not enabled
acl: branch access granted: "ef1ea85a6374" on branch "default"
acl: allowing changeset ef1ea85a6374
acl: branch access granted: "f9cafe1212c8" on branch "default"
acl: allowing changeset f9cafe1212c8
acl: branch access granted: "911600dab2ae" on branch "default"
acl: allowing changeset 911600dab2ae
updating the branch cache
rolling back to revision 0 (undo push)
0:6675d58eff77

no one is allowed inside foo/Bar/
Pushing as user fred
hgrc = """
[acl]
sources = push
[extensions]
[acl.allow]
** = fred
[acl.deny]
foo/Bar/** = *
"""
pushing to ../b
searching for changes
common changesets up to 6675d58eff77
invalidating branch cache (tip differs)
3 changesets found
list of changesets:
ef1ea85a6374b77d6da9dcda9541f498f2d17df7
f9cafe1212c8c6fa1120d14a556e18cc44ff8bdd
911600dab2ae7a9baff75958b84fe606851ce955
adding changesets
bundling changes: 0 chunks
bundling changes: 1 chunks
bundling changes: 2 chunks
bundling changes: 3 chunks
bundling changes: 4 chunks
bundling changes: 5 chunks
bundling changes: 6 chunks
bundling changes: 7 chunks
bundling changes: 8 chunks
bundling changes: 9 chunks
bundling manifests: 0 chunks
bundling manifests: 1 chunks
bundling manifests: 2 chunks
bundling manifests: 3 chunks
bundling manifests: 4 chunks
bundling manifests: 5 chunks
bundling manifests: 6 chunks
bundling manifests: 7 chunks
bundling manifests: 8 chunks
bundling manifests: 9 chunks
bundling files: foo/Bar/file.txt 0 chunks
bundling files: foo/Bar/file.txt 1 chunks
bundling files: foo/Bar/file.txt 2 chunks
bundling files: foo/Bar/file.txt 3 chunks
bundling files: foo/file.txt 4 chunks
bundling files: foo/file.txt 5 chunks
bundling files: foo/file.txt 6 chunks
bundling files: foo/file.txt 7 chunks
bundling files: quux/file.py 8 chunks
bundling files: quux/file.py 9 chunks
bundling files: quux/file.py 10 chunks
bundling files: quux/file.py 11 chunks
changesets: 1 chunks
add changeset ef1ea85a6374
changesets: 2 chunks
add changeset f9cafe1212c8
changesets: 3 chunks
add changeset 911600dab2ae
adding manifests
manifests: 1/3 chunks (33.33%)
manifests: 2/3 chunks (66.67%)
manifests: 3/3 chunks (100.00%)
adding file changes
adding foo/Bar/file.txt revisions
files: 1/3 chunks (33.33%)
adding foo/file.txt revisions
files: 2/3 chunks (66.67%)
adding quux/file.py revisions
files: 3/3 chunks (100.00%)
added 3 changesets with 3 changes to 3 files
calling hook pretxnchangegroup.acl: hgext.acl.hook
acl: acl.allow.branches not enabled
acl: acl.deny.branches not enabled
acl: acl.allow enabled, 1 entries for user fred
acl: acl.deny enabled, 1 entries for user fred
acl: branch access granted: "ef1ea85a6374" on branch "default"
acl: allowing changeset ef1ea85a6374
acl: branch access granted: "f9cafe1212c8" on branch "default"
acl: user fred denied on foo/Bar/file.txt
error: pretxnchangegroup.acl hook failed: acl: access denied for changeset f9cafe1212c8
transaction abort!
rollback completed
abort: acl: access denied for changeset f9cafe1212c8
no rollback information available
0:6675d58eff77

OS-level groups
@group1 is always allowed
Pushing as user fred
hgrc = """
[acl]
sources = push
[extensions]
[acl.allow]
** = @group1
"""
pushing to ../b
searching for changes
common changesets up to 6675d58eff77
3 changesets found
list of changesets:
ef1ea85a6374b77d6da9dcda9541f498f2d17df7
f9cafe1212c8c6fa1120d14a556e18cc44ff8bdd
911600dab2ae7a9baff75958b84fe606851ce955
adding changesets
bundling changes: 0 chunks
bundling changes: 1 chunks
bundling changes: 2 chunks
bundling changes: 3 chunks
bundling changes: 4 chunks
bundling changes: 5 chunks
bundling changes: 6 chunks
bundling changes: 7 chunks
bundling changes: 8 chunks
bundling changes: 9 chunks
bundling manifests: 0 chunks
bundling manifests: 1 chunks
bundling manifests: 2 chunks
bundling manifests: 3 chunks
bundling manifests: 4 chunks
bundling manifests: 5 chunks
bundling manifests: 6 chunks
bundling manifests: 7 chunks
bundling manifests: 8 chunks
bundling manifests: 9 chunks
bundling files: foo/Bar/file.txt 0 chunks
bundling files: foo/Bar/file.txt 1 chunks
bundling files: foo/Bar/file.txt 2 chunks
bundling files: foo/Bar/file.txt 3 chunks
bundling files: foo/file.txt 4 chunks
bundling files: foo/file.txt 5 chunks
bundling files: foo/file.txt 6 chunks
bundling files: foo/file.txt 7 chunks
bundling files: quux/file.py 8 chunks
bundling files: quux/file.py 9 chunks
bundling files: quux/file.py 10 chunks
bundling files: quux/file.py 11 chunks
changesets: 1 chunks
add changeset ef1ea85a6374
changesets: 2 chunks
add changeset f9cafe1212c8
changesets: 3 chunks
add changeset 911600dab2ae
adding manifests
manifests: 1/3 chunks (33.33%)
manifests: 2/3 chunks (66.67%)
manifests: 3/3 chunks (100.00%)
adding file changes
adding foo/Bar/file.txt revisions
files: 1/3 chunks (33.33%)
adding foo/file.txt revisions
files: 2/3 chunks (66.67%)
adding quux/file.py revisions
files: 3/3 chunks (100.00%)
added 3 changesets with 3 changes to 3 files
calling hook pretxnchangegroup.acl: hgext.acl.hook
acl: acl.allow.branches not enabled
acl: acl.deny.branches not enabled
acl: "group1" not defined in [acl.groups]
acl: acl.allow enabled, 1 entries for user fred
acl: acl.deny not enabled
acl: branch access granted: "ef1ea85a6374" on branch "default"
acl: allowing changeset ef1ea85a6374
acl: branch access granted: "f9cafe1212c8" on branch "default"
acl: allowing changeset f9cafe1212c8
acl: branch access granted: "911600dab2ae" on branch "default"
acl: allowing changeset 911600dab2ae
updating the branch cache
rolling back to revision 0 (undo push)
0:6675d58eff77

@group is allowed inside anything but foo/Bar/
Pushing as user fred
hgrc = """
[acl]
sources = push
[extensions]
[acl.allow]
** = @group1
[acl.deny]
foo/Bar/** = @group1
"""
pushing to ../b
searching for changes
common changesets up to 6675d58eff77
invalidating branch cache (tip differs)
3 changesets found
list of changesets:
ef1ea85a6374b77d6da9dcda9541f498f2d17df7
f9cafe1212c8c6fa1120d14a556e18cc44ff8bdd
911600dab2ae7a9baff75958b84fe606851ce955
adding changesets
bundling changes: 0 chunks
bundling changes: 1 chunks
bundling changes: 2 chunks
bundling changes: 3 chunks
bundling changes: 4 chunks
bundling changes: 5 chunks
bundling changes: 6 chunks
bundling changes: 7 chunks
bundling changes: 8 chunks
bundling changes: 9 chunks
bundling manifests: 0 chunks
bundling manifests: 1 chunks
bundling manifests: 2 chunks
bundling manifests: 3 chunks
bundling manifests: 4 chunks
bundling manifests: 5 chunks
bundling manifests: 6 chunks
bundling manifests: 7 chunks
bundling manifests: 8 chunks
bundling manifests: 9 chunks
bundling files: foo/Bar/file.txt 0 chunks
bundling files: foo/Bar/file.txt 1 chunks
bundling files: foo/Bar/file.txt 2 chunks
bundling files: foo/Bar/file.txt 3 chunks
bundling files: foo/file.txt 4 chunks
bundling files: foo/file.txt 5 chunks
bundling files: foo/file.txt 6 chunks
bundling files: foo/file.txt 7 chunks
bundling files: quux/file.py 8 chunks
bundling files: quux/file.py 9 chunks
bundling files: quux/file.py 10 chunks
bundling files: quux/file.py 11 chunks
changesets: 1 chunks
add changeset ef1ea85a6374
changesets: 2 chunks
add changeset f9cafe1212c8
changesets: 3 chunks
add changeset 911600dab2ae
adding manifests
manifests: 1/3 chunks (33.33%)
manifests: 2/3 chunks (66.67%)
manifests: 3/3 chunks (100.00%)
adding file changes
adding foo/Bar/file.txt revisions
files: 1/3 chunks (33.33%)
adding foo/file.txt revisions
files: 2/3 chunks (66.67%)
adding quux/file.py revisions
files: 3/3 chunks (100.00%)
added 3 changesets with 3 changes to 3 files
calling hook pretxnchangegroup.acl: hgext.acl.hook
acl: acl.allow.branches not enabled
acl: acl.deny.branches not enabled
acl: "group1" not defined in [acl.groups]
acl: acl.allow enabled, 1 entries for user fred
acl: "group1" not defined in [acl.groups]
acl: acl.deny enabled, 1 entries for user fred
acl: branch access granted: "ef1ea85a6374" on branch "default"
acl: allowing changeset ef1ea85a6374
acl: branch access granted: "f9cafe1212c8" on branch "default"
acl: user fred denied on foo/Bar/file.txt
error: pretxnchangegroup.acl hook failed: acl: access denied for changeset f9cafe1212c8
transaction abort!
rollback completed
abort: acl: access denied for changeset f9cafe1212c8
no rollback information available
0:6675d58eff77

Invalid group
** = @unlikelytoexist
acl: "unlikelytoexist" not defined in [acl.groups]
error: pretxnchangegroup.acl hook failed: group 'unlikelytoexist' is undefined
abort: group 'unlikelytoexist' is undefined