Mercurial > hg > mercurial-crew-with-dirclash
view tests/test-static-http @ 4100:c30c922f907a
Modify qpush/qpop idempotent operations to return success
Modify qpush/qpop such that idempotent instances of the operations
return success. That is, repeated qpush -a, qpop -a, qpush patch-name
or qpop patch-name will return success. The end goal of each of these
operations is to reach a particular state. Whether or not the patches
were already applied does not affect that state or operation status.
Likewise, be careful to retain the error status on a qpush/qpop
without arguments when the end/beginning of the series has been
reached.
author | Ben Thomas <bthomas@virtualiron.com> |
---|---|
date | Tue, 13 Feb 2007 08:54:48 -0500 |
parents | 33b6c8193652 |
children | 347766c2ff86 |
line wrap: on
line source
#!/bin/sh http_proxy= hg clone static-http://localhost:20059/ copy echo $? test -d copy || echo copy: No such file or directory # This server doesn't do range requests so it's basically only good for # one pull cat > dumb.py <<EOF import BaseHTTPServer, SimpleHTTPServer, signal def run(server_class=BaseHTTPServer.HTTPServer, handler_class=SimpleHTTPServer.SimpleHTTPRequestHandler): server_address = ('localhost', 20059) httpd = server_class(server_address, handler_class) httpd.serve_forever() signal.signal(signal.SIGTERM, lambda x: sys.exit(0)) run() EOF python dumb.py 2>/dev/null & echo $! >> $DAEMON_PIDS mkdir remote cd remote hg init echo foo > bar hg add bar hg commit -m"test" -d "1000000 0" hg tip cd .. http_proxy= hg clone static-http://localhost:20059/remote local cd local hg verify cat bar cd ../remote echo baz > quux hg commit -A -mtest2 -d '100000000 0' cd ../local echo '[hooks]' >> .hg/hgrc echo 'changegroup = echo changegroup: u=$HG_URL' >> .hg/hgrc http_proxy= hg pull kill $!