Branch Coverage

deps/libgit2/src/transaction.c
Criterion Covered Total %
branch 54 130 41.5


line true false branch
60 0 0 assert(out && cfg);
0 0 assert(out && cfg);
63 0 0 GIT_ERROR_CHECK_ALLOC(tx);
77 3 0 assert(out && repo);
0 3 assert(out && repo);
82 0 3 if (!tx) {
87 0 3 if ((error = git_strmap_new(&tx->locks)) < 0) {
92 0 3 if ((error = git_repository_refdb(&tx->db, repo)) < 0)
111 3 0 assert(tx && refname);
0 3 assert(tx && refname);
114 0 3 GIT_ERROR_CHECK_ALLOC(node);
117 0 3 GIT_ERROR_CHECK_ALLOC(node->name);
119 0 3 if ((error = git_refdb_lock(&node->payload, tx->db, refname)) < 0)
122 0 3 if ((error = git_strmap_set(tx->locks, node->name, node)) < 0)
137 0 6 if ((node = git_strmap_get(tx->locks, refname)) == NULL) {
148 0 2 if (sig && git_signature__pdup(&node->sig, sig, &tx->pool) < 0)
0 0 if (sig && git_signature__pdup(&node->sig, sig, &tx->pool) < 0)
151 2 0 if (!node->sig) {
155 0 2 if (git_reference__log_signature(&tmp, tx->repo) < 0)
161 0 2 if (error < 0)
165 0 2 if (msg) {
167 0 0 GIT_ERROR_CHECK_ALLOC(node->message);
178 2 0 assert(tx && refname && target);
2 0 assert(tx && refname && target);
0 2 assert(tx && refname && target);
180 0 2 if ((error = find_locked(&node, tx, refname)) < 0)
183 0 2 if ((error = copy_common(node, tx, sig, msg)) < 0)
197 0 0 assert(tx && refname && target);
0 0 assert(tx && refname && target);
0 0 assert(tx && refname && target);
199 0 0 if ((error = find_locked(&node, tx, refname)) < 0)
202 0 0 if ((error = copy_common(node, tx, sig, msg)) < 0)
206 0 0 GIT_ERROR_CHECK_ALLOC(node->target.symbolic);
217 0 1 if ((error = find_locked(&node, tx, refname)) < 0)
233 0 3 GIT_ERROR_CHECK_ALLOC(reflog);
236 0 3 GIT_ERROR_CHECK_ALLOC(reflog->ref_name);
241 0 3 GIT_ERROR_CHECK_ALLOC(reflog->entries.contents);
244 0 3 GIT_ERROR_CHECK_ALLOC(entries);
246 2 3 for (i = 0; i < len; i++) {
258 0 2 GIT_ERROR_CHECK_ALLOC(tgt->msg);
260 0 2 if (git_signature__pdup(&tgt->committer, src->committer, pool) < 0)
274 3 0 assert(tx && refname && reflog);
3 0 assert(tx && refname && reflog);
0 3 assert(tx && refname && reflog);
276 0 3 if ((error = find_locked(&node, tx, refname)) < 0)
279 0 3 if ((error = dup_reflog(&node->reflog, reflog, &tx->pool)) < 0)
290 3 0 if (node->ref_type == GIT_REFERENCE_DIRECT) {
292 0 0 } else if (node->ref_type == GIT_REFERENCE_SYMBOLIC) {
298 0 3 GIT_ERROR_CHECK_ALLOC(ref);
301 1 2 if (node->remove) {
303 2 0 } else if (node->ref_type == GIT_REFERENCE_DIRECT) {
305 0 0 } else if (node->ref_type == GIT_REFERENCE_SYMBOLIC) {
322 0 3 assert(tx);
324 0 3 if (tx->type == TRANSACTION_CONFIG) {
331 3 0 git_strmap_foreach_value(tx->locks, node, {
0 3 git_strmap_foreach_value(tx->locks, node, {
0 3 git_strmap_foreach_value(tx->locks, node, {
0 0 git_strmap_foreach_value(tx->locks, node, {
0 3 git_strmap_foreach_value(tx->locks, node, {
3 3 git_strmap_foreach_value(tx->locks, node, {
357 0 3 assert(tx);
359 0 3 if (tx->type == TRANSACTION_CONFIG) {
360 0 0 if (tx->cfg) {
370 3 0 git_strmap_foreach_value(tx->locks, node, {
3 3 git_strmap_foreach_value(tx->locks, node, {