1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
|
#ifndef CGIT_SHARED_H
#define CGIT_SHARED_H
#include "cgit.h"
extern char cgit_default_repo_desc[];
typedef void (*filepair_fn)(struct diff_filepair *pair);
typedef void (*linediff_fn)(char *line, int len);
extern int cgit_die_unless_zero(int result, const char *msg);
extern int cgit_die_unless_positive(int result, const char *msg);
extern int cgit_die_unless_non_negative(int result, const char *msg);
extern struct cgit_repo *cgit_add_repo(const char *url);
extern struct cgit_repo *cgit_get_repoinfo(const char *url);
extern void cgit_prepare_repo_env(struct cgit_repo *repo);
extern void cgit_free_reflist_inner(struct reflist *list);
extern int cgit_refs_cb(const struct reference *ref, void *cb_data);
extern void cgit_free_commitinfo(struct commitinfo *info);
extern void cgit_free_taginfo(struct taginfo *info);
extern void cgit_diff_tree_cb(struct diff_queue_struct *q, struct diff_options *options, void *data);
extern int cgit_diff_files(const struct object_id *old_oid, const struct object_id *new_oid,
size_t *old_size, size_t *new_size, int *binary, int context, int ignorews,
linediff_fn fn);
extern int cgit_blob_too_large(size_t size);
extern void cgit_diff_limit_path(struct diff_options *opt, const char *prefix);
extern void cgit_diff_tree(const struct object_id *old_oid, const struct object_id *new_oid,
filepair_fn fn, const char *prefix, int ignorews);
extern void cgit_diff_commit(struct commit *commit, filepair_fn fn, const char *prefix);
extern void cgit_parse_date_format(const char *format, struct date_mode *mode);
extern char *cgit_trim_end(const char *str, char c);
extern char *cgit_ensure_end(const char *str, char c);
extern void strbuf_ensure_end(struct strbuf *sb, char c);
extern int cgit_read_first_line(const char *path, char **buf, size_t *size);
extern char *cgit_strdup_first_line(const char *text);
extern size_t cgit_utf8_seq_len(const unsigned char *p, size_t left);
extern void cgit_utf8_sanitize(char *text);
extern char *cgit_expand_macros(const char *text);
extern char *cgit_get_mimetype_for_filename(const char *filename);
extern int cgit_readme_is_tracked(const char *readme);
extern int cgit_valid_rev(const char *rev);
extern int cgit_notes_ref_usable(const char *notes_ref);
#endif
|