def _resolve_relative_to(path, original_root, new_root):
if not isinstance(path, six.string_types)or path.startswith("<STR_LIT>")or os.path.isabs(path):<EOL><INDENT>return None<EOL><DEDENT>return os.path.relpath(<EOL>os.path.normpath(os.path.join(original_root, path)),  <EOL>new_root)<EOL>
If the given ``path`` is a relative path, then assume it is relative to ``original_root``. This method will
update the path to be resolve it relative to ``new_root`` and return.

Examples
-------
    # Assume a file called template.txt at location /tmp/original/root/template.txt expressed as relative path
    # We are trying to update it to be relative to /tmp/new/root instead of the /tmp/original/root
    >>> result = _resolve_relative_to("template.txt",  \
                                      "/tmp/original/root", \
                                      "/tmp/new/root")
    >>> result
    ../../original/root/template.txt

Returns
-------
Updated path if the given path is a relative path. None, if the path is not a relative path.