mirror of
https://github.com/facebook/sapling.git
synced 2024-10-07 15:27:13 +03:00
b6559c7bf6
This happened to crash in subrepo setups when the base class variable was modified twice. Now we don't modify the class variable but an instance copy.
166 lines
4.4 KiB
Perl
166 lines
4.4 KiB
Perl
|
|
$ hg clone http://localhost:$HGPORT/ copy
|
|
abort: error: Connection refused
|
|
[255]
|
|
$ test -d copy
|
|
[1]
|
|
|
|
This server doesn't do range requests so it's basically only good for
|
|
one pull
|
|
|
|
$ cat > dumb.py <<EOF
|
|
> import BaseHTTPServer, SimpleHTTPServer, os, signal, sys
|
|
>
|
|
> def run(server_class=BaseHTTPServer.HTTPServer,
|
|
> handler_class=SimpleHTTPServer.SimpleHTTPRequestHandler):
|
|
> server_address = ('localhost', int(os.environ['HGPORT']))
|
|
> httpd = server_class(server_address, handler_class)
|
|
> httpd.serve_forever()
|
|
>
|
|
> signal.signal(signal.SIGTERM, lambda x, y: sys.exit(0))
|
|
> run()
|
|
> EOF
|
|
$ python dumb.py 2>/dev/null &
|
|
$ echo $! >> $DAEMON_PIDS
|
|
$ mkdir remote
|
|
$ cd remote
|
|
$ hg init
|
|
$ echo foo > bar
|
|
$ echo c2 > '.dotfile with spaces'
|
|
$ hg add
|
|
adding .dotfile with spaces
|
|
adding bar
|
|
$ hg commit -m"test"
|
|
$ hg tip
|
|
changeset: 0:02770d679fb8
|
|
tag: tip
|
|
user: test
|
|
date: Thu Jan 01 00:00:00 1970 +0000
|
|
summary: test
|
|
|
|
$ cd ..
|
|
$ hg clone static-http://localhost:$HGPORT/remote local
|
|
requesting all changes
|
|
adding changesets
|
|
adding manifests
|
|
adding file changes
|
|
added 1 changesets with 2 changes to 2 files
|
|
updating to branch default
|
|
2 files updated, 0 files merged, 0 files removed, 0 files unresolved
|
|
$ cd local
|
|
$ hg verify
|
|
checking changesets
|
|
checking manifests
|
|
crosschecking files in changesets and manifests
|
|
checking files
|
|
2 files, 1 changesets, 2 total revisions
|
|
$ cat bar
|
|
foo
|
|
$ cd ../remote
|
|
$ echo baz > quux
|
|
$ hg commit -A -mtest2
|
|
adding quux
|
|
|
|
check for HTTP opener failures when cachefile does not exist
|
|
|
|
$ rm .hg/cache/*
|
|
$ cd ../local
|
|
$ echo '[hooks]' >> .hg/hgrc
|
|
$ echo 'changegroup = python "$TESTDIR"/printenv.py changegroup' >> .hg/hgrc
|
|
$ hg pull
|
|
pulling from static-http://localhost:$HGPORT/remote
|
|
searching for changes
|
|
adding changesets
|
|
adding manifests
|
|
adding file changes
|
|
added 1 changesets with 1 changes to 1 files
|
|
changegroup hook: HG_NODE=4ac2e3648604439c580c69b09ec9d93a88d93432 HG_SOURCE=pull HG_URL=http://localhost:$HGPORT/remote
|
|
(run 'hg update' to get a working copy)
|
|
|
|
trying to push
|
|
|
|
$ hg update
|
|
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
|
|
$ echo more foo >> bar
|
|
$ hg commit -m"test"
|
|
$ hg push
|
|
pushing to static-http://localhost:$HGPORT/remote
|
|
abort: cannot lock static-http repository
|
|
[255]
|
|
|
|
trying clone -r
|
|
|
|
$ cd ..
|
|
$ hg clone -r donotexist static-http://localhost:$HGPORT/remote local0
|
|
abort: unknown revision 'donotexist'!
|
|
[255]
|
|
$ hg clone -r 0 static-http://localhost:$HGPORT/remote local0
|
|
adding changesets
|
|
adding manifests
|
|
adding file changes
|
|
added 1 changesets with 2 changes to 2 files
|
|
updating to branch default
|
|
2 files updated, 0 files merged, 0 files removed, 0 files unresolved
|
|
|
|
test with "/" URI (issue 747) and subrepo
|
|
|
|
$ hg init
|
|
$ hg init sub
|
|
$ hg -R sub tag not-empty
|
|
$ echo sub=sub > .hgsub
|
|
$ echo a > a
|
|
$ hg add a .hgsub
|
|
$ hg -q ci -ma
|
|
$ hg clone static-http://localhost:$HGPORT/ local2
|
|
requesting all changes
|
|
adding changesets
|
|
adding manifests
|
|
adding file changes
|
|
added 1 changesets with 3 changes to 3 files
|
|
updating to branch default
|
|
pulling subrepo sub from static-http://localhost:$HGPORT/sub
|
|
requesting all changes
|
|
adding changesets
|
|
adding manifests
|
|
adding file changes
|
|
added 1 changesets with 1 changes to 1 files
|
|
3 files updated, 0 files merged, 0 files removed, 0 files unresolved
|
|
$ cd local2
|
|
$ hg verify
|
|
checking changesets
|
|
checking manifests
|
|
crosschecking files in changesets and manifests
|
|
checking files
|
|
3 files, 1 changesets, 3 total revisions
|
|
$ cat a
|
|
a
|
|
$ hg paths
|
|
default = static-http://localhost:$HGPORT/
|
|
|
|
test with empty repo (issue965)
|
|
|
|
$ cd ..
|
|
$ hg init remotempty
|
|
$ hg clone static-http://localhost:$HGPORT/remotempty local3
|
|
no changes found
|
|
updating to branch default
|
|
0 files updated, 0 files merged, 0 files removed, 0 files unresolved
|
|
$ cd local3
|
|
$ hg verify
|
|
checking changesets
|
|
checking manifests
|
|
crosschecking files in changesets and manifests
|
|
checking files
|
|
0 files, 0 changesets, 0 total revisions
|
|
$ hg paths
|
|
default = static-http://localhost:$HGPORT/remotempty
|
|
|
|
test with non-repo
|
|
|
|
$ cd ..
|
|
$ mkdir notarepo
|
|
$ hg clone static-http://localhost:$HGPORT/notarepo local3
|
|
abort: 'http://localhost:$HGPORT/notarepo' does not appear to be an hg repository!
|
|
[255]
|
|
$ kill $!
|