mirror of
https://github.com/haiwen/seafile-server.git
synced 2025-08-12 04:03:12 +00:00
38 lines
829 B
C
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
|