view tests/test-unbundlehash.t @ 19440:4a0d0616c47d

commit: enable --secret option At the moment, creating secret commits is slightly cumbersome. They can either be created by changing the default commit phase to secret or by doing `hg phase --secret --force`. Both of these make secret commits appear to be like some kind of advanced feature. Secret commits, however, should be a convenient feature for people who want to work on a private branch without affecting anyone else. There should therefore be a prominent and convenient method for creating secret commits. Since the default phase is draft and there is no need to use --force to go from a secret phase to any other phase, this patch intentionally does not add --draft and --public options.
author Jordi Gutiérrez Hermoso <jordigh@octave.org>
date Thu, 11 Jul 2013 13:11:41 -0400
parents bc7377160fa7
children 7a9cbb315d84
line wrap: on
line source

  $ "$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