def rawdiff(self, path_parts1, rev1, path_parts2, rev2, type, options={}):
    p1 = self._getpath(path_parts1)
    p2 = self._getpath(path_parts2)
    r1 = self._getrev(rev1)
    r2 = self._getrev(rev2)
    if not vclib.check_path_access(self, path_parts1, vclib.FILE, rev1):
      raise vclib.ItemNotFound(path_parts1)
    if not vclib.check_path_access(self, path_parts2, vclib.FILE, rev2):
      raise vclib.ItemNotFound(path_parts2)

    args = vclib._diff_args(type, options)

    def _date_from_rev(rev):
      date, author, msg, changes = self.revinfo(rev)
      return date
    
    try:
      temp1 = temp_checkout(self, p1, r1)
      temp2 = temp_checkout(self, p2, r2)
      info1 = p1, _date_from_rev(r1), r1
      info2 = p2, _date_from_rev(r2), r2
      return vclib._diff_fp(temp1, temp2, info1, info2, self.diff_cmd, args)
    except core.SubversionException, e:
      _fix_subversion_exception(e)
      if e.apr_err == vclib.svn.core.SVN_ERR_FS_NOT_FOUND:
        raise vclib.InvalidRevision
      raise
Пример #2
0
    def rawdiff(self, path_parts1, rev1, path_parts2, rev2, type, options={}):
        p1 = self._getpath(path_parts1)
        p2 = self._getpath(path_parts2)
        r1 = self._getrev(rev1)
        r2 = self._getrev(rev2)
        if not vclib.check_path_access(self, path_parts1, vclib.FILE, rev1):
            raise vclib.ItemNotFound(path_parts1)
        if not vclib.check_path_access(self, path_parts2, vclib.FILE, rev2):
            raise vclib.ItemNotFound(path_parts2)

        args = vclib._diff_args(type, options)

        def _date_from_rev(rev):
            date, author, msg, revprops, changes = self._revinfo(rev)
            return date

        try:
            temp1 = cat_to_tempfile(self, p1, r1)
            temp2 = cat_to_tempfile(self, p2, r2)
            info1 = p1, _date_from_rev(r1), r1
            info2 = p2, _date_from_rev(r2), r2
            return vclib._diff_fp(temp1, temp2, info1, info2, self.diff_cmd,
                                  args)
        except core.SubversionException, e:
            _fix_subversion_exception(e)
            if e.apr_err == vclib.svn.core.SVN_ERR_FS_NOT_FOUND:
                raise vclib.InvalidRevision
            raise
 def get_location(self, path, rev, old_rev):
   try:
     results = ra.get_locations(self.ra_session, path, rev, [old_rev])
   except core.SubversionException, e:
     _fix_subversion_exception(e)
     if e.apr_err == core.SVN_ERR_FS_NOT_FOUND:
       raise vclib.ItemNotFound(path)
     raise
Пример #4
0
 def get_location(self, path, rev, old_rev):
     try:
         results = ra.get_locations(self.ra_session, path, rev, [old_rev])
     except core.SubversionException, e:
         _fix_subversion_exception(e)
         if e.apr_err == core.SVN_ERR_FS_NOT_FOUND:
             raise vclib.ItemNotFound(path)
         raise
Пример #5
0
    def rawdiff(self, path_parts1, rev1, path_parts2, rev2, type, options={}):

        if path_parts1 is not None:
            p1 = self._getpath(path_parts1)
            r1 = self._getrev(rev1)
            if not vclib.check_path_access(self, path_parts1, vclib.FILE, rev1):
                raise vclib.ItemNotFound(path_parts1)
        else:
            p1 = None

        if path_parts2 is not None:
            if not p1:
                raise vclib.ItemNotFound(parh_parts2)
            p2 = self._getpath(path_parts2)
            r2 = self._getrev(rev2)
            if not vclib.check_path_access(self, path_parts2, vclib.FILE, rev2):
                raise vclib.ItemNotFound(path_parts2)
        else:
            p2 = None

        args = vclib._diff_args(type, options)

        def _date_from_rev(rev):
            date, author, msg, revprops, changes = self._revinfo(rev)
            return date

        try:
            info1 = p1, _date_from_rev(r1), r1
            info2 = p2, _date_from_rev(r2), r2
            if p1:
                temp1 = cat_to_tempfile(self, p1, r1)
            else:
                temp1 = "/dev/null"
            if p2:
                temp2 = cat_to_tempfile(self, p2, r2)
            else:
                temp2 = "/dev/null"
            return vclib._diff_fp(temp1, temp2, info1, info2, self.diff_cmd, args)
        except core.SubversionException, e:
            _fix_subversion_exception(e)
            if e.apr_err == core.SVN_ERR_FS_NOT_FOUND:
                raise vclib.InvalidRevision
            raise