summaryrefslogtreecommitdiff
path: root/src/git2/index.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/git2/index.h')
-rw-r--r--src/git2/index.h199
1 files changed, 0 insertions, 199 deletions
diff --git a/src/git2/index.h b/src/git2/index.h
deleted file mode 100644
index 605740c10..000000000
--- a/src/git2/index.h
+++ /dev/null
@@ -1,199 +0,0 @@
-/*
- * This file is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License, version 2,
- * as published by the Free Software Foundation.
- *
- * In addition to the permissions in the GNU General Public License,
- * the authors give you unlimited permission to link the compiled
- * version of this file into combinations with other programs,
- * and to distribute those combinations without any restriction
- * coming from the use of this file. (The General Public License
- * restrictions do apply in other respects; for example, they cover
- * modification of the file, and distribution when not linked into
- * a combined executable.)
- *
- * This file is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; see the file COPYING. If not, write to
- * the Free Software Foundation, 51 Franklin Street, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- */
-#ifndef INCLUDE_git_index_h__
-#define INCLUDE_git_index_h__
-
-#include "common.h"
-#include "types.h"
-#include "oid.h"
-
-/**
- * @file git2/index.h
- * @brief Git index parsing and manipulation routines
- * @defgroup git_index Git index parsing and manipulation routines
- * @ingroup Git
- * @{
- */
-GIT_BEGIN_DECL
-
-#define GIT_IDXENTRY_NAMEMASK (0x0fff)
-#define GIT_IDXENTRY_STAGEMASK (0x3000)
-#define GIT_IDXENTRY_EXTENDED (0x4000)
-#define GIT_IDXENTRY_VALID (0x8000)
-#define GIT_IDXENTRY_STAGESHIFT 12
-
-/** Time used in a git index entry */
-typedef struct {
- git_time_t seconds;
- /* nsec should not be stored as time_t compatible */
- unsigned int nanoseconds;
-} git_index_time;
-
-/** Memory representation of a file entry in the index. */
-typedef struct git_index_entry {
- git_index_time ctime;
- git_index_time mtime;
-
- unsigned int dev;
- unsigned int ino;
- unsigned int mode;
- unsigned int uid;
- unsigned int gid;
- git_off_t file_size;
-
- git_oid oid;
-
- unsigned short flags;
- unsigned short flags_extended;
-
- char *path;
-} git_index_entry;
-
-
-/**
- * Create a new Git index object as a memory representation
- * of the Git index file in 'index_path', without a repository
- * to back it.
- *
- * Since there is no ODB behind this index, any Index methods
- * which rely on the ODB (e.g. index_add) will fail with the
- * GIT_EBAREINDEX error code.
- *
- * @param index the pointer for the new index
- * @param index_path the path to the index file in disk
- * @return 0 on success; error code otherwise
- */
-GIT_EXTERN(int) git_index_open_bare(git_index **index, const char *index_path);
-
-/**
- * Open the Index inside the git repository pointed
- * by 'repo'.
- *
- * @param repo the git repo which owns the index
- * @param index_path the path to the index file in disk
- * @return 0 on success; error code otherwise
- */
-GIT_EXTERN(int) git_index_open_inrepo(git_index **index, git_repository *repo);
-
-/**
- * Clear the contents (all the entries) of an index object.
- * This clears the index object in memory; changes must be manually
- * written to disk for them to take effect.
- *
- * @param index an existing index object
- */
-GIT_EXTERN(void) git_index_clear(git_index *index);
-
-/**
- * Free an existing index object.
- *
- * @param index an existing index object
- */
-GIT_EXTERN(void) git_index_free(git_index *index);
-
-/**
- * Update the contents of an existing index object in memory
- * by reading from the hard disk.
- *
- * @param index an existing index object
- * @return 0 on success, otherwise an error code
- */
-GIT_EXTERN(int) git_index_read(git_index *index);
-
-/**
- * Write an existing index object from memory back to disk
- * using an atomic file lock.
- *
- * @param index an existing index object
- * @return 0 on success, otherwise an error code
- */
-GIT_EXTERN(int) git_index_write(git_index *index);
-
-/**
- * Find the first index of any entires which point to given
- * path in the Git index.
- *
- * @param index an existing index object
- * @param path path to search
- * @return an index >= 0 if found, -1 otherwise
- */
-GIT_EXTERN(int) git_index_find(git_index *index, const char *path);
-
-/**
- * Add or update an index entry from a file in disk.
- *
- * @param index an existing index object
- * @param path filename to add
- * @param stage stage for the entry
- * @return 0 on success, otherwise an error code
- */
-GIT_EXTERN(int) git_index_add(git_index *index, const char *path, int stage);
-
-/**
- * Remove an entry from the index
- *
- * @param index an existing index object
- * @param position position of the entry to remove
- * @return 0 on success, otherwise an error code
- */
-GIT_EXTERN(int) git_index_remove(git_index *index, int position);
-
-/**
- * Insert an entry into the index.
- * A full copy (including the 'path' string) of the given
- * 'source_entry' will be inserted on the index; if the index
- * already contains an entry for the same path, the entry
- * will be updated.
- *
- * @param index an existing index object
- * @param source_entry new entry object
- * @return 0 on success, otherwise an error code
- */
-GIT_EXTERN(int) git_index_insert(git_index *index, const git_index_entry *source_entry);
-
-/**
- * Get a pointer to one of the entries in the index
- *
- * This entry can be modified, and the changes will be written
- * back to disk on the next write() call.
- *
- * @param index an existing index object
- * @param n the position of the entry
- * @return a pointer to the entry; NULL if out of bounds
- */
-GIT_EXTERN(git_index_entry *) git_index_get(git_index *index, int n);
-
-/**
- * Get the count of entries currently in the index
- *
- * @param index an existing index object
- * @return integer of count of current entries
- */
-GIT_EXTERN(unsigned int) git_index_entrycount(git_index *index);
-
-
-/** @} */
-GIT_END_DECL
-#endif