Mercurial > hg
view tests/test-pull-r.t @ 45463:145cfe84d3e4
obsstore: refactor v1 logic to fix 32 byte hash support
Refactor the v1 logic to determine the node parsing based on the flag.
Move the predecessor out of the fixed part and handle it like the other
nodes, removing most of the duplicated code for parsing 20/32 bytes
hashes.
Differential Revision: https://phab.mercurial-scm.org/D8801
author | Joerg Sonnenberger <joerg@bec.de> |
---|---|
date | Thu, 23 Jul 2020 20:23:44 +0200 |
parents | bd7b2c8d06cc |
children | 95c4cca641f6 |
line wrap: on
line source
$ cat <<EOF >> $HGRCPATH > [ui] > interactive = true > EOF $ hg init repo $ cd repo $ echo foo > foo $ hg ci -qAm 'add foo' $ echo >> foo $ hg ci -m 'change foo' $ hg up -qC 0 $ echo bar > bar $ hg ci -qAm 'add bar' $ hg log changeset: 2:effea6de0384 tag: tip parent: 0:bbd179dfa0a7 user: test date: Thu Jan 01 00:00:00 1970 +0000 summary: add bar changeset: 1:ed1b79f46b9a user: test date: Thu Jan 01 00:00:00 1970 +0000 summary: change foo changeset: 0:bbd179dfa0a7 user: test date: Thu Jan 01 00:00:00 1970 +0000 summary: add foo $ cd .. don't show "(+1 heads)" message when pulling closed head $ hg clone -q repo repo2 $ hg clone -q repo2 repo3 $ cd repo2 $ hg up -q 0 $ echo hello >> foo $ hg ci -mx1 created new head $ hg ci -mx2 --close-branch $ cd ../repo3 $ hg heads -q --closed 2:effea6de0384 1:ed1b79f46b9a $ hg pull --confirm << EOF > n > EOF pulling from $TESTTMP/repo2 searching for changes adding changesets adding manifests adding file changes adding 2 changesets with 1 changes to 1 files new changesets 8c900227dd5d:00cfe9073916 accept incoming changes (yn)? n transaction abort! rollback completed abort: user aborted [255] $ hg pull --config pull.confirm=true << EOF > n > EOF pulling from $TESTTMP/repo2 searching for changes adding changesets adding manifests adding file changes adding 2 changesets with 1 changes to 1 files new changesets 8c900227dd5d:00cfe9073916 accept incoming changes (yn)? n transaction abort! rollback completed abort: user aborted [255] $ hg pull --confirm << EOF > y > EOF pulling from $TESTTMP/repo2 searching for changes adding changesets adding manifests adding file changes adding 2 changesets with 1 changes to 1 files new changesets 8c900227dd5d:00cfe9073916 accept incoming changes (yn)? y added 2 changesets with 1 changes to 1 files new changesets 8c900227dd5d:00cfe9073916 (run 'hg update' to get a working copy) $ hg heads -q --closed 4:00cfe9073916 2:effea6de0384 1:ed1b79f46b9a pull--confirm config option should be ignored if HGPLAIN is set $ HGPLAIN=1 hg pull --config pull.confirm=True pulling from $TESTTMP/repo2 searching for changes no changes found $ cd .. $ hg init copy $ cd copy Pull a missing revision: $ hg pull -qr missing ../repo abort: unknown revision 'missing'! [255] Pull multiple revisions with update: $ hg pull -qu -r 0 -r 1 ../repo $ hg -q parents 0:bbd179dfa0a7 $ hg rollback repository tip rolled back to revision -1 (undo pull) working directory now based on revision -1 $ hg pull -qr 0 ../repo $ hg log changeset: 0:bbd179dfa0a7 tag: tip user: test date: Thu Jan 01 00:00:00 1970 +0000 summary: add foo $ hg pull -qr 1 ../repo $ hg log changeset: 1:ed1b79f46b9a tag: tip user: test date: Thu Jan 01 00:00:00 1970 +0000 summary: change foo changeset: 0:bbd179dfa0a7 user: test date: Thu Jan 01 00:00:00 1970 +0000 summary: add foo This used to abort: received changelog group is empty: $ hg pull -qr 1 ../repo Test race condition with -r and -U (issue4707) We pull '-U -r <name>' and the name change right after/during the changegroup emission. We use http because http is better is our racy-est option. $ echo babar > ../repo/jungle $ cat <<EOF > ../repo/.hg/hgrc > [hooks] > outgoing.makecommit = hg ci -Am 'racy commit'; echo committed in pull-race > EOF $ hg serve -R ../repo -p $HGPORT2 -d --pid-file=../repo.pid $ cat ../repo.pid >> $DAEMON_PIDS $ hg pull --rev default --update http://localhost:$HGPORT2/ pulling from http://localhost:$HGPORT2/ searching for changes adding changesets adding manifests adding file changes added 1 changesets with 1 changes to 1 files (+1 heads) new changesets effea6de0384 2 files updated, 0 files merged, 0 files removed, 0 files unresolved $ hg log -G @ changeset: 2:effea6de0384 | tag: tip | parent: 0:bbd179dfa0a7 | user: test | date: Thu Jan 01 00:00:00 1970 +0000 | summary: add bar | | o changeset: 1:ed1b79f46b9a |/ user: test | date: Thu Jan 01 00:00:00 1970 +0000 | summary: change foo | o changeset: 0:bbd179dfa0a7 user: test date: Thu Jan 01 00:00:00 1970 +0000 summary: add foo $ cd .. $ killdaemons.py