Mercurial > hg
annotate tests/test-mailmap.t @ 47678:065e61628980
dirstate-v2: Support appending to the same data file
For now we’re still writing the entire data every time, so appending is not
useful yet. Later we’ll have new nodes pointing to some existing data for
nodes and paths that haven’t changed.
The decision whether to append is pseudo-random in order to make tests exercise
both code paths. This will be replaced by a heuristic based on the amount
of unused existing data.
Differential Revision: https://phab.mercurial-scm.org/D11094
author | Simon Sapin <simon.sapin@octobus.net> |
---|---|
date | Tue, 13 Jul 2021 17:18:23 +0200 |
parents | 8e57c3b0dce4 |
children |
rev | line source |
---|---|
37210
2a2ce93e12f4
templatefuncs: add mailmap template function
Connor Sheehan <sheehan@mozilla.com>
parents:
diff
changeset
|
1 Create a repo and add some commits |
2a2ce93e12f4
templatefuncs: add mailmap template function
Connor Sheehan <sheehan@mozilla.com>
parents:
diff
changeset
|
2 |
2a2ce93e12f4
templatefuncs: add mailmap template function
Connor Sheehan <sheehan@mozilla.com>
parents:
diff
changeset
|
3 $ hg init mm |
2a2ce93e12f4
templatefuncs: add mailmap template function
Connor Sheehan <sheehan@mozilla.com>
parents:
diff
changeset
|
4 $ cd mm |
2a2ce93e12f4
templatefuncs: add mailmap template function
Connor Sheehan <sheehan@mozilla.com>
parents:
diff
changeset
|
5 $ echo "Test content" > testfile1 |
2a2ce93e12f4
templatefuncs: add mailmap template function
Connor Sheehan <sheehan@mozilla.com>
parents:
diff
changeset
|
6 $ hg add testfile1 |
2a2ce93e12f4
templatefuncs: add mailmap template function
Connor Sheehan <sheehan@mozilla.com>
parents:
diff
changeset
|
7 $ hg commit -m "First commit" -u "Proper <commit@m.c>" |
2a2ce93e12f4
templatefuncs: add mailmap template function
Connor Sheehan <sheehan@mozilla.com>
parents:
diff
changeset
|
8 $ echo "Test content 2" > testfile2 |
2a2ce93e12f4
templatefuncs: add mailmap template function
Connor Sheehan <sheehan@mozilla.com>
parents:
diff
changeset
|
9 $ hg add testfile2 |
2a2ce93e12f4
templatefuncs: add mailmap template function
Connor Sheehan <sheehan@mozilla.com>
parents:
diff
changeset
|
10 $ hg commit -m "Second commit" -u "Commit Name 2 <commit2@m.c>" |
2a2ce93e12f4
templatefuncs: add mailmap template function
Connor Sheehan <sheehan@mozilla.com>
parents:
diff
changeset
|
11 $ echo "Test content 3" > testfile3 |
2a2ce93e12f4
templatefuncs: add mailmap template function
Connor Sheehan <sheehan@mozilla.com>
parents:
diff
changeset
|
12 $ hg add testfile3 |
2a2ce93e12f4
templatefuncs: add mailmap template function
Connor Sheehan <sheehan@mozilla.com>
parents:
diff
changeset
|
13 $ hg commit -m "Third commit" -u "Commit Name 3 <commit3@m.c>" |
2a2ce93e12f4
templatefuncs: add mailmap template function
Connor Sheehan <sheehan@mozilla.com>
parents:
diff
changeset
|
14 $ echo "Test content 4" > testfile4 |
2a2ce93e12f4
templatefuncs: add mailmap template function
Connor Sheehan <sheehan@mozilla.com>
parents:
diff
changeset
|
15 $ hg add testfile4 |
2a2ce93e12f4
templatefuncs: add mailmap template function
Connor Sheehan <sheehan@mozilla.com>
parents:
diff
changeset
|
16 $ hg commit -m "Fourth commit" -u "Commit Name 4 <commit4@m.c>" |
2a2ce93e12f4
templatefuncs: add mailmap template function
Connor Sheehan <sheehan@mozilla.com>
parents:
diff
changeset
|
17 |
2a2ce93e12f4
templatefuncs: add mailmap template function
Connor Sheehan <sheehan@mozilla.com>
parents:
diff
changeset
|
18 Add a .mailmap file with each possible entry type plus comments |
2a2ce93e12f4
templatefuncs: add mailmap template function
Connor Sheehan <sheehan@mozilla.com>
parents:
diff
changeset
|
19 $ cat > .mailmap << EOF |
2a2ce93e12f4
templatefuncs: add mailmap template function
Connor Sheehan <sheehan@mozilla.com>
parents:
diff
changeset
|
20 > # Comment shouldn't break anything |
2a2ce93e12f4
templatefuncs: add mailmap template function
Connor Sheehan <sheehan@mozilla.com>
parents:
diff
changeset
|
21 > <proper@m.c> <commit@m.c> # Should update email only |
2a2ce93e12f4
templatefuncs: add mailmap template function
Connor Sheehan <sheehan@mozilla.com>
parents:
diff
changeset
|
22 > Proper Name 2 <commit2@m.c> # Should update name only |
2a2ce93e12f4
templatefuncs: add mailmap template function
Connor Sheehan <sheehan@mozilla.com>
parents:
diff
changeset
|
23 > Proper Name 3 <proper@m.c> <commit3@m.c> # Should update name, email due to email |
2a2ce93e12f4
templatefuncs: add mailmap template function
Connor Sheehan <sheehan@mozilla.com>
parents:
diff
changeset
|
24 > Proper Name 4 <proper@m.c> Commit Name 4 <commit4@m.c> # Should update name, email due to name, email |
2a2ce93e12f4
templatefuncs: add mailmap template function
Connor Sheehan <sheehan@mozilla.com>
parents:
diff
changeset
|
25 > EOF |
2a2ce93e12f4
templatefuncs: add mailmap template function
Connor Sheehan <sheehan@mozilla.com>
parents:
diff
changeset
|
26 $ hg add .mailmap |
2a2ce93e12f4
templatefuncs: add mailmap template function
Connor Sheehan <sheehan@mozilla.com>
parents:
diff
changeset
|
27 $ hg commit -m "Add mailmap file" -u "Testuser <test123@m.c>" |
2a2ce93e12f4
templatefuncs: add mailmap template function
Connor Sheehan <sheehan@mozilla.com>
parents:
diff
changeset
|
28 |
2a2ce93e12f4
templatefuncs: add mailmap template function
Connor Sheehan <sheehan@mozilla.com>
parents:
diff
changeset
|
29 Output of commits should be normal without filter |
2a2ce93e12f4
templatefuncs: add mailmap template function
Connor Sheehan <sheehan@mozilla.com>
parents:
diff
changeset
|
30 $ hg log -T "{author}\n" -r "all()" |
2a2ce93e12f4
templatefuncs: add mailmap template function
Connor Sheehan <sheehan@mozilla.com>
parents:
diff
changeset
|
31 Proper <commit@m.c> |
2a2ce93e12f4
templatefuncs: add mailmap template function
Connor Sheehan <sheehan@mozilla.com>
parents:
diff
changeset
|
32 Commit Name 2 <commit2@m.c> |
2a2ce93e12f4
templatefuncs: add mailmap template function
Connor Sheehan <sheehan@mozilla.com>
parents:
diff
changeset
|
33 Commit Name 3 <commit3@m.c> |
2a2ce93e12f4
templatefuncs: add mailmap template function
Connor Sheehan <sheehan@mozilla.com>
parents:
diff
changeset
|
34 Commit Name 4 <commit4@m.c> |
2a2ce93e12f4
templatefuncs: add mailmap template function
Connor Sheehan <sheehan@mozilla.com>
parents:
diff
changeset
|
35 Testuser <test123@m.c> |
2a2ce93e12f4
templatefuncs: add mailmap template function
Connor Sheehan <sheehan@mozilla.com>
parents:
diff
changeset
|
36 |
2a2ce93e12f4
templatefuncs: add mailmap template function
Connor Sheehan <sheehan@mozilla.com>
parents:
diff
changeset
|
37 Output of commits with filter shows their mailmap values |
2a2ce93e12f4
templatefuncs: add mailmap template function
Connor Sheehan <sheehan@mozilla.com>
parents:
diff
changeset
|
38 $ hg log -T "{mailmap(author)}\n" -r "all()" |
2a2ce93e12f4
templatefuncs: add mailmap template function
Connor Sheehan <sheehan@mozilla.com>
parents:
diff
changeset
|
39 Proper <proper@m.c> |
2a2ce93e12f4
templatefuncs: add mailmap template function
Connor Sheehan <sheehan@mozilla.com>
parents:
diff
changeset
|
40 Proper Name 2 <commit2@m.c> |
2a2ce93e12f4
templatefuncs: add mailmap template function
Connor Sheehan <sheehan@mozilla.com>
parents:
diff
changeset
|
41 Proper Name 3 <proper@m.c> |
2a2ce93e12f4
templatefuncs: add mailmap template function
Connor Sheehan <sheehan@mozilla.com>
parents:
diff
changeset
|
42 Proper Name 4 <proper@m.c> |
2a2ce93e12f4
templatefuncs: add mailmap template function
Connor Sheehan <sheehan@mozilla.com>
parents:
diff
changeset
|
43 Testuser <test123@m.c> |
2a2ce93e12f4
templatefuncs: add mailmap template function
Connor Sheehan <sheehan@mozilla.com>
parents:
diff
changeset
|
44 |
2a2ce93e12f4
templatefuncs: add mailmap template function
Connor Sheehan <sheehan@mozilla.com>
parents:
diff
changeset
|
45 Add new mailmap entry for testuser |
2a2ce93e12f4
templatefuncs: add mailmap template function
Connor Sheehan <sheehan@mozilla.com>
parents:
diff
changeset
|
46 $ cat >> .mailmap << EOF |
2a2ce93e12f4
templatefuncs: add mailmap template function
Connor Sheehan <sheehan@mozilla.com>
parents:
diff
changeset
|
47 > <newmmentry@m.c> <test123@m.c> |
2a2ce93e12f4
templatefuncs: add mailmap template function
Connor Sheehan <sheehan@mozilla.com>
parents:
diff
changeset
|
48 > EOF |
2a2ce93e12f4
templatefuncs: add mailmap template function
Connor Sheehan <sheehan@mozilla.com>
parents:
diff
changeset
|
49 |
2a2ce93e12f4
templatefuncs: add mailmap template function
Connor Sheehan <sheehan@mozilla.com>
parents:
diff
changeset
|
50 Output of commits with filter shows their updated mailmap values |
2a2ce93e12f4
templatefuncs: add mailmap template function
Connor Sheehan <sheehan@mozilla.com>
parents:
diff
changeset
|
51 $ hg log -T "{mailmap(author)}\n" -r "all()" |
2a2ce93e12f4
templatefuncs: add mailmap template function
Connor Sheehan <sheehan@mozilla.com>
parents:
diff
changeset
|
52 Proper <proper@m.c> |
2a2ce93e12f4
templatefuncs: add mailmap template function
Connor Sheehan <sheehan@mozilla.com>
parents:
diff
changeset
|
53 Proper Name 2 <commit2@m.c> |
2a2ce93e12f4
templatefuncs: add mailmap template function
Connor Sheehan <sheehan@mozilla.com>
parents:
diff
changeset
|
54 Proper Name 3 <proper@m.c> |
2a2ce93e12f4
templatefuncs: add mailmap template function
Connor Sheehan <sheehan@mozilla.com>
parents:
diff
changeset
|
55 Proper Name 4 <proper@m.c> |
2a2ce93e12f4
templatefuncs: add mailmap template function
Connor Sheehan <sheehan@mozilla.com>
parents:
diff
changeset
|
56 Testuser <newmmentry@m.c> |
2a2ce93e12f4
templatefuncs: add mailmap template function
Connor Sheehan <sheehan@mozilla.com>
parents:
diff
changeset
|
57 |
2a2ce93e12f4
templatefuncs: add mailmap template function
Connor Sheehan <sheehan@mozilla.com>
parents:
diff
changeset
|
58 A commit with improperly formatted user field should not break the filter |
2a2ce93e12f4
templatefuncs: add mailmap template function
Connor Sheehan <sheehan@mozilla.com>
parents:
diff
changeset
|
59 $ echo "some more test content" > testfile1 |
2a2ce93e12f4
templatefuncs: add mailmap template function
Connor Sheehan <sheehan@mozilla.com>
parents:
diff
changeset
|
60 $ hg commit -m "Commit with improper user field" -u "Improper user" |
2a2ce93e12f4
templatefuncs: add mailmap template function
Connor Sheehan <sheehan@mozilla.com>
parents:
diff
changeset
|
61 $ hg log -T "{mailmap(author)}\n" -r "all()" |
2a2ce93e12f4
templatefuncs: add mailmap template function
Connor Sheehan <sheehan@mozilla.com>
parents:
diff
changeset
|
62 Proper <proper@m.c> |
2a2ce93e12f4
templatefuncs: add mailmap template function
Connor Sheehan <sheehan@mozilla.com>
parents:
diff
changeset
|
63 Proper Name 2 <commit2@m.c> |
2a2ce93e12f4
templatefuncs: add mailmap template function
Connor Sheehan <sheehan@mozilla.com>
parents:
diff
changeset
|
64 Proper Name 3 <proper@m.c> |
2a2ce93e12f4
templatefuncs: add mailmap template function
Connor Sheehan <sheehan@mozilla.com>
parents:
diff
changeset
|
65 Proper Name 4 <proper@m.c> |
2a2ce93e12f4
templatefuncs: add mailmap template function
Connor Sheehan <sheehan@mozilla.com>
parents:
diff
changeset
|
66 Testuser <newmmentry@m.c> |
2a2ce93e12f4
templatefuncs: add mailmap template function
Connor Sheehan <sheehan@mozilla.com>
parents:
diff
changeset
|
67 Improper user |
37260
8e57c3b0dce4
templatefuncs: do not crash because of invalid value fed to mailmap()
Yuya Nishihara <yuya@tcha.org>
parents:
37210
diff
changeset
|
68 |
8e57c3b0dce4
templatefuncs: do not crash because of invalid value fed to mailmap()
Yuya Nishihara <yuya@tcha.org>
parents:
37210
diff
changeset
|
69 No TypeError beacause of invalid input |
8e57c3b0dce4
templatefuncs: do not crash because of invalid value fed to mailmap()
Yuya Nishihara <yuya@tcha.org>
parents:
37210
diff
changeset
|
70 |
8e57c3b0dce4
templatefuncs: do not crash because of invalid value fed to mailmap()
Yuya Nishihara <yuya@tcha.org>
parents:
37210
diff
changeset
|
71 $ hg log -T '{mailmap(termwidth)}\n' -r0 |
8e57c3b0dce4
templatefuncs: do not crash because of invalid value fed to mailmap()
Yuya Nishihara <yuya@tcha.org>
parents:
37210
diff
changeset
|
72 80 |