libgit2/src/reflog.h
Carlos Martín Nieto b976f3c2c2 reflog: move the reflog implementation into refdb_fs
References and their logs are logically coupled, let's make it so in
the code by moving the fs-based reflog implementation to live next to
the fs-based refs one.

As part of the change, make the function take names rather than
references, as only the names are relevant when looking up and
handling reflogs.
2013-10-02 06:53:24 +02:00

41 lines
802 B
C

/*
* Copyright (C) the libgit2 contributors. All rights reserved.
*
* This file is part of libgit2, distributed under the GNU GPL v2 with
* a Linking Exception. For full terms see the included COPYING file.
*/
#ifndef INCLUDE_reflog_h__
#define INCLUDE_reflog_h__
#include "common.h"
#include "git2/reflog.h"
#include "vector.h"
#define GIT_REFLOG_DIR "logs/"
#define GIT_REFLOG_DIR_MODE 0777
#define GIT_REFLOG_FILE_MODE 0666
#define GIT_REFLOG_SIZE_MIN (2*GIT_OID_HEXSZ+2+17)
struct git_reflog_entry {
git_oid oid_old;
git_oid oid_cur;
git_signature *committer;
char *msg;
};
struct git_reflog {
git_refdb *db;
char *ref_name;
git_vector entries;
};
GIT_INLINE(size_t) reflog_inverse_index(size_t idx, size_t total)
{
return (total - 1) - idx;
}
#endif /* INCLUDE_reflog_h__ */