Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
G
git2
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
lvzhengyang
git2
Commits
75d1c8c6
Commit
75d1c8c6
authored
Apr 30, 2013
by
Edward Thomson
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
move NAME and REUC extensions to sys/
parent
0462fba5
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
186 additions
and
156 deletions
+186
-156
include/git2/index.h
+0
-156
include/git2/sys/index.h
+180
-0
src/index.c
+1
-0
src/merge.c
+1
-0
tests-clar/index/names.c
+1
-0
tests-clar/index/reuc.c
+1
-0
tests-clar/merge/merge_helpers.c
+1
-0
tests-clar/merge/trees/trivial.c
+1
-0
No files found.
include/git2/index.h
View file @
75d1c8c6
...
...
@@ -84,19 +84,6 @@ typedef struct git_index_entry {
char
*
path
;
}
git_index_entry
;
typedef
struct
git_index_name_entry
{
char
*
ancestor
;
char
*
ours
;
char
*
theirs
;
}
git_index_name_entry
;
/** Representation of a resolve undo entry in the index. */
typedef
struct
git_index_reuc_entry
{
unsigned
int
mode
[
3
];
git_oid
oid
[
3
];
char
*
path
;
}
git_index_reuc_entry
;
/** Capabilities of system that affect index actions. */
enum
{
GIT_INDEXCAP_IGNORE_CASE
=
1
,
...
...
@@ -484,149 +471,6 @@ GIT_EXTERN(int) git_index_has_conflicts(const git_index *index);
/**@}*/
/** @name Conflict Name entry functions
*
* These functions work on rename conflict entries.
*/
/**@{*/
/**
* Get the count of filename conflict entries currently in the index.
*
* @param index an existing index object
* @return integer of count of current filename conflict entries
*/
GIT_EXTERN
(
unsigned
int
)
git_index_name_entrycount
(
git_index
*
index
);
/**
* Get a filename conflict entry from the index.
*
* The returned entry is read-only and should not be modified
* or freed by the caller.
*
* @param index an existing index object
* @param n the position of the entry
* @return a pointer to the filename conflict entry; NULL if out of bounds
*/
GIT_EXTERN
(
const
git_index_name_entry
*
)
git_index_name_get_byindex
(
git_index
*
index
,
size_t
n
);
/**
* Record the filenames involved in a rename conflict.
*
* @param index an existing index object
* @param ancestor the path of the file as it existed in the ancestor
* @param ours the path of the file as it existed in our tree
* @param theirs the path of the file as it existed in their tree
*/
GIT_EXTERN
(
int
)
git_index_name_add
(
git_index
*
index
,
const
char
*
ancestor
,
const
char
*
ours
,
const
char
*
theirs
);
/**
* Remove all filename conflict entries.
*
* @param index an existing index object
* @return 0 or an error code
*/
GIT_EXTERN
(
void
)
git_index_name_clear
(
git_index
*
index
);
/**@}*/
/** @name Resolve Undo (REUC) index entry manipulation.
*
* These functions work on the Resolve Undo index extension and contains
* data about the original files that led to a merge conflict.
*/
/**@{*/
/**
* Get the count of resolve undo entries currently in the index.
*
* @param index an existing index object
* @return integer of count of current resolve undo entries
*/
GIT_EXTERN
(
unsigned
int
)
git_index_reuc_entrycount
(
git_index
*
index
);
/**
* Finds the resolve undo entry that points to the given path in the Git
* index.
*
* @param at_pos the address to which the position of the reuc entry is written (optional)
* @param index an existing index object
* @param path path to search
* @return 0 if found, < 0 otherwise (GIT_ENOTFOUND)
*/
GIT_EXTERN
(
int
)
git_index_reuc_find
(
size_t
*
at_pos
,
git_index
*
index
,
const
char
*
path
);
/**
* Get a resolve undo entry from the index.
*
* The returned entry is read-only and should not be modified
* or freed by the caller.
*
* @param index an existing index object
* @param path path to search
* @return the resolve undo entry; NULL if not found
*/
GIT_EXTERN
(
const
git_index_reuc_entry
*
)
git_index_reuc_get_bypath
(
git_index
*
index
,
const
char
*
path
);
/**
* Get a resolve undo entry from the index.
*
* The returned entry is read-only and should not be modified
* or freed by the caller.
*
* @param index an existing index object
* @param n the position of the entry
* @return a pointer to the resolve undo entry; NULL if out of bounds
*/
GIT_EXTERN
(
const
git_index_reuc_entry
*
)
git_index_reuc_get_byindex
(
git_index
*
index
,
size_t
n
);
/**
* Adds a resolve undo entry for a file based on the given parameters.
*
* The resolve undo entry contains the OIDs of files that were involved
* in a merge conflict after the conflict has been resolved. This allows
* conflicts to be re-resolved later.
*
* If there exists a resolve undo entry for the given path in the index,
* it will be removed.
*
* This method will fail in bare index instances.
*
* @param index an existing index object
* @param path filename to add
* @param ancestor_mode mode of the ancestor file
* @param ancestor_id oid of the ancestor file
* @param our_mode mode of our file
* @param our_id oid of our file
* @param their_mode mode of their file
* @param their_id oid of their file
* @return 0 or an error code
*/
GIT_EXTERN
(
int
)
git_index_reuc_add
(
git_index
*
index
,
const
char
*
path
,
int
ancestor_mode
,
const
git_oid
*
ancestor_id
,
int
our_mode
,
const
git_oid
*
our_id
,
int
their_mode
,
const
git_oid
*
their_id
);
/**
* Remove an resolve undo entry from the index
*
* @param index an existing index object
* @param n position of the resolve undo entry to remove
* @return 0 or an error code
*/
GIT_EXTERN
(
int
)
git_index_reuc_remove
(
git_index
*
index
,
size_t
n
);
/**
* Remove all resolve undo entries from the index
*
* @param index an existing index object
* @return 0 or an error code
*/
GIT_EXTERN
(
void
)
git_index_reuc_clear
(
git_index
*
index
);
/**@}*/
/** @} */
GIT_END_DECL
#endif
include/git2/sys/index.h
0 → 100644
View file @
75d1c8c6
/*
* 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_sys_git_index_h__
#define INCLUDE_sys_git_index_h__
/**
* @file git2/sys/index.h
* @brief Low-level Git index manipulation routines
* @defgroup git_backend Git custom backend APIs
* @ingroup Git
* @{
*/
GIT_BEGIN_DECL
/** Representation of a rename conflict entry in the index. */
typedef
struct
git_index_name_entry
{
char
*
ancestor
;
char
*
ours
;
char
*
theirs
;
}
git_index_name_entry
;
/** Representation of a resolve undo entry in the index. */
typedef
struct
git_index_reuc_entry
{
unsigned
int
mode
[
3
];
git_oid
oid
[
3
];
char
*
path
;
}
git_index_reuc_entry
;
/** @name Conflict Name entry functions
*
* These functions work on rename conflict entries.
*/
/**@{*/
/**
* Get the count of filename conflict entries currently in the index.
*
* @param index an existing index object
* @return integer of count of current filename conflict entries
*/
GIT_EXTERN
(
unsigned
int
)
git_index_name_entrycount
(
git_index
*
index
);
/**
* Get a filename conflict entry from the index.
*
* The returned entry is read-only and should not be modified
* or freed by the caller.
*
* @param index an existing index object
* @param n the position of the entry
* @return a pointer to the filename conflict entry; NULL if out of bounds
*/
GIT_EXTERN
(
const
git_index_name_entry
*
)
git_index_name_get_byindex
(
git_index
*
index
,
size_t
n
);
/**
* Record the filenames involved in a rename conflict.
*
* @param index an existing index object
* @param ancestor the path of the file as it existed in the ancestor
* @param ours the path of the file as it existed in our tree
* @param theirs the path of the file as it existed in their tree
*/
GIT_EXTERN
(
int
)
git_index_name_add
(
git_index
*
index
,
const
char
*
ancestor
,
const
char
*
ours
,
const
char
*
theirs
);
/**
* Remove all filename conflict entries.
*
* @param index an existing index object
* @return 0 or an error code
*/
GIT_EXTERN
(
void
)
git_index_name_clear
(
git_index
*
index
);
/**@}*/
/** @name Resolve Undo (REUC) index entry manipulation.
*
* These functions work on the Resolve Undo index extension and contains
* data about the original files that led to a merge conflict.
*/
/**@{*/
/**
* Get the count of resolve undo entries currently in the index.
*
* @param index an existing index object
* @return integer of count of current resolve undo entries
*/
GIT_EXTERN
(
unsigned
int
)
git_index_reuc_entrycount
(
git_index
*
index
);
/**
* Finds the resolve undo entry that points to the given path in the Git
* index.
*
* @param at_pos the address to which the position of the reuc entry is written (optional)
* @param index an existing index object
* @param path path to search
* @return 0 if found, < 0 otherwise (GIT_ENOTFOUND)
*/
GIT_EXTERN
(
int
)
git_index_reuc_find
(
size_t
*
at_pos
,
git_index
*
index
,
const
char
*
path
);
/**
* Get a resolve undo entry from the index.
*
* The returned entry is read-only and should not be modified
* or freed by the caller.
*
* @param index an existing index object
* @param path path to search
* @return the resolve undo entry; NULL if not found
*/
GIT_EXTERN
(
const
git_index_reuc_entry
*
)
git_index_reuc_get_bypath
(
git_index
*
index
,
const
char
*
path
);
/**
* Get a resolve undo entry from the index.
*
* The returned entry is read-only and should not be modified
* or freed by the caller.
*
* @param index an existing index object
* @param n the position of the entry
* @return a pointer to the resolve undo entry; NULL if out of bounds
*/
GIT_EXTERN
(
const
git_index_reuc_entry
*
)
git_index_reuc_get_byindex
(
git_index
*
index
,
size_t
n
);
/**
* Adds a resolve undo entry for a file based on the given parameters.
*
* The resolve undo entry contains the OIDs of files that were involved
* in a merge conflict after the conflict has been resolved. This allows
* conflicts to be re-resolved later.
*
* If there exists a resolve undo entry for the given path in the index,
* it will be removed.
*
* This method will fail in bare index instances.
*
* @param index an existing index object
* @param path filename to add
* @param ancestor_mode mode of the ancestor file
* @param ancestor_id oid of the ancestor file
* @param our_mode mode of our file
* @param our_id oid of our file
* @param their_mode mode of their file
* @param their_id oid of their file
* @return 0 or an error code
*/
GIT_EXTERN
(
int
)
git_index_reuc_add
(
git_index
*
index
,
const
char
*
path
,
int
ancestor_mode
,
const
git_oid
*
ancestor_id
,
int
our_mode
,
const
git_oid
*
our_id
,
int
their_mode
,
const
git_oid
*
their_id
);
/**
* Remove an resolve undo entry from the index
*
* @param index an existing index object
* @param n position of the resolve undo entry to remove
* @return 0 or an error code
*/
GIT_EXTERN
(
int
)
git_index_reuc_remove
(
git_index
*
index
,
size_t
n
);
/**
* Remove all resolve undo entries from the index
*
* @param index an existing index object
* @return 0 or an error code
*/
GIT_EXTERN
(
void
)
git_index_reuc_clear
(
git_index
*
index
);
/**@}*/
/** @} */
GIT_END_DECL
#endif
src/index.c
View file @
75d1c8c6
...
...
@@ -19,6 +19,7 @@
#include "git2/oid.h"
#include "git2/blob.h"
#include "git2/config.h"
#include "git2/sys/index.h"
#define entry_size(type,len) ((offsetof(type, path) + (len) + 8) & ~7)
#define short_entry_size(len) entry_size(struct entry_short, len)
...
...
src/merge.c
View file @
75d1c8c6
...
...
@@ -36,6 +36,7 @@
#include "git2/signature.h"
#include "git2/config.h"
#include "git2/tree.h"
#include "git2/sys/index.h"
#define GIT_MERGE_INDEX_ENTRY_EXISTS(X) ((X).mode != 0)
...
...
tests-clar/index/names.c
View file @
75d1c8c6
#include "clar_libgit2.h"
#include "index.h"
#include "git2/sys/index.h"
#include "git2/repository.h"
#include "../reset/reset_helpers.h"
...
...
tests-clar/index/reuc.c
View file @
75d1c8c6
#include "clar_libgit2.h"
#include "index.h"
#include "git2/sys/index.h"
#include "git2/repository.h"
#include "../reset/reset_helpers.h"
...
...
tests-clar/merge/merge_helpers.c
View file @
75d1c8c6
...
...
@@ -5,6 +5,7 @@
#include "merge_helpers.h"
#include "merge.h"
#include "git2/merge.h"
#include "git2/sys/index.h"
int
merge_trees_from_branches
(
git_index
**
index
,
git_repository
*
repo
,
...
...
tests-clar/merge/trees/trivial.c
View file @
75d1c8c6
...
...
@@ -5,6 +5,7 @@
#include "../merge_helpers.h"
#include "refs.h"
#include "fileops.h"
#include "git2/sys/index.h"
static
git_repository
*
repo
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment