Two slightly different solutions
Improved version of Jason, with status indicators
I'm too lazy to fight with excessive newlines in output, sort -u
will kill it anyway, so
Changed style-file (added status and \n before keywords, because {file_*} keywords output space-separated list, contrary to {file})
changeset = '{file_mods}\n{file_dels}\n{file_adds}'
file_mod = '\nM {file_mod}'
file_add = '\nA {file_add}'
file_del = '\nD {file_del}'
Used hg log -r "outgoing(PATH)" (may be improved, placed in [revsetalias] probably somehow)
Sample output
M 404.php
M functions.php
M readme.txt
M screenshot.png
M style.css
M readme.txt
M sidebar.php
M style.css
M comments.php
M functions.php
M header.php
M readme.txt
M sidebar.php
M style.css
M footer.php
M functions.php
M header.php
M search.php
M style.css
A readme.txt
M functions.php
M functions.php
A 404.php
A archive.php
A archives.php
A comments.php
A footer.php
A functions.php
A header.php
A html5.js
A image.php
A index.php
A license.txt
A links.php
A page.php
A screenshot.png
A search.php
A sidebar.php
A single.php
A style.css
Status-based solution
In case of single range of outgoing (push affect only one branch) фтв availability of possibility to define outgoing first and last changeset (handwork for Windows):
hg log -r "(min(outgoing()))"
(hereinafter A)
hg log -r "(max(outgoing()))"
(hereinafter B, probably always tip)
hg status
with two specified revisions will show all changes with their respective statuses
hg st --rev A --rev B
For the same repo from solution 1 and the same range
hg st --rev 1 --rev 7
M 404.php
M comments.php
M footer.php
M functions.php
M header.php
M screenshot.png
M search.php
M sidebar.php
M style.css
A readme.txt
If working directory parent is latest changeset in outgoing range (tip and WD-parent is tip is casual case) secong revision in st
can be skipped (by default hg status
will compare with working dir) and status becomes hg status --rev A