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
6533aadc
Commit
6533aadc
authored
Oct 31, 2008
by
Shawn O. Pearce
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Drop the _t suffix as it is a POSIX reserved namespace
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
parent
de2220a4
Show whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
63 additions
and
55 deletions
+63
-55
CONVENTIONS
+9
-1
src/git_commit.c
+1
-1
src/git_commit.h
+7
-7
src/git_common.h
+1
-1
src/git_odb.c
+5
-5
src/git_odb.h
+10
-10
src/git_oid.c
+2
-2
src/git_oid.h
+3
-3
src/git_revwalk.c
+10
-10
src/git_revwalk.h
+15
-15
No files found.
CONVENTIONS
View file @
6533aadc
...
...
@@ -12,7 +12,15 @@ All #define macros start with 'GIT_'.
Type Definitions
----------------
All types end in '_t'; for example git_oid_t or git_odb_t.
Most types should be opaque, e.g.:
----
typedef struct git_odb git_odb;
----
with allocation functions returning an "instance" created within
the library, and not within the application. This allows the type
to grow (or shrink) in size without rebuilding client code.
Public Exported Function Definitions
...
...
src/git_commit.c
View file @
6533aadc
...
...
@@ -35,7 +35,7 @@
#include "git_commit.h"
const
git_oid
_t
*
git_commit_id
(
git_commit_
t
*
c
)
const
git_oid
*
git_commit_id
(
git_commi
t
*
c
)
{
return
&
c
->
id
;
}
src/git_commit.h
View file @
6533aadc
...
...
@@ -50,10 +50,10 @@
GIT_BEGIN_DECL
/** Parsed representation of a commit object. */
typedef
struct
git_commit
_t
git_commit_
t
;
typedef
struct
git_commit
git_commi
t
;
#ifdef GIT__PRIVATE
struct
git_commit
_t
{
git_oid
_t
id
;
struct
git_commit
{
git_oid
id
;
time_t
commit_time
;
unsigned
parsed
:
1
,
flags
:
26
;
...
...
@@ -66,17 +66,17 @@ struct git_commit_t {
* @param id identity of the commit to locate. If the object is
* an annotated tag it will be peeled back to the commit.
* @return the commit; NULL if the commit does not exist in the
* pool's git_odb
_t
, or if the commit is present but is
* pool's git_odb, or if the commit is present but is
* too malformed to be parsed successfully.
*/
GIT_EXTERN
(
git_commit
_t
*
)
git_commit_parse
(
git_revp_t
*
pool
,
const
git_oid_t
*
id
);
GIT_EXTERN
(
git_commit
*
)
git_commit_parse
(
git_revp
*
pool
,
const
git_oid
*
id
);
/**
* Get the id of a commit.
* @param commit a previously parsed commit.
* @return object identity for the commit.
*/
GIT_EXTERN
(
const
git_oid
_t
*
)
git_commit_id
(
git_commit_
t
*
commit
);
GIT_EXTERN
(
const
git_oid
*
)
git_commit_id
(
git_commi
t
*
commit
);
/**
* Get the application data address.
...
...
@@ -85,7 +85,7 @@ GIT_EXTERN(const git_oid_t*) git_commit_id(git_commit_t *commit);
* Applications should cast to something like
* 'struct mydata*' in order to access fields.
*/
GIT_EXTERN
(
void
*
)
git_commit_appdata
(
git_commit
_t
*
commit
);
GIT_EXTERN
(
void
*
)
git_commit_appdata
(
git_commit
*
commit
);
/** @} */
GIT_END_DECL
...
...
src/git_common.h
View file @
6533aadc
...
...
@@ -80,7 +80,7 @@ GIT_BEGIN_DECL
#define GIT_ENOTFOUND (GIT_ERROR - 2)
/** A revision traversal pool. */
typedef
struct
git_revp
_t
git_revp_t
;
typedef
struct
git_revp
git_revp
;
/** @} */
GIT_END_DECL
...
...
src/git_odb.c
View file @
6533aadc
...
...
@@ -35,21 +35,21 @@
#include "git_odb.h"
struct
git_odb
_t
{
struct
git_odb
{
/** Path to the "objects" directory. */
const
char
*
path
;
/** Alternate databases to search. */
git_odb
_t
**
alternates
;
git_odb
**
alternates
;
/** Number of alternates available. */
unsigned
n_alternates
;
};
int
git_odb_read
(
git_sobj
_t
*
out
,
git_odb
_t
*
db
,
const
git_oid
_t
*
id
)
git_sobj
*
out
,
git_odb
*
db
,
const
git_oid
*
id
)
{
if
(
!
git_odb__read_packed
(
out
,
db
,
id
))
return
GIT_SUCCESS
;
...
...
src/git_odb.h
View file @
6533aadc
...
...
@@ -50,7 +50,7 @@
GIT_BEGIN_DECL
/** An open object database handle. */
typedef
struct
git_odb
_t
git_odb_t
;
typedef
struct
git_odb
git_odb
;
/**
* Open an object database for read/write access.
...
...
@@ -60,14 +60,14 @@ typedef struct git_odb_t git_odb_t;
* @return GIT_SUCCESS if the database opened; otherwise an error
* code describing why the open was not possible.
*/
GIT_EXTERN
(
int
)
git_odb_open
(
git_odb
_t
**
out
,
const
char
*
objects_dir
);
GIT_EXTERN
(
int
)
git_odb_open
(
git_odb
**
out
,
const
char
*
objects_dir
);
/**
* Close an open object database.
* @param db database pointer to close. If NULL no action is taken.
* The pointer is set to NULL when the close is completed.
*/
GIT_EXTERN
(
void
)
git_odb_close
(
git_odb
_t
**
db
);
GIT_EXTERN
(
void
)
git_odb_close
(
git_odb
**
db
);
/** Basic type (loose or packed) of any Git object. */
typedef
enum
{
...
...
@@ -80,14 +80,14 @@ typedef enum {
GIT_OBJ__EXT2
=
5
,
/**< Reserved for future use. */
GIT_OBJ_OFS_DELTA
=
6
,
/**< A delta, base is given by an offset. */
GIT_OBJ_REF_DELTA
=
7
,
/**< A delta, base is given by object id. */
}
git_otype
_t
;
}
git_otype
;
/** A small object read from the database. */
typedef
struct
{
void
*
data
;
/**< Raw, decompressed object data. */
size_t
len
;
/**< Total number of bytes in data. */
git_otype
_t
type
;
/**< Type of this object. */
}
git_sobj
_t
;
git_otype
type
;
/**< Type of this object. */
}
git_sobj
;
/**
* Read a small object from the database.
...
...
@@ -101,7 +101,7 @@ typedef struct {
* - GIT_SUCCESS if the object was read;
* - GIT_ENOTFOUND if the object is not in the database.
*/
GIT_EXTERN
(
int
)
git_odb_read
(
git_sobj
_t
*
out
,
git_odb_t
*
db
,
const
git_oid_t
*
id
);
GIT_EXTERN
(
int
)
git_odb_read
(
git_sobj
*
out
,
git_odb
*
db
,
const
git_oid
*
id
);
/**
* Read a small object from the database using only pack files.
...
...
@@ -115,7 +115,7 @@ GIT_EXTERN(int) git_odb_read(git_sobj_t *out, git_odb_t *db, const git_oid_t *id
* - GIT_SUCCESS if the object was read.
* - GIT_ENOTFOUND if the object is not in the database.
*/
GIT_EXTERN
(
int
)
git_odb__read_packed
(
git_sobj
_t
*
out
,
git_odb_t
*
db
,
const
git_oid_t
*
id
);
GIT_EXTERN
(
int
)
git_odb__read_packed
(
git_sobj
*
out
,
git_odb
*
db
,
const
git_oid
*
id
);
/**
* Read a small object from the database using only loose object files.
...
...
@@ -129,7 +129,7 @@ GIT_EXTERN(int) git_odb__read_packed(git_sobj_t *out, git_odb_t *db, const git_o
* - GIT_SUCCESS if the object was read.
* - GIT_ENOTFOUND if the object is not in the database.
*/
GIT_EXTERN
(
int
)
git_odb__read_loose
(
git_sobj
_t
*
out
,
git_odb_t
*
db
,
const
git_oid_t
*
id
);
GIT_EXTERN
(
int
)
git_odb__read_loose
(
git_sobj
*
out
,
git_odb
*
db
,
const
git_oid
*
id
);
/**
* Release all memory used by the sobj structure.
...
...
@@ -140,7 +140,7 @@ GIT_EXTERN(int) git_odb__read_loose(git_sobj_t *out, git_odb_t *db, const git_oi
*
* @param obj object descriptor to free.
*/
GIT_EXTERN
(
void
)
git_sobj_close
(
git_sobj
_t
*
obj
);
GIT_EXTERN
(
void
)
git_sobj_close
(
git_sobj
*
obj
);
/** @} */
GIT_END_DECL
...
...
src/git_oid.c
View file @
6533aadc
...
...
@@ -55,7 +55,7 @@ static signed char from_hex[] = {
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
/* f0 */
};
int
git_oid_mkstr
(
git_oid
_t
*
out
,
const
char
*
str
)
int
git_oid_mkstr
(
git_oid
*
out
,
const
char
*
str
)
{
int
p
;
for
(
p
=
0
;
p
<
sizeof
(
out
->
id
);
p
++
,
str
+=
2
)
{
...
...
@@ -67,7 +67,7 @@ int git_oid_mkstr(git_oid_t *out, const char *str)
return
GIT_SUCCESS
;
}
void
git_oid_mkraw
(
git_oid
_t
*
out
,
const
unsigned
char
*
raw
)
void
git_oid_mkraw
(
git_oid
*
out
,
const
unsigned
char
*
raw
)
{
memcpy
(
out
->
id
,
raw
,
sizeof
(
out
->
id
));
}
src/git_oid.h
View file @
6533aadc
...
...
@@ -52,7 +52,7 @@ typedef struct
{
/** raw binary formatted id */
unsigned
char
id
[
20
];
}
git_oid
_t
;
}
git_oid
;
/**
* Parse a hex formatted object id into a git_oid.
...
...
@@ -62,14 +62,14 @@ typedef struct
* needed for an oid encoded in hex (40 bytes).
* @return GIT_SUCCESS if valid; GIT_ENOTOID on failure.
*/
GIT_EXTERN
(
int
)
git_oid_mkstr
(
git_oid
_t
*
out
,
const
char
*
str
);
GIT_EXTERN
(
int
)
git_oid_mkstr
(
git_oid
*
out
,
const
char
*
str
);
/**
* Copy an already raw oid into a git_oid structure.
* @param out oid structure the result is written into.
* @param raw the raw input bytes to be copied.
*/
GIT_EXTERN
(
void
)
git_oid_mkraw
(
git_oid
_t
*
out
,
const
unsigned
char
*
raw
);
GIT_EXTERN
(
void
)
git_oid_mkraw
(
git_oid
*
out
,
const
unsigned
char
*
raw
);
/** @} */
GIT_END_DECL
...
...
src/git_revwalk.c
View file @
6533aadc
...
...
@@ -37,22 +37,22 @@
#include <stdlib.h>
#include <string.h>
struct
git_revp_attr
_t
{
struct
git_revp_attr
{
size_t
app_size
;
int
(
*
app_init
)(
git_commit
_t
*
,
void
*
);
int
(
*
app_init
)(
git_commit
*
,
void
*
);
};
struct
git_revp
_t
{
git_odb
_t
*
db
;
git_revp_attr
_t
attr
;
struct
git_revp
{
git_odb
*
db
;
git_revp_attr
attr
;
};
git_revp
_t
*
git_revp_alloc
(
git_odb
_t
*
db
,
const
git_revp_attr
_t
*
attr
)
git_revp
*
git_revp_alloc
(
git_odb
*
db
,
const
git_revp_attr
*
attr
)
{
git_revp
_t
*
walk
=
malloc
(
sizeof
(
*
walk
));
git_revp
*
walk
=
malloc
(
sizeof
(
*
walk
));
if
(
!
walk
)
return
NULL
;
...
...
@@ -65,7 +65,7 @@ git_revp_t *git_revp_alloc(
return
walk
;
}
void
git_revp_free
(
git_revp
_t
*
walk
)
void
git_revp_free
(
git_revp
*
walk
)
{
free
(
walk
);
}
src/git_revwalk.h
View file @
6533aadc
...
...
@@ -50,7 +50,7 @@
GIT_BEGIN_DECL
/** Configuration of a revision pool. */
typedef
struct
git_revp_attr
_t
git_revp_attr_t
;
typedef
struct
git_revp_attr
git_revp_attr
;
/**
* Allocate an empty pool configuration.
...
...
@@ -61,13 +61,13 @@ typedef struct git_revp_attr_t git_revp_attr_t;
* @return a new configuration block.
* NULL if there is insufficient memory.
*/
GIT_EXTERN
(
git_revp_attr
_t
*
)
git_revp_attr_alloc
(
void
);
GIT_EXTERN
(
git_revp_attr
*
)
git_revp_attr_alloc
(
void
);
/**
* Setup the application's per-commit data allocation.
*
* If size is non-zero the requested number of bytes is allocated
* alongside every git_commit
_t
used by the revision pool, allowing
* alongside every git_commit used by the revision pool, allowing
* constant-time access to per-commit application data.
*
* If init is not NULL the function is invoked with the commit and
...
...
@@ -81,22 +81,22 @@ GIT_EXTERN(git_revp_attr_t*) git_revp_attr_alloc(void);
*
* @param attr the pool configuration to adjust.
* @param size number of bytes required by the application on
* each rev_commit
_t
instance within the pool.
* each rev_commit instance within the pool.
* @param init optional callback function to initialize the
* application data space. If NULL the application
* space will be zeroed. If supplied the application
* space may contain random garbage.
*/
GIT_EXTERN
(
void
)
git_revp_attr_appdata
(
git_revp_attr
_t
*
attr
,
git_revp_attr
*
attr
,
size_t
size
,
int
(
*
init
)(
git_commit
_t
*
,
void
*
));
int
(
*
init
)(
git_commit
*
,
void
*
));
/**
* Free a pool configuration.
* @param attr the configuration to free. No-op if NULL.
*/
GIT_EXTERN
(
void
)
git_revp_attr_free
(
git_revp_attr
_t
*
attr
);
GIT_EXTERN
(
void
)
git_revp_attr_free
(
git_revp_attr
*
attr
);
/**
* Allocate a new revision traversal pool.
...
...
@@ -111,42 +111,42 @@ GIT_EXTERN(void) git_revp_attr_free(git_revp_attr_t *attr);
* NULL to use a default configuration.
* @return the new traversal handle; NULL if memory is exhausted.
*/
GIT_EXTERN
(
git_revp
_t
*
)
git_revp_alloc
(
git_odb
_t
*
db
,
const
git_revp_attr
_t
*
attr
);
GIT_EXTERN
(
git_revp
*
)
git_revp_alloc
(
git_odb
*
db
,
const
git_revp_attr
*
attr
);
/**
* Reset the traversal machinary for reuse.
* @param pool traversal handle to reset.
*/
GIT_EXTERN
(
void
)
git_revp_reset
(
git_revp
_t
*
pool
);
GIT_EXTERN
(
void
)
git_revp_reset
(
git_revp
*
pool
);
/**
* Mark an object to start traversal from.
* @param pool the pool being used for the traversal.
* @param commit the commit the commit to start from.
*/
GIT_EXTERN
(
void
)
git_revp_pushc
(
git_revp
_t
*
pool
,
git_commit_
t
*
commit
);
GIT_EXTERN
(
void
)
git_revp_pushc
(
git_revp
*
pool
,
git_commi
t
*
commit
);
/**
* Mark a commit (and its ancestors) uninteresting for the output.
* @param pool the pool being used for the traversal.
* @param commit the commit the commit to start from.
*/
GIT_EXTERN
(
void
)
git_revp_hidec
(
git_revp
_t
*
pool
,
git_commit_
t
*
commit
);
GIT_EXTERN
(
void
)
git_revp_hidec
(
git_revp
*
pool
,
git_commi
t
*
commit
);
/**
* Get the next commit from the revision traversal.
* @param pool the pool to pop the commit from.
* @return next commit; NULL if there is no more output.
*/
GIT_EXTERN
(
git_commit
_t
*
)
git_revp_nextc
(
git_revp_t
*
pool
);
GIT_EXTERN
(
git_commit
*
)
git_revp_nextc
(
git_revp
*
pool
);
/**
* Free a revwalk previously allocated.
* @param pool traversal handle to close. If NULL nothing occurs.
*/
GIT_EXTERN
(
void
)
git_revp_free
(
git_revp
_t
*
pool
);
GIT_EXTERN
(
void
)
git_revp_free
(
git_revp
*
pool
);
/** @} */
GIT_END_DECL
...
...
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