code: def UpdateFrom(self, src):
      
      if not isinstance(src, PathInfo):
        raise TypeError("expected `%s` but got `%s`" % (PathInfo, type(src)))
      if self.path_type != src.path_type:
        raise ValueError(
            "src [%s] does not represent the same path type as self [%s]" %
            (src.path_type, self.path_type))
      if self.components != src.components:
        raise ValueError("src [%s] does not represent the same path as self [%s]"
                         % (src.components, self.components))
  
      if src.HasField("stat_entry"):
        self.stat_entry = src.stat_entry
  
      self.last_stat_entry_timestamp = max(self.last_stat_entry_timestamp,
                                           src.last_stat_entry_timestamp)
      self.directory = self.directory or src.directory
docs: Merge path info records.
  
      Merges src into self.
      Args:
        src: An rdfvalues.objects.PathInfo record, will be merged into self.
  
      Raises:
        ValueError: If src does not represent the same path.