Mercurial > hg
annotate tests/test-mailmap.t @ 44588:2a98b0cd4995
setup: build C extensions with -Werror=declaration-after-statement
MSVC 2008 still needs declarations at the top of the scope. I added it to the
3rd party code too in case somebody vendors a new version with a problem-
they'll get an early warning. Clang seems to ignore this (at least on 10.14
with Xcode 10), and gcc 7.4 will error out as desired on Ubuntu 18.04. Thanks
to Yuya for remembering the name of the option.
Differential Revision: https://phab.mercurial-scm.org/D8318
author | Matt Harbison <matt_harbison@yahoo.com> |
---|---|
date | Fri, 20 Mar 2020 23:30:23 -0400 |
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 |