1
0
mirror of https://github.com/haiwen/seafile-server.git synced 2025-08-11 11:42:46 +00:00
seafile-server/server/change-set.h
feiniks c80bf17efb
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>
2024-09-13 14:58:45 +08:00

38 lines
829 B
C

/* -*- 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