1
0
mirror of https://github.com/haiwen/seafile-server.git synced 2025-09-08 18:59:03 +00:00

Add batch del files RPC (#694)

* Add batch del files RPC

* Add pack multi-level files

* Go add pack multi-level files

* Use change set to batch del files

* Improve args

---------

Co-authored-by: 杨赫然 <heran.yang@seafile.com>
This commit is contained in:
feiniks
2024-09-13 14:58:45 +08:00
committed by GitHub
parent b2bde11d89
commit c80bf17efb
15 changed files with 755 additions and 24 deletions

37
server/change-set.h Normal file
View File

@@ -0,0 +1,37 @@
/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
#ifndef SEAF_CHANGE_SET_H
#define SEAF_CHANGE_SET_H
#include <glib.h>
#include "utils.h"
struct _ChangeSetDir;
struct _ChangeSet {
char repo_id[37];
/* A partial tree for all changed directories. */
struct _ChangeSetDir *tree_root;
};
typedef struct _ChangeSet ChangeSet;
ChangeSet *
changeset_new (const char *repo_id, SeafDir *dir);
void
changeset_free (ChangeSet *changeset);
/*
@remove_parent: remove the parent dir when it becomes empty.
*/
void
remove_from_changeset (ChangeSet *changeset,
const char *path,
gboolean remove_parent,
const char *top_dir,
int *mode);
char *
commit_tree_from_changeset (ChangeSet *changeset);
#endif