Show More
@@ -43,6 +43,8 b' In addition to filters, there are some b' | |||
|
43 | 43 | |
|
44 | 44 | - date(date[, fmt]) |
|
45 | 45 | |
|
46 | - diff([includepattern [, excludepattern]]) | |
|
47 | ||
|
46 | 48 | - fill(text[, width]) |
|
47 | 49 | |
|
48 | 50 | - get(dict, key) |
@@ -225,6 +225,23 b' def date(context, mapping, args):' | |||
|
225 | 225 | return util.datestr(date, fmt) |
|
226 | 226 | return util.datestr(date) |
|
227 | 227 | |
|
228 | def diff(context, mapping, args): | |
|
229 | if len(args) > 2: | |
|
230 | # i18n: "diff" is a keyword | |
|
231 | raise error.ParseError(_("diff expects one, two or no arguments")) | |
|
232 | ||
|
233 | def getpatterns(i): | |
|
234 | if i < len(args): | |
|
235 | s = args[i][1].strip() | |
|
236 | if s: | |
|
237 | return [s] | |
|
238 | return [] | |
|
239 | ||
|
240 | ctx = mapping['ctx'] | |
|
241 | chunks = ctx.diff(match=ctx.match([], getpatterns(0), getpatterns(1))) | |
|
242 | ||
|
243 | return ''.join(chunks) | |
|
244 | ||
|
228 | 245 | def fill(context, mapping, args): |
|
229 | 246 | if not (1 <= len(args) <= 4): |
|
230 | 247 | raise error.ParseError(_("fill expects one to four arguments")) |
@@ -516,6 +533,7 b' methods = {' | |||
|
516 | 533 | |
|
517 | 534 | funcs = { |
|
518 | 535 | "date": date, |
|
536 | "diff": diff, | |
|
519 | 537 | "fill": fill, |
|
520 | 538 | "get": get, |
|
521 | 539 | "if": if_, |
@@ -1794,6 +1794,61 b' Thrown an error if a template function d' | |||
|
1794 | 1794 | hg: parse error: unknown function 'foo' |
|
1795 | 1795 | [255] |
|
1796 | 1796 | |
|
1797 | Test diff function: | |
|
1798 | ||
|
1799 | $ hg diff -c 8 | |
|
1800 | diff -r 29114dbae42b -r 95c24699272e fourth | |
|
1801 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 | |
|
1802 | +++ b/fourth Wed Jan 01 10:01:00 2020 +0000 | |
|
1803 | @@ -0,0 +1,1 @@ | |
|
1804 | +second | |
|
1805 | diff -r 29114dbae42b -r 95c24699272e second | |
|
1806 | --- a/second Mon Jan 12 13:46:40 1970 +0000 | |
|
1807 | +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 | |
|
1808 | @@ -1,1 +0,0 @@ | |
|
1809 | -second | |
|
1810 | diff -r 29114dbae42b -r 95c24699272e third | |
|
1811 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 | |
|
1812 | +++ b/third Wed Jan 01 10:01:00 2020 +0000 | |
|
1813 | @@ -0,0 +1,1 @@ | |
|
1814 | +third | |
|
1815 | ||
|
1816 | $ hg log -r 8 -T "{diff()}" | |
|
1817 | diff -r 29114dbae42b -r 95c24699272e fourth | |
|
1818 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 | |
|
1819 | +++ b/fourth Wed Jan 01 10:01:00 2020 +0000 | |
|
1820 | @@ -0,0 +1,1 @@ | |
|
1821 | +second | |
|
1822 | diff -r 29114dbae42b -r 95c24699272e second | |
|
1823 | --- a/second Mon Jan 12 13:46:40 1970 +0000 | |
|
1824 | +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 | |
|
1825 | @@ -1,1 +0,0 @@ | |
|
1826 | -second | |
|
1827 | diff -r 29114dbae42b -r 95c24699272e third | |
|
1828 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 | |
|
1829 | +++ b/third Wed Jan 01 10:01:00 2020 +0000 | |
|
1830 | @@ -0,0 +1,1 @@ | |
|
1831 | +third | |
|
1832 | ||
|
1833 | $ hg log -r 8 -T "{diff('glob:f*')}" | |
|
1834 | diff -r 29114dbae42b -r 95c24699272e fourth | |
|
1835 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 | |
|
1836 | +++ b/fourth Wed Jan 01 10:01:00 2020 +0000 | |
|
1837 | @@ -0,0 +1,1 @@ | |
|
1838 | +second | |
|
1839 | ||
|
1840 | $ hg log -r 8 -T "{diff('', 'glob:f*')}" | |
|
1841 | diff -r 29114dbae42b -r 95c24699272e second | |
|
1842 | --- a/second Mon Jan 12 13:46:40 1970 +0000 | |
|
1843 | +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 | |
|
1844 | @@ -1,1 +0,0 @@ | |
|
1845 | -second | |
|
1846 | diff -r 29114dbae42b -r 95c24699272e third | |
|
1847 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 | |
|
1848 | +++ b/third Wed Jan 01 10:01:00 2020 +0000 | |
|
1849 | @@ -0,0 +1,1 @@ | |
|
1850 | +third | |
|
1851 | ||
|
1797 | 1852 | $ cd .. |
|
1798 | 1853 | |
|
1799 | 1854 |
General Comments 0
You need to be logged in to leave comments.
Login now