Mercurial > hg
view tests/test-wireproto-command-pushkey.t @ 40391:abbd077965c0
wireprotov2: support exposing linknode of file revisions
When supporting shallow file storage, clients may fetch file revisions
by changeset. But they may not readily know which changeset introduced a
specific file revision. The "linknode" is used to record which changeset
introduces which file revision.
This commit teaches the "filedata" and "filesdata" wire protocol commands
to expose the linknode for file revisions. The implementation is likely
wrong when hidden changesets are in play, since the linknode may refer to
a hidden changeset. We can deal with this problem later.
Differential Revision: https://phab.mercurial-scm.org/D5167
author | Gregory Szorc <gregory.szorc@gmail.com> |
---|---|
date | Fri, 19 Oct 2018 15:38:25 +0200 |
parents | a732d70253b0 |
children |
line wrap: on
line source
$ . $TESTDIR/wireprotohelpers.sh $ hg init server $ enablehttpv2 server $ cd server $ cat >> .hg/hgrc << EOF > [web] > push_ssl = false > allow-push = * > EOF $ hg debugdrawdag << EOF > C D > |/ > B > | > A > EOF $ hg serve -p $HGPORT -d --pid-file hg.pid -E error.log $ cat hg.pid > $DAEMON_PIDS pushkey for a bookmark works $ sendhttpv2peer << EOF > command pushkey > namespace bookmarks > key @ > old > new 426bada5c67598ca65036d57d9e4b64b0c1ce7a0 > EOF creating http peer for wire protocol version 2 sending pushkey command response: True $ sendhttpv2peer << EOF > command listkeys > namespace bookmarks > EOF creating http peer for wire protocol version 2 sending listkeys command response: { b'@': b'426bada5c67598ca65036d57d9e4b64b0c1ce7a0' } $ cat error.log