Mercurial > hg
changeset 35539:d1aae6d4efc5 stable
templatefilters: fix doc of basename()
os.path.basename() does NOT strip trailing slashes.
> Note that the result of this function is different from the Unix basename
> program; where basename for '/foo/bar/' returns 'bar', the basename()
> function returns an empty string ('').
https://docs.python.org/2.7/library/os.path.html#os.path.basename
author | Yuya Nishihara <yuya@tcha.org> |
---|---|
date | Sun, 07 Jan 2018 12:07:29 +0900 |
parents | f39cf992216f |
children | f948c5b3f5c9 |
files | mercurial/templatefilters.py tests/test-command-template.t |
diffstat | 2 files changed, 7 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/templatefilters.py Sun Jan 07 15:56:58 2018 +0900 +++ b/mercurial/templatefilters.py Sun Jan 07 12:07:29 2018 +0900 @@ -90,9 +90,8 @@ @templatefilter('basename') def basename(path): """Any text. Treats the text as a path, and returns the last - component of the path after splitting by the path separator - (ignoring trailing separators). For example, "foo/bar/baz" becomes - "baz" and "foo/bar//" becomes "bar". + component of the path after splitting by the path separator. + For example, "foo/bar/baz" becomes "baz" and "foo/bar//" becomes "". """ return os.path.basename(path)
--- a/tests/test-command-template.t Sun Jan 07 15:56:58 2018 +0900 +++ b/tests/test-command-template.t Sun Jan 07 12:07:29 2018 +0900 @@ -2218,6 +2218,11 @@ $ cd .. $ rm -rf unstable-hash +Filename filters: + + $ hg debugtemplate '{"foo/bar"|basename}|{"foo/"|basename}|{"foo"|basename}|\n' + bar||foo| + Add a dummy commit to make up for the instability of the above: $ echo a > a