'Stage a set of paths.
:param fs_paths: List of paths, relative to the repository path'

def stage(self, fs_paths):

    root_path_bytes = self.path.encode(sys.getfilesystemencoding())
    if (not isinstance(fs_paths, list)):
        fs_paths = [fs_paths]
    from dulwich.index import blob_from_path_and_stat, index_entry_from_stat, _fs_to_tree_path
    index = self.open_index()
    for fs_path in fs_paths:
        if (not isinstance(fs_path, bytes)):
            fs_path = fs_path.encode(sys.getfilesystemencoding())
        if os.path.isabs(fs_path):
            raise ValueError(('path    %r    should    be    relative    to    repository    root,    not    absolute' % fs_path))
        tree_path = _fs_to_tree_path(fs_path)
        full_path = os.path.join(root_path_bytes, fs_path)
        try:
            st = os.lstat(full_path)
        except OSError:
            try:
                del index[tree_path]
            except KeyError:
                pass
        else:
            blob = blob_from_path_and_stat(full_path, st)
            self.object_store.add_object(blob)
            index[tree_path] = index_entry_from_stat(st, blob.id, 0)
    index.write()
