Mercurial > hg
view tests/test-fetch @ 6297:fed1a9c22076
dirstate.remove: during merges, remember the previous file state
We encode the previous state as a negative file size (AFAICS, previous
versions of hg always have size == 0 when state == 'r').
We save the state of 'm'erged and dirty files, because they're the
two states that indicate that a file has to be committed on a merge
to correctly record per-file history.
author | Alexis S. L. Carvalho <alexis@cecm.usp.br> |
---|---|
date | Tue, 18 Mar 2008 04:07:39 -0300 |
parents | 35bf9c23e17a |
children | a6b74fbb5ce0 |
line wrap: on
line source
#!/bin/sh # adjust to non-default HGPORT, e.g. with run-tests.py -j hideport() { sed "s/localhost:$HGPORT/localhost:20059/"; } hidehash() { sed "s/changeset 3:............ merges/changeset 3:... merges/"; } echo "[extensions]" >> $HGRCPATH echo "fetch=" >> $HGRCPATH hg init a echo a > a/a hg --cwd a commit -d '1 0' -Ama hg clone a b hg clone a c echo b > a/b hg --cwd a commit -d '2 0' -Amb hg --cwd a parents -q echo % should pull one change hg --cwd b fetch ../a hg --cwd b parents -q echo c > c/c hg --cwd c commit -d '3 0' -Amc hg clone c d hg clone c e # We cannot use the default commit message if fetching from a local # repo, because the path of the repo will be included in the commit # message, making every commit appear different. echo % should merge c into a hg --cwd c fetch -d '4 0' -m 'automated merge' ../a ls c hg --cwd a serve -a localhost -p $HGPORT -d --pid-file=hg.pid cat a/hg.pid >> "$DAEMON_PIDS" echo '% fetch over http, no auth' hg --cwd d fetch -d '5 0' http://localhost:$HGPORT/ | hideport | hidehash hg --cwd d tip --template '{desc}\n' | hideport echo '% fetch over http with auth (should be hidden in desc)' hg --cwd e fetch -d '5 0' http://user:password@localhost:$HGPORT/ | hideport | hidehash hg --cwd e tip --template '{desc}\n' | hideport hg clone a f hg clone a g echo f > f/f hg --cwd f ci -d '6 0' -Amf echo g > g/g hg --cwd g ci -d '6 0' -Amg hg clone -q f h hg clone -q g i echo % should merge f into g hg --cwd g fetch -d '7 0' --switch -m 'automated merge' ../f rm i/g echo % should abort, because i is modified hg --cwd i fetch ../h true