コード例 #1
0
ファイル: svn_fs.py プロジェクト: t2y/trac
    def get_content_length(self):
        """Retrieve byte size of a file.

        Return `None` for a folder. (wraps ``fs.file_length``)
        """
        if self.isdir:
            return None
        return fs.file_length(self.root, self._scoped_path_utf8, self.pool())
コード例 #2
0
ファイル: svn_fs.py プロジェクト: thimalk/bloodhound
    def get_content_length(self):
        """Retrieve byte size of a file.

        Return `None` for a folder. (wraps ``fs.file_length``)
        """
        if self.isdir:
            return None
        return fs.file_length(self.root, self._scoped_path_utf8, self.pool())
コード例 #3
0
ファイル: svnshell.py プロジェクト: sleepingwit/jal123
    def do_ls(self, arg):
        """list the contents of the current directory or provided path"""
        parent = self.path
        if not len(arg):
            # no arg -- show a listing for the current directory.
            entries = fs.dir_entries(self.root, self.path)
        else:
            # arg?  show a listing of that path.
            newpath = self._parse_path(arg)
            kind = fs.check_path(self.root, newpath)
            if kind == core.svn_node_dir:
                parent = newpath
                entries = fs.dir_entries(self.root, parent)
            elif kind == core.svn_node_file:
                parts = self._path_to_parts(newpath)
                name = parts.pop(-1)
                parent = self._parts_to_path(parts)
                print(parent + ':' + name)
                tmpentries = fs.dir_entries(self.root, parent)
                if not tmpentries.get(name, None):
                    return
                entries = {}
                entries[name] = tmpentries[name]
            else:
                print("Path '%s' not found." % newpath)
                return

        keys = sorted(entries.keys())

        print("   REV   AUTHOR  NODE-REV-ID     SIZE         DATE NAME")
        print(
            "----------------------------------------------------------------------------"
        )

        for entry in keys:
            fullpath = parent + '/' + entry
            size = ''
            is_dir = fs.is_dir(self.root, fullpath)
            if is_dir:
                name = entry + '/'
            else:
                size = str(fs.file_length(self.root, fullpath))
                name = entry
            node_id = fs.unparse_id(entries[entry].id)
            created_rev = fs.node_created_rev(self.root, fullpath)
            author = fs.revision_prop(self.fs_ptr, created_rev,
                                      core.SVN_PROP_REVISION_AUTHOR)
            if not author:
                author = ""
            date = fs.revision_prop(self.fs_ptr, created_rev,
                                    core.SVN_PROP_REVISION_DATE)
            if not date:
                date = ""
            else:
                date = self._format_date(date)

            print("%6s %8s %12s %8s %12s %s" %
                  (created_rev, author[:8], node_id, size, date, name))
コード例 #4
0
ファイル: svnshell.py プロジェクト: lysine/wasp
  def do_ls(self, arg):
    """list the contents of the current directory or provided path"""
    parent = self.path
    if not len(arg):
      # no arg -- show a listing for the current directory.
      entries = fs.dir_entries(self.root, self.path)
    else:
      # arg?  show a listing of that path.
      newpath = self._parse_path(arg)
      kind = fs.check_path(self.root, newpath)
      if kind == core.svn_node_dir:
        parent = newpath
        entries = fs.dir_entries(self.root, parent)
      elif kind == core.svn_node_file:
        parts = self._path_to_parts(newpath)
        name = parts.pop(-1)
        parent = self._parts_to_path(parts)
        print(parent + ':' + name)
        tmpentries = fs.dir_entries(self.root, parent)
        if not tmpentries.get(name, None):
          return
        entries = {}
        entries[name] = tmpentries[name]
      else:
        print("Path '%s' not found." % newpath)
        return

    keys = sorted(entries.keys())

    print("   REV   AUTHOR  NODE-REV-ID     SIZE         DATE NAME")
    print("----------------------------------------------------------------------------")

    for entry in keys:
      fullpath = parent + '/' + entry
      size = ''
      is_dir = fs.is_dir(self.root, fullpath)
      if is_dir:
        name = entry + '/'
      else:
        size = str(fs.file_length(self.root, fullpath))
        name = entry
      node_id = fs.unparse_id(entries[entry].id)
      created_rev = fs.node_created_rev(self.root, fullpath)
      author = fs.revision_prop(self.fs_ptr, created_rev,
                                core.SVN_PROP_REVISION_AUTHOR)
      if not author:
        author = ""
      date = fs.revision_prop(self.fs_ptr, created_rev,
                              core.SVN_PROP_REVISION_DATE)
      if not date:
        date = ""
      else:
        date = self._format_date(date)

      print("%6s %8s %12s %8s %12s %s" % (created_rev, author[:8],
                                          node_id, size, date, name))
コード例 #5
0
 def _log_helper(self, path, rev, lockinfo):
     rev_root = fs.revision_root(self.fs_ptr, rev)
     copyfrom_rev, copyfrom_path = fs.copied_from(rev_root, path)
     date, author, msg, revprops, changes = self._revinfo(rev)
     if fs.is_file(rev_root, path):
         size = fs.file_length(rev_root, path)
     else:
         size = None
     return Revision(rev, date, author, msg, size, lockinfo, path,
                     copyfrom_path and _cleanup_path(copyfrom_path),
                     copyfrom_rev)
コード例 #6
0
ファイル: svn_repos.py プロジェクト: vitalif/viewvc-4intranet
 def _log_helper(self, path, rev, lockinfo):
   rev_root = fs.revision_root(self.fs_ptr, rev)
   copyfrom_rev, copyfrom_path = fs.copied_from(rev_root, path)
   date, author, msg, revprops, changes = self._revinfo(rev)
   if fs.is_file(rev_root, path):
     size = fs.file_length(rev_root, path)
   else:
     size = None
   return Revision(rev, date, author, msg, size, lockinfo, path,
                   copyfrom_path and _cleanup_path(copyfrom_path),
                   copyfrom_rev)
コード例 #7
0
def _log_helper(svnrepos, rev, path, pool):
    rev_root = fs.revision_root(svnrepos.fs_ptr, rev, pool)

    # Was this path@rev the target of a copy?
    copyfrom_rev, copyfrom_path = fs.copied_from(rev_root, path, pool)

    # Assemble our LogEntry
    datestr, author, msg = _fs_rev_props(svnrepos.fs_ptr, rev, pool)
    date = _datestr_to_date(datestr, pool)
    if fs.is_file(rev_root, path, pool):
        size = fs.file_length(rev_root, path, pool)
    else:
        size = None
    entry = Revision(rev, date, author, msg, size, path, copyfrom_path
                     and _cleanup_path(copyfrom_path), copyfrom_rev)
    return entry
コード例 #8
0
def get_logs(svnrepos, full_name, rev, files):
    fsroot = svnrepos._getroot(rev)
    subpool = core.svn_pool_create(svnrepos.pool)
    for file in files:
        core.svn_pool_clear(subpool)
        path = _fs_path_join(full_name, file.name)
        rev = _get_last_history_rev(fsroot, path, subpool)
        datestr, author, msg = _fs_rev_props(svnrepos.fs_ptr, rev, subpool)
        date = _datestr_to_date(datestr, subpool)
        file.rev = str(rev)
        file.date = date
        file.author = author
        file.log = msg
        if file.kind == vclib.FILE:
            file.size = fs.file_length(fsroot, path, subpool)
    core.svn_pool_destroy(subpool)
コード例 #9
0
ファイル: __init__.py プロジェクト: meyersh/gimli-public_html
def get_logs(svnrepos, full_name, rev, files):
  fsroot = svnrepos._getroot(rev)
  subpool = core.svn_pool_create(svnrepos.pool)
  for file in files:
    core.svn_pool_clear(subpool)
    path = _fs_path_join(full_name, file.name)
    rev = _get_last_history_rev(fsroot, path, subpool)
    datestr, author, msg = _fs_rev_props(svnrepos.fs_ptr, rev, subpool)
    date = _datestr_to_date(datestr, subpool)
    file.rev = str(rev)
    file.date = date
    file.author = author
    file.log = msg
    if file.kind == vclib.FILE:
      file.size = fs.file_length(fsroot, path, subpool)
  core.svn_pool_destroy(subpool)
コード例 #10
0
ファイル: __init__.py プロジェクト: meyersh/gimli-public_html
def _log_helper(svnrepos, rev, path, pool):
  rev_root = fs.revision_root(svnrepos.fs_ptr, rev, pool)

  # Was this path@rev the target of a copy?
  copyfrom_rev, copyfrom_path = fs.copied_from(rev_root, path, pool)

  # Assemble our LogEntry
  datestr, author, msg = _fs_rev_props(svnrepos.fs_ptr, rev, pool)
  date = _datestr_to_date(datestr, pool)
  if fs.is_file(rev_root, path, pool):
    size = fs.file_length(rev_root, path, pool)
  else:
    size = None
  entry = Revision(rev, date, author, msg, size, path,
                   copyfrom_path and _cleanup_path(copyfrom_path),
                   copyfrom_rev)
  return entry
コード例 #11
0
 def dirlogs(self, path_parts, rev, entries, options):
   path = self._getpath(path_parts)
   if self.itemtype(path_parts, rev) != vclib.DIR:  # does auth-check
     raise vclib.Error("Path '%s' is not a directory." % path)
   fsroot = self._getroot(self._getrev(rev))
   rev = self._getrev(rev)
   for entry in entries:
     entry_path_parts = path_parts + [entry.name]
     if not vclib.check_path_access(self, entry_path_parts, entry.kind, rev):
       continue
     path = self._getpath(entry_path_parts)
     entry_rev = _get_last_history_rev(fsroot, path)
     date, author, msg, revprops, changes = self._revinfo(entry_rev)
     entry.rev = str(entry_rev)
     entry.date = date
     entry.author = author
     entry.log = msg
     if entry.kind == vclib.FILE:
       entry.size = fs.file_length(fsroot, path)
     lock = fs.get_lock(self.fs_ptr, path)
     entry.lockinfo = lock and lock.owner or None
コード例 #12
0
ファイル: svn_repos.py プロジェクト: vitalif/viewvc-4intranet
 def dirlogs(self, path_parts, rev, entries, options):
   path = self._getpath(path_parts)
   if self.itemtype(path_parts, rev) != vclib.DIR:  # does auth-check
     raise vclib.Error("Path '%s' is not a directory." % path)
   fsroot = self._getroot(self._getrev(rev))
   rev = self._getrev(rev)
   for entry in entries:
     entry_path_parts = path_parts + [entry.name]
     if not vclib.check_path_access(self, entry_path_parts, entry.kind, rev):
       continue
     path = self._getpath(entry_path_parts)
     entry_rev = _get_last_history_rev(fsroot, path)
     date, author, msg, revprops, changes = self._revinfo(entry_rev)
     entry.rev = str(entry_rev)
     entry.date = date
     entry.author = author
     entry.log = msg
     if entry.kind == vclib.FILE:
       entry.size = fs.file_length(fsroot, path)
     lock = fs.get_lock(self.fs_ptr, path)
     entry.lockinfo = lock and lock.owner or None
コード例 #13
0
ファイル: svn_fs.py プロジェクト: zhxhxlzt/subversion
 def get_content_length(self):
     if self.isdir:
         return None
     return fs.file_length(self.root, self.scoped_path)
コード例 #14
0
ファイル: svn_fs.py プロジェクト: vocho/openqnx
 def get_content_length(self):
     if self.isdir:
         return None
     return fs.file_length(self.root, self.scoped_path)
コード例 #15
0
 def filesize(self, path_parts, rev):
     path = self._getpath(path_parts)
     if self.itemtype(path_parts, rev) != vclib.FILE:  # does auth-check
         raise vclib.Error("Path '%s' is not a file." % path)
     fsroot = self._getroot(self._getrev(rev))
     return fs.file_length(fsroot, path)
コード例 #16
0
 def get_content_length(self):
     if self.isdir:
         return None
     return fs.file_length(self.root, self._scoped_path_utf8, self.pool())
コード例 #17
0
ファイル: svn_repos.py プロジェクト: vitalif/viewvc-4intranet
 def filesize(self, path_parts, rev):
   path = self._getpath(path_parts)
   if self.itemtype(path_parts, rev) != vclib.FILE:  # does auth-check
     raise vclib.Error("Path '%s' is not a file." % path)
   fsroot = self._getroot(self._getrev(rev))
   return fs.file_length(fsroot, path)