Mercurial > hg
view tests/test-mailmap.t @ 38336:bb7e3c6ef592
phabricator: preserve the phase when amending in the Differential fields
I have no idea if it's better to change scmutil.cleanupnodes() so that it has
the option to either apply a specific phase (e.g. for various --secret switches)
or carry over the phase of the old node. The benefit would be that the caller
doesn't have to remember to do this. The con is maybe inefficiency? I wrote
this up as issue5918. I'm leaving that open since Yuya flagged it as an API
bug.
Since most other callers already do this, it's the simplest fix. (It's not
obvious that `split`, `fix` and `rebase` are doing this, but there is test
coverage for `fix` and `rebase`, and experimenting with `split` shows it does
the right thing.)
author | Matt Harbison <matt_harbison@yahoo.com> |
---|---|
date | Thu, 14 Jun 2018 12:35:04 -0400 |
parents | 8e57c3b0dce4 |
children |
line wrap: on
line source
Create a repo and add some commits $ hg init mm $ cd mm $ echo "Test content" > testfile1 $ hg add testfile1 $ hg commit -m "First commit" -u "Proper <commit@m.c>" $ echo "Test content 2" > testfile2 $ hg add testfile2 $ hg commit -m "Second commit" -u "Commit Name 2 <commit2@m.c>" $ echo "Test content 3" > testfile3 $ hg add testfile3 $ hg commit -m "Third commit" -u "Commit Name 3 <commit3@m.c>" $ echo "Test content 4" > testfile4 $ hg add testfile4 $ hg commit -m "Fourth commit" -u "Commit Name 4 <commit4@m.c>" Add a .mailmap file with each possible entry type plus comments $ cat > .mailmap << EOF > # Comment shouldn't break anything > <proper@m.c> <commit@m.c> # Should update email only > Proper Name 2 <commit2@m.c> # Should update name only > Proper Name 3 <proper@m.c> <commit3@m.c> # Should update name, email due to email > Proper Name 4 <proper@m.c> Commit Name 4 <commit4@m.c> # Should update name, email due to name, email > EOF $ hg add .mailmap $ hg commit -m "Add mailmap file" -u "Testuser <test123@m.c>" Output of commits should be normal without filter $ hg log -T "{author}\n" -r "all()" Proper <commit@m.c> Commit Name 2 <commit2@m.c> Commit Name 3 <commit3@m.c> Commit Name 4 <commit4@m.c> Testuser <test123@m.c> Output of commits with filter shows their mailmap values $ hg log -T "{mailmap(author)}\n" -r "all()" Proper <proper@m.c> Proper Name 2 <commit2@m.c> Proper Name 3 <proper@m.c> Proper Name 4 <proper@m.c> Testuser <test123@m.c> Add new mailmap entry for testuser $ cat >> .mailmap << EOF > <newmmentry@m.c> <test123@m.c> > EOF Output of commits with filter shows their updated mailmap values $ hg log -T "{mailmap(author)}\n" -r "all()" Proper <proper@m.c> Proper Name 2 <commit2@m.c> Proper Name 3 <proper@m.c> Proper Name 4 <proper@m.c> Testuser <newmmentry@m.c> A commit with improperly formatted user field should not break the filter $ echo "some more test content" > testfile1 $ hg commit -m "Commit with improper user field" -u "Improper user" $ hg log -T "{mailmap(author)}\n" -r "all()" Proper <proper@m.c> Proper Name 2 <commit2@m.c> Proper Name 3 <proper@m.c> Proper Name 4 <proper@m.c> Testuser <newmmentry@m.c> Improper user No TypeError beacause of invalid input $ hg log -T '{mailmap(termwidth)}\n' -r0 80