Show More
@@ -43,6 +43,8 b' In addition to filters, there are some b' | |||||
43 |
|
43 | |||
44 | - date(date[, fmt]) |
|
44 | - date(date[, fmt]) | |
45 |
|
45 | |||
|
46 | - diff([includepattern [, excludepattern]]) | |||
|
47 | ||||
46 | - fill(text[, width]) |
|
48 | - fill(text[, width]) | |
47 |
|
49 | |||
48 | - get(dict, key) |
|
50 | - get(dict, key) |
@@ -225,6 +225,23 b' def date(context, mapping, args):' | |||||
225 | return util.datestr(date, fmt) |
|
225 | return util.datestr(date, fmt) | |
226 | return util.datestr(date) |
|
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 | def fill(context, mapping, args): |
|
245 | def fill(context, mapping, args): | |
229 | if not (1 <= len(args) <= 4): |
|
246 | if not (1 <= len(args) <= 4): | |
230 | raise error.ParseError(_("fill expects one to four arguments")) |
|
247 | raise error.ParseError(_("fill expects one to four arguments")) | |
@@ -516,6 +533,7 b' methods = {' | |||||
516 |
|
533 | |||
517 | funcs = { |
|
534 | funcs = { | |
518 | "date": date, |
|
535 | "date": date, | |
|
536 | "diff": diff, | |||
519 | "fill": fill, |
|
537 | "fill": fill, | |
520 | "get": get, |
|
538 | "get": get, | |
521 | "if": if_, |
|
539 | "if": if_, |
@@ -1794,6 +1794,61 b' Thrown an error if a template function d' | |||||
1794 | hg: parse error: unknown function 'foo' |
|
1794 | hg: parse error: unknown function 'foo' | |
1795 | [255] |
|
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 | $ cd .. |
|
1852 | $ cd .. | |
1798 |
|
1853 | |||
1799 |
|
1854 |
General Comments 0
You need to be logged in to leave comments.
Login now