tests/test-unbundlehash.t
author Augie Fackler <raf@durin42.com>
Sat, 07 Jun 2014 15:23:12 -0400
branchstable
changeset 21826 2ba6c9b4e0eb
parent 17539 bc7377160fa7
child 22046 7a9cbb315d84
permissions -rw-r--r--
rebase: fix bug that caused transitive copy records to disappear (issue4192) The defect was that copies were always duplicated against the target revision, rather than the first parent of the revision being rebased. This produced nominally correct results if changes were rebased one at a time (or with --collapse), but was wrong if we rebased a sequence of changesets which contained a sequence of copies.

  $ "$TESTDIR/hghave" killdaemons || exit 80

Test wire protocol unbundle with hashed heads (capability: unbundlehash)

Create a remote repository.

  $ hg init remote
  $ hg serve -R remote --config web.push_ssl=False --config web.allow_push=* -p $HGPORT -d --pid-file=hg1.pid -E error.log -A access.log
  $ cat hg1.pid >> $DAEMON_PIDS

Clone the repository and push a change.

  $ hg clone http://localhost:$HGPORT/ local
  no changes found
  updating to branch default
  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
  $ touch local/README
  $ hg ci -R local -A -m hoge
  adding README
  $ hg push -R local
  pushing to http://localhost:$HGPORT/
  searching for changes
  remote: adding changesets
  remote: adding manifests
  remote: adding file changes
  remote: added 1 changesets with 1 changes to 1 files

Ensure hashed heads format is used.
The hash here is always the same since the remote repository only has the null head.

  $ cat access.log | grep unbundle
  * - - [*] "POST /?cmd=unbundle HTTP/1.1" 200 - x-hgarg-1:heads=686173686564+6768033e216468247bd031a0a2d9876d79818f8f (glob)

Explicitly kill daemons to let the test exit on Windows

  $ "$TESTDIR/killdaemons.py" $DAEMON_PIDS