Mercurial > hg > mercurial-crew-with-dirclash
view tests/fish-merge @ 2435:ff2bac730b99
http client: support persistent connections.
uses keepalive module from urlgrabber package. tested against "hg serve",
cgi server, and through http proxy. used ethereal to verify that only
one tcp connection used during entire "hg pull" sequence.
if server supports keepalive, this makes latency of "hg pull" much lower.
author | Vadim Gelfer <vadim.gelfer@gmail.com> |
---|---|
date | Thu, 15 Jun 2006 12:57:59 -0700 |
parents | 0902ffece4b4 |
children |
line wrap: on
line source
#!/bin/sh set -e set -x # skip commit logs HGMERGE=tkmerge; export HGMERGE EDITOR=true; export EDITOR rm -rf m m1 m2 mkdir m cd m echo "m this that" echo "this" > a echo "that" > b hg init hg addremove hg commit echo "a:" `hg dump a` "b:" `hg dump b` echo cd .. echo "m2 this that " mkdir m2 cd m2 hg branch ../m hg checkout echo "a:" `hg dump a` "b:" `hg dump b` echo cd ../m echo "m this1 that " echo "this1" > a hg commit echo "a:" `hg dump a` "b:" `hg dump b` echo cd .. echo "m1 this1 that " mkdir m1 cd m1 hg branch ../m hg checkout echo "a:" `hg dump a` "b:" `hg dump b` echo cd ../m1 echo "m1 this1 that1" echo "that1" > b hg commit echo "a:" `hg dump a` "b:" `hg dump b` echo cd ../m2 echo "m2 this that2" echo "that2" > b hg commit echo "a:" `hg dump a` "b:" `hg dump b` echo cd ../m1 echo "m1:m2 this1 that1 that2" hg merge ../m2 # b should conflict, a should be fine echo "a:" `hg dump a` "b:" `hg dump b` echo cd ../m2 echo "m2 this2 that2" echo "this2" > a hg commit echo "a:" `hg dump a` "b:" `hg dump b` echo cd ../m2 echo "m2:m this12 that2" hg merge ../m # a should conflict, b should be fine echo "a:" `hg dump a` "b:" `hg dump b` echo # now here's the interesting bit # if we choose ancestor by file, no conflicts # otherwise we've got two equally close ancestors, each with a conflict # if we go back to the root, we'll have both conflicts again echo "m2:m1 this12 that12" hg merge ../m1 # should be clean echo "a:" `hg dump a` "b:" `hg dump b` echo