Mercurial > hg
view tests/test-changelog-exec.t @ 24280:6c55e37ba5f2
templater: allow piping generator-type function output to filters
Template functions use "yield"s assuming that the result will be combined
into a string, which means both "f -> str" and "f -> generator" should behave
in the same way.
Before this patch, piping generator function resulted in a cryptic error.
We had to insert "|stringify" in this case.
$ hg log --template '{if(author, author)|user}\n'
abort: template filter 'userfilter' is not compatible with keyword
'[(<function runsymbol at 0x7f5af2e8d8c0>, 'author'),
(<function runsymbol at 0x7f5af2e8d8c0>, 'author')]'
author | Yuya Nishihara <yuya@tcha.org> |
---|---|
date | Tue, 24 Feb 2015 00:04:55 +0900 |
parents | e6e7ef68c879 |
children | 009d0283de5f |
line wrap: on
line source
#require execbit b51a8138292a introduced a regression where we would mention in the changelog executable files added by the second parent of a merge. Test that that doesn't happen anymore $ hg init repo $ cd repo $ echo foo > foo $ hg ci -qAm 'add foo' $ echo bar > bar $ chmod +x bar $ hg ci -qAm 'add bar' manifest of p2: $ hg manifest bar foo $ hg up -qC 0 $ echo >> foo $ hg ci -m 'change foo' created new head manifest of p1: $ hg manifest foo $ hg merge 1 files updated, 0 files merged, 0 files removed, 0 files unresolved (branch merge, don't forget to commit) $ chmod +x foo $ hg ci -m 'merge' this should not mention bar but should mention foo: $ hg tip -v changeset: 3:c53d17ff3380 tag: tip parent: 2:ed1b79f46b9a parent: 1:d394a8db219b user: test date: Thu Jan 01 00:00:00 1970 +0000 files: foo description: merge $ hg debugindex bar rev offset length ..... linkrev nodeid p1 p2 (re) 0 0 5 ..... 1 b004912a8510 000000000000 000000000000 (re) $ cd ..