mirror of
				https://git.proxmox.com/git/libgit2
				synced 2025-11-04 03:16:59 +00:00 
			
		
		
		
	Create a new include/git2/sys/refs.h and move the reference alloc functions there. Also fix some documentation issues and some minor code cleanups.
		
			
				
	
	
		
			69 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			69 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			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_git_refdb_h__
 | 
						|
#define INCLUDE_git_refdb_h__
 | 
						|
 | 
						|
#include "common.h"
 | 
						|
#include "types.h"
 | 
						|
#include "oid.h"
 | 
						|
#include "refs.h"
 | 
						|
 | 
						|
/**
 | 
						|
 * @file git2/refdb.h
 | 
						|
 * @brief Git custom refs backend functions
 | 
						|
 * @defgroup git_refdb Git custom refs backend API
 | 
						|
 * @ingroup Git
 | 
						|
 * @{
 | 
						|
 */
 | 
						|
GIT_BEGIN_DECL
 | 
						|
 | 
						|
/**
 | 
						|
 * Create a new reference database with no backends.
 | 
						|
 *
 | 
						|
 * Before the Ref DB can be used for read/writing, a custom database
 | 
						|
 * backend must be manually set using `git_refdb_set_backend()`
 | 
						|
 *
 | 
						|
 * @param out location to store the database pointer, if opened.
 | 
						|
 *			Set to NULL if the open failed.
 | 
						|
 * @param repo the repository
 | 
						|
 * @return 0 or an error code
 | 
						|
 */
 | 
						|
GIT_EXTERN(int) git_refdb_new(git_refdb **out, git_repository *repo);
 | 
						|
 | 
						|
/**
 | 
						|
 * Create a new reference database and automatically add
 | 
						|
 * the default backends:
 | 
						|
 *
 | 
						|
 *  - git_refdb_dir: read and write loose and packed refs
 | 
						|
 *      from disk, assuming the repository dir as the folder
 | 
						|
 *
 | 
						|
 * @param out location to store the database pointer, if opened.
 | 
						|
 *			Set to NULL if the open failed.
 | 
						|
 * @param repo the repository
 | 
						|
 * @return 0 or an error code
 | 
						|
 */
 | 
						|
GIT_EXTERN(int) git_refdb_open(git_refdb **out, git_repository *repo);
 | 
						|
 | 
						|
/**
 | 
						|
 * Suggests that the given refdb compress or optimize its references.
 | 
						|
 * This mechanism is implementation specific.  For on-disk reference
 | 
						|
 * databases, for example, this may pack all loose references.
 | 
						|
 */
 | 
						|
GIT_EXTERN(int) git_refdb_compress(git_refdb *refdb);
 | 
						|
 | 
						|
/**
 | 
						|
 * Close an open reference database.
 | 
						|
 *
 | 
						|
 * @param refdb reference database pointer or NULL
 | 
						|
 */
 | 
						|
GIT_EXTERN(void) git_refdb_free(git_refdb *refdb);
 | 
						|
 | 
						|
/** @} */
 | 
						|
GIT_END_DECL
 | 
						|
 | 
						|
#endif
 |