Mercurial > hg
changeset 17342:471f30d360ea stable
clone: don't fail with --update for non-local clones (issue3578)
This was broken by 5884812686f7 due to lack of test coverage. This
adds a test and fixes the defect.
author | Augie Fackler <raf@durin42.com> |
---|---|
date | Wed, 08 Aug 2012 10:04:02 -0500 |
parents | 96189d60d810 |
children | e560ecb755fe |
files | mercurial/hg.py tests/test-http.t |
diffstat | 2 files changed, 27 insertions(+), 9 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/hg.py Mon Aug 06 12:03:07 2012 -0500 +++ b/mercurial/hg.py Wed Aug 08 10:04:02 2012 -0500 @@ -398,7 +398,7 @@ if update: if update is not True: - checkout = srcrepo.lookup(update) + checkout = srcpeer.lookup(update) for test in (checkout, 'default', 'tip'): if test is None: continue
--- a/tests/test-http.t Mon Aug 06 12:03:07 2012 -0500 +++ b/tests/test-http.t Wed Aug 08 10:04:02 2012 -0500 @@ -77,6 +77,24 @@ adding bar $ cd .. +clone over http with --update + + $ hg clone http://localhost:$HGPORT1/ updated --update 0 + requesting all changes + adding changesets + adding manifests + adding file changes + added 2 changesets with 5 changes to 5 files + updating to branch default + 4 files updated, 0 files merged, 0 files removed, 0 files unresolved + $ hg log -r . -R updated + changeset: 0:8b6053c928fe + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: 1 + + $ rm -rf updated + incoming via HTTP $ hg clone http://localhost:$HGPORT1/ --rev 0 partial @@ -129,7 +147,7 @@ > if not auth: > raise common.ErrorResponse(common.HTTP_UNAUTHORIZED, 'who', > [('WWW-Authenticate', 'Basic Realm="mercurial"')]) - > if base64.b64decode(auth.split()[1]).split(':', 1) != ['user', 'pass']: + > if base64.b64decode(auth.split()[1]).split(':', 1) != ['user', 'pass']: > raise common.ErrorResponse(common.HTTP_FORBIDDEN, 'no') > def extsetup(): > common.permhooks.insert(0, perform_authentication) @@ -138,24 +156,24 @@ > --config server.preferuncompressed=True $ cat pid >> $DAEMON_PIDS - $ hg id http://localhost:$HGPORT2/ + $ hg id http://localhost:$HGPORT2/ abort: http authorization required [255] - $ hg id http://user@localhost:$HGPORT2/ + $ hg id http://user@localhost:$HGPORT2/ abort: http authorization required [255] $ hg id http://user:pass@localhost:$HGPORT2/ 5fed3813f7f5 - $ echo '[auth]' >> .hg/hgrc + $ echo '[auth]' >> .hg/hgrc $ echo 'l.schemes=http' >> .hg/hgrc $ echo 'l.prefix=lo' >> .hg/hgrc $ echo 'l.username=user' >> .hg/hgrc $ echo 'l.password=pass' >> .hg/hgrc - $ hg id http://localhost:$HGPORT2/ + $ hg id http://localhost:$HGPORT2/ 5fed3813f7f5 - $ hg id http://localhost:$HGPORT2/ + $ hg id http://localhost:$HGPORT2/ 5fed3813f7f5 - $ hg id http://user@localhost:$HGPORT2/ + $ hg id http://user@localhost:$HGPORT2/ 5fed3813f7f5 $ hg clone http://user:pass@localhost:$HGPORT2/ dest 2>&1 streaming all changes @@ -164,7 +182,7 @@ updating to branch default 5 files updated, 0 files merged, 0 files removed, 0 files unresolved - $ hg id http://user2@localhost:$HGPORT2/ + $ hg id http://user2@localhost:$HGPORT2/ abort: http authorization required [255] $ hg id http://user:pass2@localhost:$HGPORT2/