docs: def splitall(path):
      """
      Splits path in its components:
      foo/bar, /foo/bar and /foo/bar/ will all return
      ['foo', 'bar']
      """
      head, tail = os.path.split(os.path.normpath(path))
      components = []
      while tail:
          components.insert(0, tail)
          head, tail = os.path.split(head)
      return components