method: path.svnurl.ensure

 ensure that an args-joined path exists (by default as
            a file). If you specify a keyword argument 'dir=True'
            then the path is forced to be a directory path.
        
    def ensure(self, *args, **kwargs):

origin: path.svnurl

where:

function source:

def ensure(self, *args, **kwargs):
    """ ensure that an args-joined path exists (by default as
            a file). If you specify a keyword argument 'dir=True'
            then the path is forced to be a directory path.
        """
    if getattr(self, 'rev', None) is not None:
        raise py.error.EINVAL(self, "revisions are immutable")
    target = self.join(*args)
    dir = kwargs.get('dir', 0) 
    for x in target.parts(reverse=True): 
        if x.check(): 
            break 
    else: 
        raise py.error.ENOENT(target, "has not any valid base!") 
    if x == target: 
        if not x.check(dir=dir): 
            raise dir and py.error.ENOTDIR(x) or py.error.EISDIR(x) 
        return x 
    tocreate = target.relto(x) 
    basename = tocreate.split(self.sep, 1)[0]
    tempdir = py.path.local.mkdtemp()
    try:    
        tempdir.ensure(tocreate, dir=dir) 
        cmd = 'svn import -m "%s" "%s" "%s"' % (
                "ensure %s" % svncommon.escape(tocreate), 
                svncommon.escape(tempdir.join(basename)), 
                svncommon.escape(x.join(basename)))
        process.cmdexec(cmd) 
        self._lsnorevcache.delentry(x.strpath)  # !!! 
    finally:    
        tempdir.remove() 
    return target

call sites:

called in /home/johnny/projects/merlinux/py/dist/py/path/testing/fscommon.py

traceback path.svnurl.ensure.0

called in /home/johnny/projects/merlinux/py/dist/py/path/testing/fscommon.py

traceback path.svnurl.ensure.1