files_log_ref_write: new function

Because HEAD and stash are per-worktree, every refs backend needs to
go through the files backend to write these refs.

So create a new function, files_log_ref_write, and add it to
refs/refs-internal.h. Later, we will use this to handle reflog updates
for per-worktree symbolic refs (HEAD).

Signed-off-by: David Turner <dturner@twopensource.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: Jeff King <peff@peff.net>
This commit is contained in:
David Turner 2015-11-10 12:42:39 +01:00 коммит произвёл Jeff King
Родитель eb33876c26
Коммит 5f3c3a4e6f
2 изменённых файлов: 12 добавлений и 0 удалений

Просмотреть файл

@ -2733,6 +2733,14 @@ static int log_ref_write_1(const char *refname, const unsigned char *old_sha1,
static int log_ref_write(const char *refname, const unsigned char *old_sha1,
const unsigned char *new_sha1, const char *msg,
int flags, struct strbuf *err)
{
return files_log_ref_write(refname, old_sha1, new_sha1, msg, flags,
err);
}
int files_log_ref_write(const char *refname, const unsigned char *old_sha1,
const unsigned char *new_sha1, const char *msg,
int flags, struct strbuf *err)
{
struct strbuf sb = STRBUF_INIT;
int ret = log_ref_write_1(refname, old_sha1, new_sha1, msg, &sb, flags,

Просмотреть файл

@ -177,4 +177,8 @@ struct ref_transaction {
enum ref_transaction_state state;
};
int files_log_ref_write(const char *refname, const unsigned char *old_sha1,
const unsigned char *new_sha1, const char *msg,
int flags, struct strbuf *err);
#endif /* REFS_REFS_INTERNAL_H */