annotate tests/test-log-exthook.t @ 40417:49c7b701fdc2 stable

phase: add an archived phase This phase allows for hidden changesets in the "user space". It differs from the "internal" phase which is intended for internal by-product only. There have been discussions at the 4.8 sprint to use such phase to speedup cleanup after history rewriting operation. Shipping it in the same release as the 'internal-phase' groups the associated `requires` entry. The important bit is to have support for this phase in the earliest version of mercurial possible. Adding the UI to manipulate this new phase later seems fine. The current plan for archived usage and user interface are as follow. On a repository with internal-phase on and evolution off: * history rewriting command set rewritten changeset in the archived phase. (This mean updating the cleanupnodes method). * keep `hg unbundle .hg/strip-backup/X.hg` as a way to restore changeset for now (backup bundle need to contains phase data) * [maybe] add a `hg strip --soft` advance flag (a light way to expose the feature without getting in the way of a better UI) Mercurial 4.8 freeze is too close to get the above in by then. We don't introduce a new repository `requirement` as we reuse the one introduced with the 'archived' phase during the 4.8 cycle.
author Boris Feld <boris.feld@octobus.net>
date Wed, 17 Oct 2018 14:47:01 +0200
parents 2b9f315a4217
children 005bc856e919
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
33154
4ecc6047d45f log: add an extension hook-point in changeset_printer
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
1 Test hg log changeset printer external hook
4ecc6047d45f log: add an extension hook-point in changeset_printer
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
2 -------------------------------------------
4ecc6047d45f log: add an extension hook-point in changeset_printer
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
3
4ecc6047d45f log: add an extension hook-point in changeset_printer
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
4 $ cat > $TESTTMP/logexthook.py <<EOF
33964
bfafd189edd9 tests: update test-log-exthook to pass our import checker
Augie Fackler <raf@durin42.com>
parents: 33154
diff changeset
5 > from __future__ import absolute_import
39657
2b9f315a4217 py3: use codecs.encode() to encode in rot-13 encoding
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 35888
diff changeset
6 > import codecs
33964
bfafd189edd9 tests: update test-log-exthook to pass our import checker
Augie Fackler <raf@durin42.com>
parents: 33154
diff changeset
7 > from mercurial import (
bfafd189edd9 tests: update test-log-exthook to pass our import checker
Augie Fackler <raf@durin42.com>
parents: 33154
diff changeset
8 > commands,
35888
c8e2d6ed1f9e cmdutil: drop aliases for logcmdutil functions (API)
Yuya Nishihara <yuya@tcha.org>
parents: 33964
diff changeset
9 > logcmdutil,
33964
bfafd189edd9 tests: update test-log-exthook to pass our import checker
Augie Fackler <raf@durin42.com>
parents: 33154
diff changeset
10 > repair,
bfafd189edd9 tests: update test-log-exthook to pass our import checker
Augie Fackler <raf@durin42.com>
parents: 33154
diff changeset
11 > )
33154
4ecc6047d45f log: add an extension hook-point in changeset_printer
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
12 > def rot13description(self, ctx):
39657
2b9f315a4217 py3: use codecs.encode() to encode in rot-13 encoding
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 35888
diff changeset
13 > summary = codecs.encode("summary", 'rot-13')
33154
4ecc6047d45f log: add an extension hook-point in changeset_printer
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
14 > description = ctx.description().strip().splitlines()[0].encode('rot13')
4ecc6047d45f log: add an extension hook-point in changeset_printer
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
15 > self.ui.write("%s: %s\n" % (summary, description))
4ecc6047d45f log: add an extension hook-point in changeset_printer
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
16 > def reposetup(ui, repo):
35888
c8e2d6ed1f9e cmdutil: drop aliases for logcmdutil functions (API)
Yuya Nishihara <yuya@tcha.org>
parents: 33964
diff changeset
17 > logcmdutil.changesetprinter._exthook = rot13description
33154
4ecc6047d45f log: add an extension hook-point in changeset_printer
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
18 > EOF
4ecc6047d45f log: add an extension hook-point in changeset_printer
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
19
4ecc6047d45f log: add an extension hook-point in changeset_printer
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
20 Prepare the repository
4ecc6047d45f log: add an extension hook-point in changeset_printer
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
21
4ecc6047d45f log: add an extension hook-point in changeset_printer
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
22 $ hg init empty
4ecc6047d45f log: add an extension hook-point in changeset_printer
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
23 $ cd empty
4ecc6047d45f log: add an extension hook-point in changeset_printer
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
24 $ touch ROOT
4ecc6047d45f log: add an extension hook-point in changeset_printer
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
25 $ hg commit -A -m "Root" ROOT
4ecc6047d45f log: add an extension hook-point in changeset_printer
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
26
4ecc6047d45f log: add an extension hook-point in changeset_printer
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
27 $ touch a b c
4ecc6047d45f log: add an extension hook-point in changeset_printer
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
28 $ hg commit -A -m "Add A, B, C" a b c
4ecc6047d45f log: add an extension hook-point in changeset_printer
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
29
4ecc6047d45f log: add an extension hook-point in changeset_printer
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
30 Check the log
4ecc6047d45f log: add an extension hook-point in changeset_printer
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
31
4ecc6047d45f log: add an extension hook-point in changeset_printer
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
32 $ hg log --config extensions.t=$TESTTMP/logexthook.py
4ecc6047d45f log: add an extension hook-point in changeset_printer
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
33 changeset: 1:70fc82b23320
4ecc6047d45f log: add an extension hook-point in changeset_printer
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
34 tag: tip
4ecc6047d45f log: add an extension hook-point in changeset_printer
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
35 user: test
4ecc6047d45f log: add an extension hook-point in changeset_printer
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
36 date: Thu Jan 01 00:00:00 1970 +0000
4ecc6047d45f log: add an extension hook-point in changeset_printer
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
37 fhzznel: Nqq N, O, P
4ecc6047d45f log: add an extension hook-point in changeset_printer
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
38 summary: Add A, B, C
4ecc6047d45f log: add an extension hook-point in changeset_printer
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
39
4ecc6047d45f log: add an extension hook-point in changeset_printer
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
40 changeset: 0:b00443a54871
4ecc6047d45f log: add an extension hook-point in changeset_printer
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
41 user: test
4ecc6047d45f log: add an extension hook-point in changeset_printer
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
42 date: Thu Jan 01 00:00:00 1970 +0000
4ecc6047d45f log: add an extension hook-point in changeset_printer
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
43 fhzznel: Ebbg
4ecc6047d45f log: add an extension hook-point in changeset_printer
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
44 summary: Root
4ecc6047d45f log: add an extension hook-point in changeset_printer
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
45
4ecc6047d45f log: add an extension hook-point in changeset_printer
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
46 Check that exthook is working with graph log too
4ecc6047d45f log: add an extension hook-point in changeset_printer
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
47
4ecc6047d45f log: add an extension hook-point in changeset_printer
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
48 $ hg log -G --config extensions.t=$TESTTMP/logexthook.py
4ecc6047d45f log: add an extension hook-point in changeset_printer
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
49 @ changeset: 1:70fc82b23320
4ecc6047d45f log: add an extension hook-point in changeset_printer
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
50 | tag: tip
4ecc6047d45f log: add an extension hook-point in changeset_printer
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
51 | user: test
4ecc6047d45f log: add an extension hook-point in changeset_printer
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
52 | date: Thu Jan 01 00:00:00 1970 +0000
4ecc6047d45f log: add an extension hook-point in changeset_printer
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
53 | fhzznel: Nqq N, O, P
4ecc6047d45f log: add an extension hook-point in changeset_printer
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
54 | summary: Add A, B, C
4ecc6047d45f log: add an extension hook-point in changeset_printer
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
55 |
4ecc6047d45f log: add an extension hook-point in changeset_printer
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
56 o changeset: 0:b00443a54871
4ecc6047d45f log: add an extension hook-point in changeset_printer
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
57 user: test
4ecc6047d45f log: add an extension hook-point in changeset_printer
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
58 date: Thu Jan 01 00:00:00 1970 +0000
4ecc6047d45f log: add an extension hook-point in changeset_printer
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
59 fhzznel: Ebbg
4ecc6047d45f log: add an extension hook-point in changeset_printer
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
60 summary: Root
4ecc6047d45f log: add an extension hook-point in changeset_printer
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
61