mercurial/fileset.py
changeset 24408 caa6b6c65dc3
parent 24334 eda2f36889b5
child 25252 ac381dd7a21f
--- a/mercurial/fileset.py	Mon Mar 16 16:01:16 2015 -0700
+++ b/mercurial/fileset.py	Thu Mar 19 21:26:18 2015 -0700
@@ -256,6 +256,16 @@
     ignore = mctx.ctx.repo().dirstate._ignore
     return [f for f in mctx.subset if ignore(f)]
 
+def portable(mctx, x):
+    """``portable()``
+    File that has a portable name. (This doesn't include filenames with case
+    collisions.)
+    """
+    # i18n: "portable" is a keyword
+    getargs(x, 0, 0, _("portable takes no arguments"))
+    checkwinfilename = util.checkwinfilename
+    return [f for f in mctx.subset if checkwinfilename(f) is None]
+
 def grep(mctx, x):
     """``grep(regex)``
     File contains the given regular expression.
@@ -416,6 +426,7 @@
     'ignored': ignored,
     'hgignore': hgignore,
     'modified': modified,
+    'portable': portable,
     'removed': removed,
     'resolved': resolved,
     'size': size,