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
3b2153fe
Commit
3b2153fe
authored
Apr 05, 2020
by
Edward Thomson
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
commit: use GIT_ASSERT
parent
d4384977
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
41 additions
and
28 deletions
+41
-28
src/commit.c
+41
-28
No files found.
src/commit.c
View file @
3b2153fe
...
@@ -53,7 +53,8 @@ static int git_commit__create_buffer_internal(
...
@@ -53,7 +53,8 @@ static int git_commit__create_buffer_internal(
size_t
i
=
0
;
size_t
i
=
0
;
const
git_oid
*
parent
;
const
git_oid
*
parent
;
assert
(
out
&&
tree
);
GIT_ASSERT_ARG
(
out
);
GIT_ASSERT_ARG
(
tree
);
git_oid__writebuf
(
out
,
"tree "
,
tree
);
git_oid__writebuf
(
out
,
"tree "
,
tree
);
...
@@ -229,7 +230,8 @@ int git_commit_create_v(
...
@@ -229,7 +230,8 @@ int git_commit_create_v(
int
error
=
0
;
int
error
=
0
;
commit_parent_varargs
data
;
commit_parent_varargs
data
;
assert
(
tree
&&
git_tree_owner
(
tree
)
==
repo
);
GIT_ASSERT_ARG
(
tree
);
GIT_ASSERT_ARG
(
git_tree_owner
(
tree
)
==
repo
);
data
.
total
=
parent_count
;
data
.
total
=
parent_count
;
va_start
(
data
.
args
,
parent_count
);
va_start
(
data
.
args
,
parent_count
);
...
@@ -306,7 +308,8 @@ int git_commit_create(
...
@@ -306,7 +308,8 @@ int git_commit_create(
{
{
commit_parent_data
data
=
{
parent_count
,
parents
,
repo
};
commit_parent_data
data
=
{
parent_count
,
parents
,
repo
};
assert
(
tree
&&
git_tree_owner
(
tree
)
==
repo
);
GIT_ASSERT_ARG
(
tree
);
GIT_ASSERT_ARG
(
git_tree_owner
(
tree
)
==
repo
);
return
git_commit__create_internal
(
return
git_commit__create_internal
(
id
,
repo
,
update_ref
,
author
,
committer
,
id
,
repo
,
update_ref
,
author
,
committer
,
...
@@ -337,7 +340,8 @@ int git_commit_amend(
...
@@ -337,7 +340,8 @@ int git_commit_amend(
git_reference
*
ref
;
git_reference
*
ref
;
int
error
;
int
error
;
assert
(
id
&&
commit_to_amend
);
GIT_ASSERT_ARG
(
id
);
GIT_ASSERT_ARG
(
commit_to_amend
);
repo
=
git_commit_owner
(
commit_to_amend
);
repo
=
git_commit_owner
(
commit_to_amend
);
...
@@ -356,7 +360,7 @@ int git_commit_amend(
...
@@ -356,7 +360,7 @@ int git_commit_amend(
git_oid_cpy
(
&
tree_id
,
git_tree_id
(
old_tree
));
git_oid_cpy
(
&
tree_id
,
git_tree_id
(
old_tree
));
git_tree_free
(
old_tree
);
git_tree_free
(
old_tree
);
}
else
{
}
else
{
assert
(
git_tree_owner
(
tree
)
==
repo
);
GIT_ASSERT_ARG
(
git_tree_owner
(
tree
)
==
repo
);
git_oid_cpy
(
&
tree_id
,
git_tree_id
(
tree
));
git_oid_cpy
(
&
tree_id
,
git_tree_id
(
tree
));
}
}
...
@@ -392,7 +396,8 @@ static int commit_parse(git_commit *commit, const char *data, size_t size, unsig
...
@@ -392,7 +396,8 @@ static int commit_parse(git_commit *commit, const char *data, size_t size, unsig
size_t
header_len
;
size_t
header_len
;
git_signature
dummy_sig
;
git_signature
dummy_sig
;
assert
(
commit
&&
data
);
GIT_ASSERT_ARG
(
commit
);
GIT_ASSERT_ARG
(
data
);
buffer
=
buffer_start
;
buffer
=
buffer_start
;
...
@@ -506,28 +511,28 @@ int git_commit__parse(void *_commit, git_odb_object *odb_obj)
...
@@ -506,28 +511,28 @@ int git_commit__parse(void *_commit, git_odb_object *odb_obj)
return
git_commit__parse_ext
(
_commit
,
odb_obj
,
0
);
return
git_commit__parse_ext
(
_commit
,
odb_obj
,
0
);
}
}
#define GIT_COMMIT_GETTER(_rvalue, _name, _return) \
#define GIT_COMMIT_GETTER(_rvalue, _name, _return
, _invalid
) \
_rvalue git_commit_##_name(const git_commit *commit) \
_rvalue git_commit_##_name(const git_commit *commit) \
{\
{\
assert(commit
); \
GIT_ASSERT_ARG_WITH_RETVAL(commit, _invalid
); \
return _return; \
return _return; \
}
}
GIT_COMMIT_GETTER
(
const
git_signature
*
,
author
,
commit
->
author
)
GIT_COMMIT_GETTER
(
const
git_signature
*
,
author
,
commit
->
author
,
NULL
)
GIT_COMMIT_GETTER
(
const
git_signature
*
,
committer
,
commit
->
committer
)
GIT_COMMIT_GETTER
(
const
git_signature
*
,
committer
,
commit
->
committer
,
NULL
)
GIT_COMMIT_GETTER
(
const
char
*
,
message_raw
,
commit
->
raw_message
)
GIT_COMMIT_GETTER
(
const
char
*
,
message_raw
,
commit
->
raw_message
,
NULL
)
GIT_COMMIT_GETTER
(
const
char
*
,
message_encoding
,
commit
->
message_encoding
)
GIT_COMMIT_GETTER
(
const
char
*
,
message_encoding
,
commit
->
message_encoding
,
NULL
)
GIT_COMMIT_GETTER
(
const
char
*
,
raw_header
,
commit
->
raw_header
)
GIT_COMMIT_GETTER
(
const
char
*
,
raw_header
,
commit
->
raw_header
,
NULL
)
GIT_COMMIT_GETTER
(
git_time_t
,
time
,
commit
->
committer
->
when
.
time
)
GIT_COMMIT_GETTER
(
git_time_t
,
time
,
commit
->
committer
->
when
.
time
,
INT64_MIN
)
GIT_COMMIT_GETTER
(
int
,
time_offset
,
commit
->
committer
->
when
.
offset
)
GIT_COMMIT_GETTER
(
int
,
time_offset
,
commit
->
committer
->
when
.
offset
,
-
1
)
GIT_COMMIT_GETTER
(
unsigned
int
,
parentcount
,
(
unsigned
int
)
git_array_size
(
commit
->
parent_ids
))
GIT_COMMIT_GETTER
(
unsigned
int
,
parentcount
,
(
unsigned
int
)
git_array_size
(
commit
->
parent_ids
)
,
0
)
GIT_COMMIT_GETTER
(
const
git_oid
*
,
tree_id
,
&
commit
->
tree_id
)
GIT_COMMIT_GETTER
(
const
git_oid
*
,
tree_id
,
&
commit
->
tree_id
,
NULL
)
const
char
*
git_commit_message
(
const
git_commit
*
commit
)
const
char
*
git_commit_message
(
const
git_commit
*
commit
)
{
{
const
char
*
message
;
const
char
*
message
;
assert
(
commit
);
GIT_ASSERT_ARG_WITH_RETVAL
(
commit
,
NULL
);
message
=
commit
->
raw_message
;
message
=
commit
->
raw_message
;
...
@@ -544,7 +549,7 @@ const char *git_commit_summary(git_commit *commit)
...
@@ -544,7 +549,7 @@ const char *git_commit_summary(git_commit *commit)
const
char
*
msg
,
*
space
;
const
char
*
msg
,
*
space
;
bool
space_contains_newline
=
false
;
bool
space_contains_newline
=
false
;
assert
(
commit
);
GIT_ASSERT_ARG_WITH_RETVAL
(
commit
,
NULL
);
if
(
!
commit
->
summary
)
{
if
(
!
commit
->
summary
)
{
for
(
msg
=
git_commit_message
(
commit
),
space
=
NULL
;
*
msg
;
++
msg
)
{
for
(
msg
=
git_commit_message
(
commit
),
space
=
NULL
;
*
msg
;
++
msg
)
{
...
@@ -587,7 +592,7 @@ const char *git_commit_body(git_commit *commit)
...
@@ -587,7 +592,7 @@ const char *git_commit_body(git_commit *commit)
{
{
const
char
*
msg
,
*
end
;
const
char
*
msg
,
*
end
;
assert
(
commit
);
GIT_ASSERT_ARG_WITH_RETVAL
(
commit
,
NULL
);
if
(
!
commit
->
body
)
{
if
(
!
commit
->
body
)
{
/* search for end of summary */
/* search for end of summary */
...
@@ -612,14 +617,14 @@ const char *git_commit_body(git_commit *commit)
...
@@ -612,14 +617,14 @@ const char *git_commit_body(git_commit *commit)
int
git_commit_tree
(
git_tree
**
tree_out
,
const
git_commit
*
commit
)
int
git_commit_tree
(
git_tree
**
tree_out
,
const
git_commit
*
commit
)
{
{
assert
(
commit
);
GIT_ASSERT_ARG
(
commit
);
return
git_tree_lookup
(
tree_out
,
commit
->
object
.
repo
,
&
commit
->
tree_id
);
return
git_tree_lookup
(
tree_out
,
commit
->
object
.
repo
,
&
commit
->
tree_id
);
}
}
const
git_oid
*
git_commit_parent_id
(
const
git_oid
*
git_commit_parent_id
(
const
git_commit
*
commit
,
unsigned
int
n
)
const
git_commit
*
commit
,
unsigned
int
n
)
{
{
assert
(
commit
);
GIT_ASSERT_ARG_WITH_RETVAL
(
commit
,
NULL
);
return
git_array_get
(
commit
->
parent_ids
,
n
);
return
git_array_get
(
commit
->
parent_ids
,
n
);
}
}
...
@@ -628,7 +633,7 @@ int git_commit_parent(
...
@@ -628,7 +633,7 @@ int git_commit_parent(
git_commit
**
parent
,
const
git_commit
*
commit
,
unsigned
int
n
)
git_commit
**
parent
,
const
git_commit
*
commit
,
unsigned
int
n
)
{
{
const
git_oid
*
parent_id
;
const
git_oid
*
parent_id
;
assert
(
commit
);
GIT_ASSERT_ARG
(
commit
);
parent_id
=
git_commit_parent_id
(
commit
,
n
);
parent_id
=
git_commit_parent_id
(
commit
,
n
);
if
(
parent_id
==
NULL
)
{
if
(
parent_id
==
NULL
)
{
...
@@ -647,7 +652,8 @@ int git_commit_nth_gen_ancestor(
...
@@ -647,7 +652,8 @@ int git_commit_nth_gen_ancestor(
git_commit
*
current
,
*
parent
=
NULL
;
git_commit
*
current
,
*
parent
=
NULL
;
int
error
;
int
error
;
assert
(
ancestor
&&
commit
);
GIT_ASSERT_ARG
(
ancestor
);
GIT_ASSERT_ARG
(
commit
);
if
(
git_commit_dup
(
&
current
,
(
git_commit
*
)
commit
)
<
0
)
if
(
git_commit_dup
(
&
current
,
(
git_commit
*
)
commit
)
<
0
)
return
-
1
;
return
-
1
;
...
@@ -840,7 +846,8 @@ int git_commit_create_buffer(git_buf *out,
...
@@ -840,7 +846,8 @@ int git_commit_create_buffer(git_buf *out,
git_array_oid_t
parents_arr
=
GIT_ARRAY_INIT
;
git_array_oid_t
parents_arr
=
GIT_ARRAY_INIT
;
const
git_oid
*
tree_id
;
const
git_oid
*
tree_id
;
assert
(
tree
&&
git_tree_owner
(
tree
)
==
repo
);
GIT_ASSERT_ARG
(
tree
);
GIT_ASSERT_ARG
(
git_tree_owner
(
tree
)
==
repo
);
tree_id
=
git_tree_id
(
tree
);
tree_id
=
git_tree_id
(
tree
);
...
@@ -859,11 +866,13 @@ int git_commit_create_buffer(git_buf *out,
...
@@ -859,11 +866,13 @@ int git_commit_create_buffer(git_buf *out,
/**
/**
* Append to 'out' properly marking continuations when there's a newline in 'content'
* Append to 'out' properly marking continuations when there's a newline in 'content'
*/
*/
static
void
format_header_field
(
git_buf
*
out
,
const
char
*
field
,
const
char
*
content
)
static
int
format_header_field
(
git_buf
*
out
,
const
char
*
field
,
const
char
*
content
)
{
{
const
char
*
lf
;
const
char
*
lf
;
assert
(
out
&&
field
&&
content
);
GIT_ASSERT_ARG
(
out
);
GIT_ASSERT_ARG
(
field
);
GIT_ASSERT_ARG
(
content
);
git_buf_puts
(
out
,
field
);
git_buf_puts
(
out
,
field
);
git_buf_putc
(
out
,
' '
);
git_buf_putc
(
out
,
' '
);
...
@@ -876,6 +885,8 @@ static void format_header_field(git_buf *out, const char *field, const char *con
...
@@ -876,6 +885,8 @@ static void format_header_field(git_buf *out, const char *field, const char *con
git_buf_puts
(
out
,
content
);
git_buf_puts
(
out
,
content
);
git_buf_putc
(
out
,
'\n'
);
git_buf_putc
(
out
,
'\n'
);
return
git_buf_oom
(
out
)
?
-
1
:
0
;
}
}
static
const
git_oid
*
commit_parent_from_commit
(
size_t
n
,
void
*
payload
)
static
const
git_oid
*
commit_parent_from_commit
(
size_t
n
,
void
*
payload
)
...
@@ -926,7 +937,9 @@ int git_commit_create_with_signature(
...
@@ -926,7 +937,9 @@ int git_commit_create_with_signature(
if
(
signature
!=
NULL
)
{
if
(
signature
!=
NULL
)
{
field
=
signature_field
?
signature_field
:
"gpgsig"
;
field
=
signature_field
?
signature_field
:
"gpgsig"
;
format_header_field
(
&
commit
,
field
,
signature
);
if
((
error
=
format_header_field
(
&
commit
,
field
,
signature
))
<
0
)
goto
cleanup
;
}
}
git_buf_puts
(
&
commit
,
header_end
);
git_buf_puts
(
&
commit
,
header_end
);
...
...
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