[PATCH 4 of 4] localrepo: add unbundle support

Augie Fackler raf at durin42.com
Sat Apr 12 11:30:37 CDT 2014


On Thu, Apr 10, 2014 at 10:13:17AM -0700, pierre-yves.david at ens-lyon.org wrote:
> # HG changeset patch
> # User Pierre-Yves David <pierre-yves.david at fb.com>
> # Date 1396659044 25200
> #      Fri Apr 04 17:50:44 2014 -0700
> # Node ID a90a6df5fd2ddace645e11bd7f27bc34d9564a20
> # Parent  28d1d63edc24d908d974f29605a6af44613c800b
> localrepo: add unbundle support

This series also appears to have been ninja queued.

>
> Localrepo now support the unbundle method of pushing changegroup. We plan to use
> the unbundle call for bundle2 so it is important that all peers supports it. The
> `peer.unbundle` and `peer.addchangegroup` code path have small difference. So
> some test output changes. None of those changes seems problematic.
>
> diff --git a/mercurial/localrepo.py b/mercurial/localrepo.py
> --- a/mercurial/localrepo.py
> +++ b/mercurial/localrepo.py
> @@ -61,11 +61,11 @@ def unfilteredmethod(orig):
>      def wrapper(repo, *args, **kwargs):
>          return orig(repo.unfiltered(), *args, **kwargs)
>      return wrapper
>
>  moderncaps = set(('lookup', 'branchmap', 'pushkey', 'known', 'getbundle',
> -                  'bundle2'))
> +                  'bundle2', 'unbundle'))
>  legacycaps = moderncaps.union(set(['changegroupsubset']))
>
>  class localpeer(peer.peerrepository):
>      '''peer for a local repo; reflects only the most recent API'''
>
> @@ -110,10 +110,20 @@ class localpeer(peer.peerrepository):
>                                    common=common, bundlecaps=bundlecaps)
>
>      # TODO We might want to move the next two calls into legacypeer and add
>      # unbundle instead.
>
> +    def unbundle(self, cg, heads, url):
> +        """apply a bundle on a repo
> +
> +        This function handle the repo locking itself."""
> +        try:
> +            return exchange.unbundle(self._repo, cg, heads, 'push', url)
> +        except exchange.PushRaced, exc:
> +            raise error.ResponseError(_('push failed:'), exc.message)
> +
> +
>      def lock(self):
>          return self._repo.lock()
>
>      def addchangegroup(self, cg, source, url):
>          return changegroup.addchangegroup(self._repo, cg, source, url)
> diff --git a/tests/test-acl.t b/tests/test-acl.t
> --- a/tests/test-acl.t
> +++ b/tests/test-acl.t
> @@ -114,13 +114,13 @@ Extension disabled for lack of a hook
>    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
>    listing keys for "phases"
>    try to push obsolete markers to remote
> -  updating the branch cache
>    checking for updated bookmarks
>    listing keys for "bookmarks"
>    repository tip rolled back to revision 0 (undo push)
>    0:6675d58eff77
>
> @@ -175,13 +175,13 @@ Extension disabled for lack of acl.sourc
>    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
>    listing keys for "phases"
>    try to push obsolete markers to remote
> -  updating the branch cache
>    checking for updated bookmarks
>    listing keys for "bookmarks"
>    repository tip rolled back to revision 0 (undo push)
>    0:6675d58eff77
>
> @@ -247,13 +247,13 @@ No [acl.allow]/[acl.deny]
>    acl: path access granted: "ef1ea85a6374"
>    acl: branch access granted: "f9cafe1212c8" on branch "default"
>    acl: path access granted: "f9cafe1212c8"
>    acl: branch access granted: "911600dab2ae" on branch "default"
>    acl: path access granted: "911600dab2ae"
> +  updating the branch cache
>    listing keys for "phases"
>    try to push obsolete markers to remote
> -  updating the branch cache
>    checking for updated bookmarks
>    listing keys for "bookmarks"
>    repository tip rolled back to revision 0 (undo push)
>    0:6675d58eff77
>
> @@ -318,10 +318,14 @@ Empty [acl.allow]
>    acl: branch access granted: "ef1ea85a6374" on branch "default"
>    error: pretxnchangegroup.acl hook failed: acl: user "fred" not allowed on "foo/file.txt" (changeset "ef1ea85a6374")
>    transaction abort!
>    rollback completed
>    abort: acl: user "fred" not allowed on "foo/file.txt" (changeset "ef1ea85a6374")
> +  listing keys for "phases"
> +  try to push obsolete markers to remote
> +  checking for updated bookmarks
> +  listing keys for "bookmarks"
>    no rollback information available
>    0:6675d58eff77
>
>
>  fred is allowed inside foo/
> @@ -389,10 +393,14 @@ fred is allowed inside foo/
>    acl: branch access granted: "911600dab2ae" on branch "default"
>    error: pretxnchangegroup.acl hook failed: acl: user "fred" not allowed on "quux/file.py" (changeset "911600dab2ae")
>    transaction abort!
>    rollback completed
>    abort: acl: user "fred" not allowed on "quux/file.py" (changeset "911600dab2ae")
> +  listing keys for "phases"
> +  try to push obsolete markers to remote
> +  checking for updated bookmarks
> +  listing keys for "bookmarks"
>    no rollback information available
>    0:6675d58eff77
>
>
>  Empty [acl.deny]
> @@ -457,10 +465,14 @@ Empty [acl.deny]
>    acl: branch access granted: "ef1ea85a6374" on branch "default"
>    error: pretxnchangegroup.acl hook failed: acl: user "barney" not allowed on "foo/file.txt" (changeset "ef1ea85a6374")
>    transaction abort!
>    rollback completed
>    abort: acl: user "barney" not allowed on "foo/file.txt" (changeset "ef1ea85a6374")
> +  listing keys for "phases"
> +  try to push obsolete markers to remote
> +  checking for updated bookmarks
> +  listing keys for "bookmarks"
>    no rollback information available
>    0:6675d58eff77
>
>
>  fred is allowed inside foo/, but not foo/bar/ (case matters)
> @@ -530,10 +542,14 @@ fred is allowed inside foo/, but not foo
>    acl: branch access granted: "911600dab2ae" on branch "default"
>    error: pretxnchangegroup.acl hook failed: acl: user "fred" not allowed on "quux/file.py" (changeset "911600dab2ae")
>    transaction abort!
>    rollback completed
>    abort: acl: user "fred" not allowed on "quux/file.py" (changeset "911600dab2ae")
> +  listing keys for "phases"
> +  try to push obsolete markers to remote
> +  checking for updated bookmarks
> +  listing keys for "bookmarks"
>    no rollback information available
>    0:6675d58eff77
>
>
>  fred is allowed inside foo/, but not foo/Bar/
> @@ -602,10 +618,14 @@ fred is allowed inside foo/, but not foo
>    acl: branch access granted: "f9cafe1212c8" on branch "default"
>    error: pretxnchangegroup.acl hook failed: acl: user "fred" denied on "foo/Bar/file.txt" (changeset "f9cafe1212c8")
>    transaction abort!
>    rollback completed
>    abort: acl: user "fred" denied on "foo/Bar/file.txt" (changeset "f9cafe1212c8")
> +  listing keys for "phases"
> +  try to push obsolete markers to remote
> +  checking for updated bookmarks
> +  listing keys for "bookmarks"
>    no rollback information available
>    0:6675d58eff77
>
>
>    $ echo 'barney is not mentioned => not allowed anywhere'
> @@ -671,10 +691,14 @@ fred is allowed inside foo/, but not foo
>    acl: branch access granted: "ef1ea85a6374" on branch "default"
>    error: pretxnchangegroup.acl hook failed: acl: user "barney" not allowed on "foo/file.txt" (changeset "ef1ea85a6374")
>    transaction abort!
>    rollback completed
>    abort: acl: user "barney" not allowed on "foo/file.txt" (changeset "ef1ea85a6374")
> +  listing keys for "phases"
> +  try to push obsolete markers to remote
> +  checking for updated bookmarks
> +  listing keys for "bookmarks"
>    no rollback information available
>    0:6675d58eff77
>
>
>  barney is allowed everywhere
> @@ -745,13 +769,13 @@ barney is allowed everywhere
>    acl: path access granted: "ef1ea85a6374"
>    acl: branch access granted: "f9cafe1212c8" on branch "default"
>    acl: path access granted: "f9cafe1212c8"
>    acl: branch access granted: "911600dab2ae" on branch "default"
>    acl: path access granted: "911600dab2ae"
> +  updating the branch cache
>    listing keys for "phases"
>    try to push obsolete markers to remote
> -  updating the branch cache
>    checking for updated bookmarks
>    listing keys for "bookmarks"
>    repository tip rolled back to revision 0 (undo push)
>    0:6675d58eff77
>
> @@ -827,10 +851,14 @@ wilma can change files with a .txt exten
>    acl: branch access granted: "911600dab2ae" on branch "default"
>    error: pretxnchangegroup.acl hook failed: acl: user "wilma" not allowed on "quux/file.py" (changeset "911600dab2ae")
>    transaction abort!
>    rollback completed
>    abort: acl: user "wilma" not allowed on "quux/file.py" (changeset "911600dab2ae")
> +  listing keys for "phases"
> +  try to push obsolete markers to remote
> +  checking for updated bookmarks
> +  listing keys for "bookmarks"
>    no rollback information available
>    0:6675d58eff77
>
>
>  file specified by acl.config does not exist
> @@ -982,10 +1010,14 @@ betty is allowed inside foo/ by a acl.co
>    acl: branch access granted: "911600dab2ae" on branch "default"
>    error: pretxnchangegroup.acl hook failed: acl: user "betty" not allowed on "quux/file.py" (changeset "911600dab2ae")
>    transaction abort!
>    rollback completed
>    abort: acl: user "betty" not allowed on "quux/file.py" (changeset "911600dab2ae")
> +  listing keys for "phases"
> +  try to push obsolete markers to remote
> +  checking for updated bookmarks
> +  listing keys for "bookmarks"
>    no rollback information available
>    0:6675d58eff77
>
>
>  acl.config can set only [acl.allow]/[acl.deny]
> @@ -1065,13 +1097,13 @@ acl.config can set only [acl.allow]/[acl
>    acl: path access granted: "ef1ea85a6374"
>    acl: branch access granted: "f9cafe1212c8" on branch "default"
>    acl: path access granted: "f9cafe1212c8"
>    acl: branch access granted: "911600dab2ae" on branch "default"
>    acl: path access granted: "911600dab2ae"
> +  updating the branch cache
>    listing keys for "phases"
>    try to push obsolete markers to remote
> -  updating the branch cache
>    checking for updated bookmarks
>    listing keys for "bookmarks"
>    repository tip rolled back to revision 0 (undo push)
>    0:6675d58eff77
>
> @@ -1145,13 +1177,13 @@ fred is always allowed
>    acl: path access granted: "ef1ea85a6374"
>    acl: branch access granted: "f9cafe1212c8" on branch "default"
>    acl: path access granted: "f9cafe1212c8"
>    acl: branch access granted: "911600dab2ae" on branch "default"
>    acl: path access granted: "911600dab2ae"
> +  updating the branch cache
>    listing keys for "phases"
>    try to push obsolete markers to remote
> -  updating the branch cache
>    checking for updated bookmarks
>    listing keys for "bookmarks"
>    repository tip rolled back to revision 0 (undo push)
>    0:6675d58eff77
>
> @@ -1222,10 +1254,14 @@ no one is allowed inside foo/Bar/
>    acl: branch access granted: "f9cafe1212c8" on branch "default"
>    error: pretxnchangegroup.acl hook failed: acl: user "fred" denied on "foo/Bar/file.txt" (changeset "f9cafe1212c8")
>    transaction abort!
>    rollback completed
>    abort: acl: user "fred" denied on "foo/Bar/file.txt" (changeset "f9cafe1212c8")
> +  listing keys for "phases"
> +  try to push obsolete markers to remote
> +  checking for updated bookmarks
> +  listing keys for "bookmarks"
>    no rollback information available
>    0:6675d58eff77
>
>
>  Groups
> @@ -1298,13 +1334,13 @@ OS-level groups
>    acl: path access granted: "ef1ea85a6374"
>    acl: branch access granted: "f9cafe1212c8" on branch "default"
>    acl: path access granted: "f9cafe1212c8"
>    acl: branch access granted: "911600dab2ae" on branch "default"
>    acl: path access granted: "911600dab2ae"
> +  updating the branch cache
>    listing keys for "phases"
>    try to push obsolete markers to remote
> -  updating the branch cache
>    checking for updated bookmarks
>    listing keys for "bookmarks"
>    repository tip rolled back to revision 0 (undo push)
>    0:6675d58eff77
>
> @@ -1377,10 +1413,14 @@ OS-level groups
>    acl: branch access granted: "f9cafe1212c8" on branch "default"
>    error: pretxnchangegroup.acl hook failed: acl: user "fred" denied on "foo/Bar/file.txt" (changeset "f9cafe1212c8")
>    transaction abort!
>    rollback completed
>    abort: acl: user "fred" denied on "foo/Bar/file.txt" (changeset "f9cafe1212c8")
> +  listing keys for "phases"
> +  try to push obsolete markers to remote
> +  checking for updated bookmarks
> +  listing keys for "bookmarks"
>    no rollback information available
>    0:6675d58eff77
>
>
>  Invalid group
> @@ -1499,13 +1539,13 @@ No branch acls specified
>    acl: path access granted: "f9cafe1212c8"
>    acl: branch access granted: "911600dab2ae" on branch "default"
>    acl: path access granted: "911600dab2ae"
>    acl: branch access granted: "e8fc755d4d82" on branch "foobar"
>    acl: path access granted: "e8fc755d4d82"
> +  updating the branch cache
>    listing keys for "phases"
>    try to push obsolete markers to remote
> -  updating the branch cache
>    checking for updated bookmarks
>    listing keys for "bookmarks"
>    repository tip rolled back to revision 2 (undo push)
>    2:fb35475503ef
>
> @@ -1584,10 +1624,15 @@ Branch acl deny test
>    acl: path access granted: "911600dab2ae"
>    error: pretxnchangegroup.acl hook failed: acl: user "astro" denied on branch "foobar" (changeset "e8fc755d4d82")
>    transaction abort!
>    rollback completed
>    abort: acl: user "astro" denied on branch "foobar" (changeset "e8fc755d4d82")
> +  listing keys for "phases"
> +  pushing key for "phases:fb35475503efed933514ec92cd0c9f341c73bffa"
> +  try to push obsolete markers to remote
> +  checking for updated bookmarks
> +  listing keys for "bookmarks"
>    no rollback information available
>    2:fb35475503ef
>
>
>  Branch acl empty allow test
> @@ -1657,10 +1702,14 @@ Branch acl empty allow test
>    acl: acl.deny not enabled
>    error: pretxnchangegroup.acl hook failed: acl: user "astro" not allowed on branch "default" (changeset "ef1ea85a6374")
>    transaction abort!
>    rollback completed
>    abort: acl: user "astro" not allowed on branch "default" (changeset "ef1ea85a6374")
> +  listing keys for "phases"
> +  try to push obsolete markers to remote
> +  checking for updated bookmarks
> +  listing keys for "bookmarks"
>    no rollback information available
>    2:fb35475503ef
>
>
>  Branch acl allow other
> @@ -1732,10 +1781,14 @@ Branch acl allow other
>    acl: acl.deny not enabled
>    error: pretxnchangegroup.acl hook failed: acl: user "astro" not allowed on branch "default" (changeset "ef1ea85a6374")
>    transaction abort!
>    rollback completed
>    abort: acl: user "astro" not allowed on branch "default" (changeset "ef1ea85a6374")
> +  listing keys for "phases"
> +  try to push obsolete markers to remote
> +  checking for updated bookmarks
> +  listing keys for "bookmarks"
>    no rollback information available
>    2:fb35475503ef
>
>    $ do_push george
>    Pushing as user george
> @@ -1805,13 +1858,13 @@ Branch acl allow other
>    acl: path access granted: "f9cafe1212c8"
>    acl: branch access granted: "911600dab2ae" on branch "default"
>    acl: path access granted: "911600dab2ae"
>    acl: branch access granted: "e8fc755d4d82" on branch "foobar"
>    acl: path access granted: "e8fc755d4d82"
> +  updating the branch cache
>    listing keys for "phases"
>    try to push obsolete markers to remote
> -  updating the branch cache
>    checking for updated bookmarks
>    listing keys for "bookmarks"
>    repository tip rolled back to revision 2 (undo push)
>    2:fb35475503ef
>
> @@ -1836,10 +1889,11 @@ push foobar into the remote
>    """
>    pushing to ../b
>    query 1; heads
>    searching for changes
>    all remote heads known locally
> +  invalid branchheads cache (served): tip differs
>    listing keys for "bookmarks"
>    4 changesets found
>    list of changesets:
>    ef1ea85a6374b77d6da9dcda9541f498f2d17df7
>    f9cafe1212c8c6fa1120d14a556e18cc44ff8bdd
> @@ -1893,13 +1947,13 @@ push foobar into the remote
>    acl: path access granted: "f9cafe1212c8"
>    acl: branch access granted: "911600dab2ae" on branch "default"
>    acl: path access granted: "911600dab2ae"
>    acl: branch access granted: "e8fc755d4d82" on branch "foobar"
>    acl: path access granted: "e8fc755d4d82"
> +  updating the branch cache
>    listing keys for "phases"
>    try to push obsolete markers to remote
> -  updating the branch cache
>    checking for updated bookmarks
>    listing keys for "bookmarks"
>    repository tip rolled back to revision 2 (undo push)
>    2:fb35475503ef
>
> @@ -1923,10 +1977,11 @@ Branch acl conflicting deny
>    """
>    pushing to ../b
>    query 1; heads
>    searching for changes
>    all remote heads known locally
> +  invalid branchheads cache (served): tip differs
>    listing keys for "bookmarks"
>    4 changesets found
>    list of changesets:
>    ef1ea85a6374b77d6da9dcda9541f498f2d17df7
>    f9cafe1212c8c6fa1120d14a556e18cc44ff8bdd
> @@ -1976,10 +2031,14 @@ Branch acl conflicting deny
>    acl: acl.deny not enabled
>    error: pretxnchangegroup.acl hook failed: acl: user "george" denied on branch "default" (changeset "ef1ea85a6374")
>    transaction abort!
>    rollback completed
>    abort: acl: user "george" denied on branch "default" (changeset "ef1ea85a6374")
> +  listing keys for "phases"
> +  try to push obsolete markers to remote
> +  checking for updated bookmarks
> +  listing keys for "bookmarks"
>    no rollback information available
>    2:fb35475503ef
>
>  User 'astro' must not be denied
>
> @@ -1997,10 +2056,11 @@ User 'astro' must not be denied
>    """
>    pushing to ../b
>    query 1; heads
>    searching for changes
>    all remote heads known locally
> +  invalid branchheads cache (served): tip differs
>    listing keys for "bookmarks"
>    4 changesets found
>    list of changesets:
>    ef1ea85a6374b77d6da9dcda9541f498f2d17df7
>    f9cafe1212c8c6fa1120d14a556e18cc44ff8bdd
> @@ -2054,13 +2114,13 @@ User 'astro' must not be denied
>    acl: path access granted: "f9cafe1212c8"
>    acl: branch access granted: "911600dab2ae" on branch "default"
>    acl: path access granted: "911600dab2ae"
>    acl: branch access granted: "e8fc755d4d82" on branch "foobar"
>    acl: path access granted: "e8fc755d4d82"
> +  updating the branch cache
>    listing keys for "phases"
>    try to push obsolete markers to remote
> -  updating the branch cache
>    checking for updated bookmarks
>    listing keys for "bookmarks"
>    repository tip rolled back to revision 2 (undo push)
>    2:fb35475503ef
>
> @@ -2078,10 +2138,11 @@ Non-astro users must be denied
>    """
>    pushing to ../b
>    query 1; heads
>    searching for changes
>    all remote heads known locally
> +  invalid branchheads cache (served): tip differs
>    listing keys for "bookmarks"
>    4 changesets found
>    list of changesets:
>    ef1ea85a6374b77d6da9dcda9541f498f2d17df7
>    f9cafe1212c8c6fa1120d14a556e18cc44ff8bdd
> @@ -2131,9 +2192,13 @@ Non-astro users must be denied
>    acl: acl.deny not enabled
>    error: pretxnchangegroup.acl hook failed: acl: user "george" denied on branch "default" (changeset "ef1ea85a6374")
>    transaction abort!
>    rollback completed
>    abort: acl: user "george" denied on branch "default" (changeset "ef1ea85a6374")
> +  listing keys for "phases"
> +  try to push obsolete markers to remote
> +  checking for updated bookmarks
> +  listing keys for "bookmarks"
>    no rollback information available
>    2:fb35475503ef
>
>
> diff --git a/tests/test-eol-hook.t b/tests/test-eol-hook.t
> --- a/tests/test-eol-hook.t
> +++ b/tests/test-eol-hook.t
> @@ -44,11 +44,11 @@ Create repo
>      a.txt in a8ee6548cd86 should not have CRLF line endings
>    transaction abort!
>    rollback completed
>    abort: end-of-line check failed:
>      a.txt in a8ee6548cd86 should not have CRLF line endings
> -  [255]
> +  [1]
>
>    $ printf "first\nsecond\nthird\n" > a.txt
>    $ hg commit -m 'LF a.txt (fixed)'
>    $ hg push ../main
>    pushing to ../main
> @@ -72,11 +72,11 @@ Create repo
>      crlf.txt in 004ba2132725 should not have LF line endings
>    transaction abort!
>    rollback completed
>    abort: end-of-line check failed:
>      crlf.txt in 004ba2132725 should not have LF line endings
> -  [255]
> +  [1]
>
>    $ printf "first\r\nsecond\r\nthird\r\n" > crlf.txt
>    $ hg commit -m 'CRLF crlf.txt (fixed)'
>    $ hg push ../main
>    pushing to ../main
> @@ -100,11 +100,11 @@ Create repo
>      b.txt in fbcf9b1025f5 should not have CRLF line endings
>    transaction abort!
>    rollback completed
>    abort: end-of-line check failed:
>      b.txt in fbcf9b1025f5 should not have CRLF line endings
> -  [255]
> +  [1]
>
>    $ hg up -r -2
>    0 files updated, 0 files merged, 1 files removed, 0 files unresolved
>    $ printf "some\nother\nfile" > c.txt
>    $ hg add c.txt
> @@ -121,11 +121,11 @@ Create repo
>      b.txt in fbcf9b1025f5 should not have CRLF line endings
>    transaction abort!
>    rollback completed
>    abort: end-of-line check failed:
>      b.txt in fbcf9b1025f5 should not have CRLF line endings
> -  [255]
> +  [1]
>
>  Test checkheadshook alias
>
>    $ cat > ../main/.hg/hgrc <<EOF
>    > [hooks]
> @@ -142,11 +142,11 @@ Test checkheadshook alias
>      b.txt in fbcf9b1025f5 should not have CRLF line endings
>    transaction abort!
>    rollback completed
>    abort: end-of-line check failed:
>      b.txt in fbcf9b1025f5 should not have CRLF line endings
> -  [255]
> +  [1]
>
>  We can fix the head and push again
>
>    $ hg up 6
>    1 files updated, 0 files merged, 1 files removed, 0 files unresolved
> @@ -179,11 +179,11 @@ Test it still fails with checkallhook
>      b.txt in fbcf9b1025f5 should not have CRLF line endings
>    transaction abort!
>    rollback completed
>    abort: end-of-line check failed:
>      b.txt in fbcf9b1025f5 should not have CRLF line endings
> -  [255]
> +  [1]
>
>  But we can push the clean head
>
>    $ hg push -r7 -f ../main
>    pushing to ../main
> @@ -211,8 +211,8 @@ Test multiple files/revisions output
>    transaction abort!
>    rollback completed
>    abort: end-of-line check failed:
>      d.txt in a7040e68714f should not have CRLF line endings
>      b.txt in fbcf9b1025f5 should not have CRLF line endings
> -  [255]
> +  [1]
>
>    $ cd ..
> diff --git a/tests/test-lock-badness.t b/tests/test-lock-badness.t
> --- a/tests/test-lock-badness.t
> +++ b/tests/test-lock-badness.t
> @@ -32,10 +32,11 @@ Pushing to a local read-only repo that c
>
>    $ chmod 100 a/.hg/store
>
>    $ hg -R b push a
>    pushing to a
> +  searching for changes
>    abort: could not lock repository a: Permission denied
>    [255]
>
>    $ chmod 700 a/.hg/store
>  #endif
> diff --git a/tests/test-push-validation.t b/tests/test-push-validation.t
> --- a/tests/test-push-validation.t
> +++ b/tests/test-push-validation.t
> @@ -50,11 +50,11 @@ Expected to fail:
>    adding manifests
>    adding file changes
>    transaction abort!
>    rollback completed
>    abort: received spurious file revlog entry
> -  [255]
> +  [1]
>
>    $ hg -q rollback
>    $ mv tmp1 .hg/store/data/beta.i
>    $ echo beta > beta
>
> @@ -85,8 +85,8 @@ Expected to fail:
>    adding manifests
>    adding file changes
>    transaction abort!
>    rollback completed
>    abort: missing file data for beta:dddc47b3ba30e54484720ce0f4f768a0f4b6efb9 - run hg verify
> -  [255]
> +  [1]
>
>    $ cd ..
> diff --git a/tests/test-win32text.t b/tests/test-win32text.t
> --- a/tests/test-win32text.t
> +++ b/tests/test-win32text.t
> @@ -76,11 +76,11 @@ push should fail
>    [decode]
>    ** = cleverdecode:
>    transaction abort!
>    rollback completed
>    abort: pretxnchangegroup.crlf hook failed
> -  [255]
> +  [1]
>
>    $ mv .hg/hgrc.bak .hg/hgrc
>    $ echo hello > f
>    $ hg rm g
>
> _______________________________________________
> Mercurial-devel mailing list
> Mercurial-devel at selenic.com
> http://selenic.com/mailman/listinfo/mercurial-devel


More information about the Mercurial-devel mailing list