D3731: templatefilters: rename commonprefix to commondir
martinvonz (Martin von Zweigbergk)
phabricator at mercurial-scm.org
Wed Jun 13 22:06:47 UTC 2018
martinvonz created this revision.
Herald added a subscriber: mercurial-devel.
Herald added a reviewer: hg-reviewers.
REVISION SUMMARY
Two reasons:
- It makes it clearer that it's not a generic common string prefix (e.g. commonprefix(["bar", "baz"]) is not "ba", but "")
- If we ever want a filter for generic common string prefix, then the name is now available for that.
"commondir" does not describe the prefix-ness, however. I'm happy to
rename it "commondirprefix" or "commonprefixdir" if others prefer.
REPOSITORY
rHG Mercurial
REVISION DETAIL
https://phab.mercurial-scm.org/D3731
AFFECTED FILES
mercurial/templatefilters.py
tests/test-template-filters.t
CHANGE DETAILS
diff --git a/tests/test-template-filters.t b/tests/test-template-filters.t
--- a/tests/test-template-filters.t
+++ b/tests/test-template-filters.t
@@ -1,23 +1,23 @@
- $ hg debugtemplate '{""|splitlines|commonprefix}\n'
+ $ hg debugtemplate '{""|splitlines|commondir}\n'
- $ hg debugtemplate '{"foo/bar\nfoo/baz\nfoo/foobar\n"|splitlines|commonprefix}\n'
+ $ hg debugtemplate '{"foo/bar\nfoo/baz\nfoo/foobar\n"|splitlines|commondir}\n'
foo
- $ hg debugtemplate '{"foo/bar\nfoo/bar\n"|splitlines|commonprefix}\n'
+ $ hg debugtemplate '{"foo/bar\nfoo/bar\n"|splitlines|commondir}\n'
foo
- $ hg debugtemplate '{"/foo/bar\n/foo/bar\n"|splitlines|commonprefix}\n'
+ $ hg debugtemplate '{"/foo/bar\n/foo/bar\n"|splitlines|commondir}\n'
foo
- $ hg debugtemplate '{"/foo\n/foo\n"|splitlines|commonprefix}\n'
+ $ hg debugtemplate '{"/foo\n/foo\n"|splitlines|commondir}\n'
- $ hg debugtemplate '{"foo/bar\nbar/baz"|splitlines|commonprefix}\n'
+ $ hg debugtemplate '{"foo/bar\nbar/baz"|splitlines|commondir}\n'
- $ hg debugtemplate '{"foo/bar\nbar/baz\nbar/foo\n"|splitlines|commonprefix}\n'
+ $ hg debugtemplate '{"foo/bar\nbar/baz\nbar/foo\n"|splitlines|commondir}\n'
- $ hg debugtemplate '{"foo/../bar\nfoo/bar"|splitlines|commonprefix}\n'
+ $ hg debugtemplate '{"foo/../bar\nfoo/bar"|splitlines|commondir}\n'
foo
- $ hg debugtemplate '{"foo\n/foo"|splitlines|commonprefix}\n'
+ $ hg debugtemplate '{"foo\n/foo"|splitlines|commondir}\n'
$ hg init
- $ hg log -r null -T '{rev|commonprefix}'
+ $ hg log -r null -T '{rev|commondir}'
hg: parse error: argument is not a list of text
- (template filter 'commonprefix' is not compatible with keyword 'rev')
+ (template filter 'commondir' is not compatible with keyword 'rev')
[255]
diff --git a/mercurial/templatefilters.py b/mercurial/templatefilters.py
--- a/mercurial/templatefilters.py
+++ b/mercurial/templatefilters.py
@@ -99,8 +99,8 @@
"""
return os.path.basename(path)
- at templatefilter('commonprefix')
-def commonprefix(filelist):
+ at templatefilter('commondir')
+def commondir(filelist):
"""List of text. Treats each list item as file name with /
as path separator and returns the longest common directory
prefix shared by all list items.
To: martinvonz, #hg-reviewers
Cc: mercurial-devel
More information about the Mercurial-devel
mailing list