d8410a81
|
60
|
e2 = container_of(entry_or_key, const struct object_entry, ent);
|
d8410a81
|
61
|
return oidcmp(&e1->idx.oid, &e2->idx.oid);
|
8acb3297
|
305
|
fprintf(rpt, "%u", b->pack_id);
|
6c223e49
|
320
|
error_errno("can't write crash report %s", loc);
|
fcd12db6
|
321
|
free(loc);
|
8acb3297
|
322
|
return;
|
dc01f59d
|
430
|
static void checkpoint_signal(int signo)
|
dc01f59d
|
432
|
checkpoint_requested = 1;
|
dc01f59d
|
433
|
}
|
463acbe1
|
640
|
l->next_avail = f->next_avail;
|
b6f3481b
|
720
|
return NULL;
|
b6f3481b
|
727
|
b->tree = dup_tree_content(a->tree);
|
0721c314
|
793
|
die_errno("cannot create keep file");
|
0721c314
|
796
|
die_errno("failed to write keep file");
|
d9545c7f
|
827
|
die_errno("Failed seeking to start of '%s'", p->pack_name);
|
3c078b9c
|
844
|
return;
|
bdf1c06d
|
891
|
if (t->pack_id == pack_id)
|
d7e6b6a8
|
892
|
fprintf(pack_edges, " %s",
|
d7e6b6a8
|
893
|
oid_to_hex(&t->oid));
|
28d055bd
|
986
|
&& (pack_size + PACK_SIZE_THRESHOLD + s.total_out) > max_packsize)
|
d9ee53ce
|
990
|
e->pack_id = pack_id + 1;
|
820b9310
|
991
|
cycle_packfile();
|
d9ee53ce
|
994
|
if (delta) {
|
6a83d902
|
995
|
FREE_AND_NULL(delta);
|
55bb5c91
|
997
|
git_deflate_init(&s, pack_compression_level);
|
eec813cf
|
998
|
s.next_in = (void *)dat->buf;
|
eec813cf
|
999
|
s.avail_in = dat->len;
|
225a6f10
|
1000
|
s.avail_out = git_deflate_bound(&s, s.avail_in);
|
5d6f3ef6
|
1001
|
s.next_out = out = xrealloc(out, s.avail_out);
|
55bb5c91
|
1002
|
while (git_deflate(&s, Z_FINISH) == Z_OK)
|
55bb5c91
|
1004
|
git_deflate_end(&s);
|
5eef828b
|
1063
|
die_errno("cannot truncate pack to skip duplicate");
|
28d055bd
|
1083
|
&& (pack_size + PACK_SIZE_THRESHOLD + len) > max_packsize)
|
5eef828b
|
1085
|
cycle_packfile();
|
ddddf8d7
|
1145
|
insert_mark(marks, mark, e);
|
5eef828b
|
1153
|
e->type = OBJ_BLOB;
|
5eef828b
|
1154
|
e->pack_id = MAX_PACK_ID;
|
3fc366bd
|
1155
|
e->idx.offset = 1; /* just not zero! */
|
5eef828b
|
1156
|
duplicate_count_by_type[OBJ_BLOB]++;
|
6c526148
|
1157
|
truncate_pack(&checkpoint);
|
463acbe1
|
1227
|
return NULL;
|
afde8dd9
|
1424
|
release_tree_content_recursive(e->tree);
|
463acbe1
|
1456
|
return 0;
|
5edde510
|
1495
|
load_tree(root);
|
253fb5f8
|
1513
|
return 1;
|
b6f3481b
|
1576
|
return 0;
|
b6f3481b
|
1582
|
return 0;
|
de7e86f5
|
1630
|
ref_transaction_free(transaction);
|
de7e86f5
|
1632
|
strbuf_release(&err);
|
de7e86f5
|
1633
|
return -1;
|
3f09ba75
|
1662
|
goto cleanup;
|
3f09ba75
|
1671
|
goto cleanup;
|
01968302
|
1692
|
failure |= error_errno("unable to create leading directories of %s",
|
01968302
|
1694
|
return;
|
6c223e49
|
1698
|
failure |= error_errno("Unable to write marks file %s",
|
60b9004c
|
1700
|
return;
|
5a7b1b57
|
1705
|
int saved_errno = errno;
|
60b9004c
|
1706
|
rollback_lock_file(&mark_lock);
|
60b9004c
|
1709
|
return;
|
6c223e49
|
1714
|
failure |= error_errno("Unable to write file %s",
|
40db58b8
|
1892
|
(unsigned long)(length - n));
|
63e0c8b3
|
1920
|
return -1;
|
4b4963c0
|
1975
|
if (strcmp("now", ltgt))
|
c33ddc2e
|
1977
|
datestamp(&ident);
|
63e0c8b3
|
1978
|
break;
|
463acbe1
|
2032
|
e = active_branches;
|
463acbe1
|
2033
|
active_branches = e->active_next_branch;
|
1bdca816
|
2193
|
return -1;
|
7ffde293
|
2329
|
parse_cat_blob(v);
|
912c13d5
|
2471
|
oidcpy(&commit_oid, &s->oid);
|
debca9d2
|
2500
|
type_name(oe->type), command_buf.buf);
|
0df8e965
|
2502
|
enum object_type type = oid_object_info(the_repository, &oid,
|
a8dd2e7d
|
2504
|
if (type < 0)
|
a8dd2e7d
|
2506
|
if (type != OBJ_BLOB)
|
0df32457
|
2600
|
release_tree_content_recursive(b->branch_tree.tree);
|
0df32457
|
2601
|
b->branch_tree.tree = NULL;
|
b8f50e5b
|
2623
|
return 0;
|
d7e6b6a8
|
2639
|
oidcpy(&n->oid, &s->oid);
|
912c13d5
|
2646
|
} else if (!get_oid(from, &n->oid)) {
|
d3b4705a
|
2648
|
char *buf = read_object_with_reference(the_repository,
|
d3b4705a
|
2649
|
&n->oid,
|
28d055bd
|
2652
|
if (!buf || size < the_hash_algo->hexsz + 6)
|
2f6dc35d
|
2654
|
free(buf);
|
912c13d5
|
2811
|
oidcpy(&oid, &s->oid);
|
8db751a8
|
2812
|
type = OBJ_COMMIT;
|
69e74e74
|
2860
|
t->pack_id = MAX_PACK_ID;
|
3164e6bd
|
2904
|
first_tag = t->next_tag;
|
85c62395
|
2917
|
die_errno("Write to frontend failed");
|
85c62395
|
2938
|
strbuf_reset(&line);
|
912c13d5
|
2939
|
strbuf_addf(&line, "%s missing\n", oid_to_hex(oid));
|
85c62395
|
2940
|
cat_blob_write(line.buf, line.len);
|
85c62395
|
2941
|
strbuf_release(&line);
|
85c62395
|
2942
|
free(buf);
|
85c62395
|
2943
|
return;
|
8dc6a373
|
3033
|
buf = gfi_unpack_entry(oe, &size);
|
28d055bd
|
3044
|
if (size < hexsz + strlen("object ") ||
|
912c13d5
|
3045
|
get_oid_hex(buf + strlen("object "), oid))
|
8dc6a373
|
3047
|
break;
|
1bdca816
|
3068
|
return;
|
8dc6a373
|
3101
|
if (!e)
|
e6a492b7
|
3103
|
oidcpy(&oid, &e->idx.oid);
|
c27e559d
|
3182
|
release_tree_content_recursive(leaf.tree);
|
0f6927c2
|
3284
|
if (max_depth > MAX_DEPTH)
|
0f6927c2
|
3286
|
}
|
0f6927c2
|
3309
|
fclose(pack_edges);
|
1bdca816
|
3328
|
die_errno("cannot read '%s'", f);
|
ae021d87
|
3337
|
if (!git_parse_ulong(option, &v))
|
4d0cc224
|
3338
|
return 0;
|
4d0cc224
|
3339
|
if (v < 8192) {
|
4d0cc224
|
3341
|
v *= 1024 * 1024;
|
4d0cc224
|
3342
|
} else if (v < 1024 * 1024) {
|
4d0cc224
|
3344
|
v = 1024 * 1024;
|
4d0cc224
|
3346
|
max_packsize = v;
|
76ea93cc
|
3350
|
return 0;
|
0f6927c2
|
3361
|
show_stats = 1;
|
bb23fdfa
|
3450
|
if (max_depth > MAX_DEPTH)
|
bb23fdfa
|
3451
|
max_depth = MAX_DEPTH;
|
536900e5
|
3454
|
pack_idx_opts.version = indexversion_value;
|
ebcfb379
|
3455
|
if (pack_idx_opts.version > 2)
|
536900e5
|
3456
|
git_die_config("pack.indexversion",
|
536900e5
|
3460
|
max_packsize = packsizelimit_value;
|
d9545c7f
|
3465
|
unpack_limit = limit;
|
9c8398f0
|
3500
|
usage(fast_import_usage);
|
4441f427
|
22
|
res = xmalloc(sizeof(struct debug_ref_store));
|
4441f427
|
23
|
be_copy = xmalloc(sizeof(*be_copy));
|
4441f427
|
24
|
*be_copy = refs_be_debug;
|
4441f427
|
26
|
be_copy->name = store->be->name;
|
4441f427
|
27
|
trace_printf_key(&trace_refs, "ref_store for %s\n", gitdir);
|
4441f427
|
28
|
res->refs = store;
|
4441f427
|
29
|
base_ref_store_init((struct ref_store *)res, be_copy);
|
4441f427
|
30
|
return (struct ref_store *)res;
|
4441f427
|
33
|
static int debug_init_db(struct ref_store *refs, struct strbuf *err)
|
4441f427
|
35
|
struct debug_ref_store *drefs = (struct debug_ref_store *)refs;
|
4441f427
|
36
|
int res = drefs->refs->be->init_db(drefs->refs, err);
|
4441f427
|
37
|
trace_printf_key(&trace_refs, "init_db: %d\n", res);
|
4441f427
|
38
|
return res;
|
4441f427
|
41
|
static int debug_transaction_prepare(struct ref_store *refs,
|
4441f427
|
45
|
struct debug_ref_store *drefs = (struct debug_ref_store *)refs;
|
4441f427
|
47
|
transaction->ref_store = drefs->refs;
|
4441f427
|
48
|
res = drefs->refs->be->transaction_prepare(drefs->refs, transaction,
|
4441f427
|
50
|
trace_printf_key(&trace_refs, "transaction_prepare: %d\n", res);
|
4441f427
|
51
|
return res;
|
4441f427
|
54
|
static void print_update(int i, const char *refname,
|
4441f427
|
59
|
char o[GIT_MAX_HEXSZ + 1] = "null";
|
4441f427
|
60
|
char n[GIT_MAX_HEXSZ + 1] = "null";
|
4441f427
|
61
|
if (old_oid)
|
4441f427
|
62
|
oid_to_hex_r(o, old_oid);
|
4441f427
|
63
|
if (new_oid)
|
4441f427
|
64
|
oid_to_hex_r(n, new_oid);
|
4441f427
|
66
|
type &= 0xf; /* see refs.h REF_* */
|
4441f427
|
67
|
flags &= REF_HAVE_NEW | REF_HAVE_OLD | REF_NO_DEREF |
|
4441f427
|
69
|
trace_printf_key(&trace_refs, "%d: %s %s -> %s (F=0x%x, T=0x%x) \"%s\"\n", i, refname,
|
4441f427
|
71
|
}
|
4441f427
|
73
|
static void print_transaction(struct ref_transaction *transaction)
|
4441f427
|
76
|
trace_printf_key(&trace_refs, "transaction {\n");
|
4441f427
|
77
|
for (i = 0; i < transaction->nr; i++) {
|
4441f427
|
78
|
struct ref_update *u = transaction->updates[i];
|
4441f427
|
79
|
print_update(i, u->refname, &u->old_oid, &u->new_oid, u->flags,
|
4441f427
|
80
|
u->type, u->msg);
|
4441f427
|
82
|
trace_printf_key(&trace_refs, "}\n");
|
4441f427
|
83
|
}
|
4441f427
|
85
|
static int debug_transaction_finish(struct ref_store *refs,
|
4441f427
|
89
|
struct debug_ref_store *drefs = (struct debug_ref_store *)refs;
|
4441f427
|
91
|
transaction->ref_store = drefs->refs;
|
4441f427
|
92
|
res = drefs->refs->be->transaction_finish(drefs->refs, transaction,
|
4441f427
|
94
|
print_transaction(transaction);
|
4441f427
|
95
|
trace_printf_key(&trace_refs, "finish: %d\n", res);
|
4441f427
|
96
|
return res;
|
4441f427
|
99
|
static int debug_transaction_abort(struct ref_store *refs,
|
4441f427
|
103
|
struct debug_ref_store *drefs = (struct debug_ref_store *)refs;
|
4441f427
|
105
|
transaction->ref_store = drefs->refs;
|
4441f427
|
106
|
res = drefs->refs->be->transaction_abort(drefs->refs, transaction, err);
|
4441f427
|
107
|
return res;
|
4441f427
|
110
|
static int debug_initial_transaction_commit(struct ref_store *refs,
|
4441f427
|
114
|
struct debug_ref_store *drefs = (struct debug_ref_store *)refs;
|
4441f427
|
116
|
transaction->ref_store = drefs->refs;
|
4441f427
|
117
|
res = drefs->refs->be->initial_transaction_commit(drefs->refs,
|
4441f427
|
119
|
return res;
|
4441f427
|
122
|
static int debug_pack_refs(struct ref_store *ref_store, unsigned int flags)
|
4441f427
|
124
|
struct debug_ref_store *drefs = (struct debug_ref_store *)ref_store;
|
4441f427
|
125
|
int res = drefs->refs->be->pack_refs(drefs->refs, flags);
|
4441f427
|
126
|
trace_printf_key(&trace_refs, "pack_refs: %d\n", res);
|
4441f427
|
127
|
return res;
|
4441f427
|
130
|
static int debug_create_symref(struct ref_store *ref_store,
|
4441f427
|
134
|
struct debug_ref_store *drefs = (struct debug_ref_store *)ref_store;
|
4441f427
|
135
|
int res = drefs->refs->be->create_symref(drefs->refs, ref_name, target,
|
4441f427
|
137
|
trace_printf_key(&trace_refs, "create_symref: %s -> %s \"%s\": %d\n", ref_name,
|
4441f427
|
139
|
return res;
|
4441f427
|
142
|
static int debug_delete_refs(struct ref_store *ref_store, const char *msg,
|
4441f427
|
145
|
struct debug_ref_store *drefs = (struct debug_ref_store *)ref_store;
|
4441f427
|
146
|
int res =
|
4441f427
|
147
|
drefs->refs->be->delete_refs(drefs->refs, msg, refnames, flags);
|
4441f427
|
149
|
trace_printf_key(&trace_refs, "delete_refs {\n");
|
4441f427
|
150
|
for (i = 0; i < refnames->nr; i++)
|
4441f427
|
151
|
trace_printf_key(&trace_refs, "%s\n", refnames->items[i].string);
|
4441f427
|
152
|
trace_printf_key(&trace_refs, "}: %d\n", res);
|
4441f427
|
153
|
return res;
|
4441f427
|
156
|
static int debug_rename_ref(struct ref_store *ref_store, const char *oldref,
|
4441f427
|
159
|
struct debug_ref_store *drefs = (struct debug_ref_store *)ref_store;
|
4441f427
|
160
|
int res = drefs->refs->be->rename_ref(drefs->refs, oldref, newref,
|
4441f427
|
162
|
trace_printf_key(&trace_refs, "rename_ref: %s -> %s \"%s\": %d\n", oldref, newref,
|
4441f427
|
164
|
return res;
|
4441f427
|
167
|
static int debug_copy_ref(struct ref_store *ref_store, const char *oldref,
|
4441f427
|
170
|
struct debug_ref_store *drefs = (struct debug_ref_store *)ref_store;
|
4441f427
|
171
|
int res =
|
4441f427
|
172
|
drefs->refs->be->copy_ref(drefs->refs, oldref, newref, logmsg);
|
4441f427
|
173
|
trace_printf_key(&trace_refs, "copy_ref: %s -> %s \"%s\": %d\n", oldref, newref,
|
4441f427
|
175
|
return res;
|
4441f427
|
183
|
static int debug_ref_iterator_advance(struct ref_iterator *ref_iterator)
|
4441f427
|
185
|
struct debug_ref_iterator *diter =
|
4441f427
|
187
|
int res = diter->iter->vtable->advance(diter->iter);
|
4441f427
|
188
|
if (res)
|
4441f427
|
189
|
trace_printf_key(&trace_refs, "iterator_advance: (%d)\n", res);
|
4441f427
|
191
|
trace_printf_key(&trace_refs, "iterator_advance: %s (0)\n",
|
4441f427
|
194
|
diter->base.ordered = diter->iter->ordered;
|
4441f427
|
195
|
diter->base.refname = diter->iter->refname;
|
4441f427
|
196
|
diter->base.oid = diter->iter->oid;
|
4441f427
|
197
|
diter->base.flags = diter->iter->flags;
|
4441f427
|
198
|
return res;
|
4441f427
|
201
|
static int debug_ref_iterator_peel(struct ref_iterator *ref_iterator,
|
4441f427
|
204
|
struct debug_ref_iterator *diter =
|
4441f427
|
206
|
int res = diter->iter->vtable->peel(diter->iter, peeled);
|
4441f427
|
207
|
trace_printf_key(&trace_refs, "iterator_peel: %s: %d\n", diter->iter->refname, res);
|
4441f427
|
208
|
return res;
|
4441f427
|
211
|
static int debug_ref_iterator_abort(struct ref_iterator *ref_iterator)
|
4441f427
|
213
|
struct debug_ref_iterator *diter =
|
4441f427
|
215
|
int res = diter->iter->vtable->abort(diter->iter);
|
4441f427
|
216
|
trace_printf_key(&trace_refs, "iterator_abort: %d\n", res);
|
4441f427
|
217
|
return res;
|
4441f427
|
226
|
debug_ref_iterator_begin(struct ref_store *ref_store, const char *prefix,
|
4441f427
|
229
|
struct debug_ref_store *drefs = (struct debug_ref_store *)ref_store;
|
4441f427
|
230
|
struct ref_iterator *res =
|
4441f427
|
231
|
drefs->refs->be->iterator_begin(drefs->refs, prefix, flags);
|
4441f427
|
232
|
struct debug_ref_iterator *diter = xcalloc(1, sizeof(*diter));
|
4441f427
|
233
|
base_ref_iterator_init(&diter->base, &debug_ref_iterator_vtable, 1);
|
4441f427
|
234
|
diter->iter = res;
|
4441f427
|
235
|
trace_printf_key(&trace_refs, "ref_iterator_begin: %s (0x%x)\n", prefix, flags);
|
4441f427
|
236
|
return &diter->base;
|
4441f427
|
239
|
static int debug_read_raw_ref(struct ref_store *ref_store, const char *refname,
|
4441f427
|
243
|
struct debug_ref_store *drefs = (struct debug_ref_store *)ref_store;
|
4441f427
|
244
|
int res = 0;
|
4441f427
|
246
|
oidcpy(oid, &null_oid);
|
4441f427
|
247
|
res = drefs->refs->be->read_raw_ref(drefs->refs, refname, oid, referent,
|
4441f427
|
250
|
if (res == 0) {
|
4441f427
|
251
|
trace_printf_key(&trace_refs, "read_raw_ref: %s: %s (=> %s) type %x: %d\n",
|
4441f427
|
254
|
trace_printf_key(&trace_refs, "read_raw_ref: %s: %d\n", refname, res);
|
4441f427
|
256
|
return res;
|
4441f427
|
260
|
debug_reflog_iterator_begin(struct ref_store *ref_store)
|
4441f427
|
262
|
struct debug_ref_store *drefs = (struct debug_ref_store *)ref_store;
|
4441f427
|
263
|
struct ref_iterator *res =
|
4441f427
|
264
|
drefs->refs->be->reflog_iterator_begin(drefs->refs);
|
4441f427
|
265
|
trace_printf_key(&trace_refs, "for_each_reflog_iterator_begin\n");
|
4441f427
|
266
|
return res;
|
4441f427
|
275
|
static int debug_print_reflog_ent(struct object_id *old_oid,
|
4441f427
|
280
|
struct debug_reflog *dbg = (struct debug_reflog *)cb_data;
|
4441f427
|
282
|
char o[GIT_MAX_HEXSZ + 1] = "null";
|
4441f427
|
283
|
char n[GIT_MAX_HEXSZ + 1] = "null";
|
4441f427
|
284
|
if (old_oid)
|
4441f427
|
285
|
oid_to_hex_r(o, old_oid);
|
4441f427
|
286
|
if (new_oid)
|
4441f427
|
287
|
oid_to_hex_r(n, new_oid);
|
4441f427
|
289
|
ret = dbg->fn(old_oid, new_oid, committer, timestamp, tz, msg,
|
4441f427
|
291
|
trace_printf_key(&trace_refs, "reflog_ent %s (ret %d): %s -> %s, %s %ld \"%s\"\n",
|
4441f427
|
293
|
return ret;
|
4441f427
|
296
|
static int debug_for_each_reflog_ent(struct ref_store *ref_store,
|
4441f427
|
300
|
struct debug_ref_store *drefs = (struct debug_ref_store *)ref_store;
|
4441f427
|
301
|
struct debug_reflog dbg = {
|
4441f427
|
307
|
int res = drefs->refs->be->for_each_reflog_ent(
|
4441f427
|
309
|
trace_printf_key(&trace_refs, "for_each_reflog: %s: %d\n", refname, res);
|
4441f427
|
310
|
return res;
|
4441f427
|
313
|
static int debug_for_each_reflog_ent_reverse(struct ref_store *ref_store,
|
4441f427
|
318
|
struct debug_ref_store *drefs = (struct debug_ref_store *)ref_store;
|
4441f427
|
319
|
struct debug_reflog dbg = {
|
4441f427
|
324
|
int res = drefs->refs->be->for_each_reflog_ent_reverse(
|
4441f427
|
326
|
trace_printf_key(&trace_refs, "for_each_reflog_reverse: %s: %d\n", refname, res);
|
4441f427
|
327
|
return res;
|
4441f427
|
330
|
static int debug_reflog_exists(struct ref_store *ref_store, const char *refname)
|
4441f427
|
332
|
struct debug_ref_store *drefs = (struct debug_ref_store *)ref_store;
|
4441f427
|
333
|
int res = drefs->refs->be->reflog_exists(drefs->refs, refname);
|
4441f427
|
334
|
trace_printf_key(&trace_refs, "reflog_exists: %s: %d\n", refname, res);
|
4441f427
|
335
|
return res;
|
4441f427
|
338
|
static int debug_create_reflog(struct ref_store *ref_store, const char *refname,
|
4441f427
|
341
|
struct debug_ref_store *drefs = (struct debug_ref_store *)ref_store;
|
4441f427
|
342
|
int res = drefs->refs->be->create_reflog(drefs->refs, refname,
|
4441f427
|
344
|
trace_printf_key(&trace_refs, "create_reflog: %s: %d\n", refname, res);
|
4441f427
|
345
|
return res;
|
4441f427
|
348
|
static int debug_delete_reflog(struct ref_store *ref_store, const char *refname)
|
4441f427
|
350
|
struct debug_ref_store *drefs = (struct debug_ref_store *)ref_store;
|
4441f427
|
351
|
int res = drefs->refs->be->delete_reflog(drefs->refs, refname);
|
4441f427
|
352
|
trace_printf_key(&trace_refs, "delete_reflog: %s: %d\n", refname, res);
|
4441f427
|
353
|
return res;
|
4441f427
|
356
|
static int debug_reflog_expire(struct ref_store *ref_store, const char *refname,
|
4441f427
|
363
|
struct debug_ref_store *drefs = (struct debug_ref_store *)ref_store;
|
4441f427
|
364
|
int res = drefs->refs->be->reflog_expire(drefs->refs, refname, oid,
|
4441f427
|
368
|
trace_printf_key(&trace_refs, "reflog_expire: %s: %d\n", refname, res);
|
4441f427
|
369
|
return res;
|
Aaron Lipman
|
0fe305a5
|
rev-list: allow bisect and first-parent flags
|
Aaron Lipman
|
be5fe200
|
cmd_bisect__helper: defer parsing no-checkout flag
|
Ævar Arnfjörð Bjarmason
|
6a83d902
|
coccinelle: make use of the "type" FREE_AND_NULL() rule
|
Brandon Williams
|
debca9d2
|
object: rename function 'typename' to 'type_name'
|
brian m. carlson
|
d7e6b6a8
|
fast-import: convert internal structs to struct object_id
|
brian m. carlson
|
ddddf8d7
|
fast-import: permit reading multiple marks files
|
brian m. carlson
|
912c13d5
|
fast-import: convert to struct object_id
|
brian m. carlson
|
1bdca816
|
fast-import: add options for rewriting submodules
|
brian m. carlson
|
cd85b447
|
remote-curl: make --force-with-lease work with non-ASCII ref names
|
brian m. carlson
|
439d3a17
|
http-fetch: set up git directory before parsing pack hashes
|
brian m. carlson
|
e6a492b7
|
pack: convert struct pack_idx_entry to struct object_id
|
brian m. carlson
|
28d055bd
|
fast-import: make hash-size independent
|
brian m. carlson
|
c5aecfc8
|
bundle: add new version for use with SHA-256
|
Clemens Buchacher
|
98c2924c
|
credentials: unable to connect to cache daemon
|
David Barr
|
8dc6a373
|
fast-import: add 'ls' command
|
David Barr
|
85c62395
|
fast-import: let importers retrieve blobs
|
Derrick Stolee
|
663b2b1b
|
maintenance: add commit-graph task
|
Derrick Stolee
|
7b671f8c
|
commit-graph: change test to die on parse, not load
|
Derrick Stolee
|
d9607542
|
multi-pack-index: use hash version byte
|
Derrick Stolee
|
665d70ad
|
commit-graph: use the "hash version" byte
|
Derrick Stolee
|
2057d750
|
maintenance: create basic maintenance runner
|
Derrick Stolee
|
3103e984
|
maintenance: initialize task array
|
Derrick Stolee
|
d7514f6e
|
maintenance: take a lock on the objects directory
|
Derrick Stolee
|
4ddc79b2
|
maintenance: add auto condition for commit-graph task
|
Dmitry Ivankov
|
6c447f63
|
fast-import: allow to tag newly created objects
|
Dmitry Ivankov
|
4b4963c0
|
fast-import: check committer name more strictly
|
Dmitry Potapov
|
8db751a8
|
fast-import: tag may point to any object type
|
Elijah Newren
|
3164e6bd
|
fast-import: fix handling of deleted tags
|
Elijah Newren
|
44c7e1a7
|
mem-pool: use more standard initialization and finalization
|
Elijah Newren
|
b8f50e5b
|
fast-import: add support for new 'alias' command
|
Elijah Newren
|
a762c8c1
|
mem-pool: add convenience functions for strdup and strndup
|
Elijah Newren
|
f87bf284
|
mem-pool: use consistent pool variable name
|
Elijah Newren
|
253fb5f8
|
fast-import: Improve robustness when D->F changes provided in wrong order
|
Elijah Newren
|
7ffde293
|
fast-import: only allow cat-blob requests where it makes sense
|
Emily Shaffer
|
238b439d
|
bugreport: add tool to generate debugging info
|
Emily Shaffer
|
1411914a
|
bugreport: add uname info
|
Eric Sunshine
|
b214ab5a
|
worktree: teach "repair" to fix outgoing links to worktrees
|
Eric Sunshine
|
59d876cc
|
init: make --separate-git-dir work from within linked worktree
|
Eric Sunshine
|
07a7f8de
|
format-patch: use 'origin' as start of current-series-range when known
|
Eric Wong
|
d9545c7f
|
fast-import: implement unpack limit
|
Han-Wen Nienhuys
|
4441f427
|
refs: add GIT_TRACE_REFS debugging mechanism
|
Hariom Verma
|
b82445dc
|
ref-filter: support different email formats
|
Hariom Verma
|
e7601eb5
|
ref-filter: modify error messages in `grab_objectname()`
|
Hariom Verma
|
2c22e102
|
ref-filter: 'contents:trailers' show error if `:` is missing
|
Hariom Verma
|
905f0a4e
|
ref-filter: add `sanitize` option for 'subject' atom
|
Hariom Verma
|
47d4676a
|
pretty: refactor `format_sanitized_subject()`
|
Hariom Verma
|
26bc0aaf
|
ref-filter: add `short` modifier to 'parent' atom
|
Hariom Verma
|
5101100d
|
ref-filter: refactor `grab_objectname()`
|
Jacob Keller
|
7efba5fa
|
format-patch: teach format.useAutoBase "whenAble" option
|
Jacob Keller
|
c0192df6
|
refspec: add support for negative refspecs
|
Jason Riedy
|
3efb1f34
|
Check for PRIuMAX rather than NO_C99_FORMAT in fast-import.c.
|
Jeff King
|
f5e3c0b9
|
credential-cache: close stderr in daemon process
|
Jeff King
|
d8410a81
|
fast-import: replace custom hash with hashmap.c
|
Jeff King
|
c33ddc2e
|
date: use strbufs in date-formatting functions
|
Jeff King
|
22f9b7f3
|
strvec: convert builtin/ callers away from argv_array name
|
Jeff King
|
47beb37b
|
shortlog: match commit trailers with --group
|
Jeff King
|
fe4a0a28
|
argv-array: add pop function
|
Jeff King
|
92338c45
|
shortlog: add grouping option
|
Jeff King
|
f17b0b99
|
shortlog: de-duplicate trailer values
|
Jeff King
|
63d24fa0
|
shortlog: allow multiple groups to be specified
|
Jeff King
|
01968302
|
fast-import: delay creating leading directories for export-marks
|
Jeff King
|
ec91ffca
|
verify_repository_format(): complain about new extensions in v0 repo
|
Jeff King
|
7c694024
|
sideband: mark "remote error:" prefix for translation
|
Jeff King
|
fcd12db6
|
prefer git_pathdup to git_path in some possibly-dangerous cases
|
Jeff King
|
d70a9eb6
|
strvec: rename struct fields
|
Jeff King
|
8d2aa8df
|
assert PARSE_OPT_NONEG in parse-options callbacks
|
Jeff King
|
b992657e
|
argv-array: add detach function
|
Jeff King
|
3c078b9c
|
fast-import: clean up pack_data pointer in end_packfile
|
Jeff King
|
ef8d7ac4
|
strvec: convert more callers away from argv_array name
|
Jeff King
|
ff45c0d4
|
fast-import: fix read of uninitialized argv memory
|
Jeff King
|
957876f1
|
combine-diff: handle --find-object in multitree code path
|
Jeff King
|
e2770979
|
credentials: add "cache" helper
|
Jeff King
|
6479ea4a
|
xrealloc: do not reuse pointer freed by zero-length realloc()
|
Jeff King
|
f0939a0e
|
trailer: add interface for iterating over commit trailers
|
Jeff King
|
ae021d87
|
use skip_prefix to avoid magic numbers
|
Jeff King
|
26e28fe7
|
test-advise: check argument count with argc instead of argv
|
Jeff King
|
8ec6c8d7
|
credential-cache: report more daemon connection errors
|
Jeff King
|
71e1b4b6
|
credentials: add "store" helper
|
Jeff King
|
c972bf4c
|
strvec: convert remaining callers away from argv_array name
|
Jeff King
|
fbff95b6
|
index-pack: adjust default threading cap
|
Jeff King
|
e885a84f
|
drop unused argc parameters
|
Jeff King
|
f6d8942b
|
strvec: fix indentation in renamed calls
|
Jiang Xin
|
63518a57
|
New capability "report-status-v2" for git-push
|
Jiang Xin
|
31e8595a
|
receive-pack: new config receive.procReceiveRefs
|
Jiang Xin
|
15d3af5e
|
receive-pack: add new proc-receive hook
|
Jim Meyering
|
5a7b1b57
|
fast-import: Don't use a maybe-clobbered errno value
|
Johan Herland
|
2a113aee
|
fast-import: Proper notes tree manipulation
|
Johan Herland
|
a8dd2e7d
|
fast-import: Add support for importing commit notes
|
Johannes Schindelin
|
40db58b8
|
fast-import: Fix compile warnings
|
Johannes Schindelin
|
c5aa6db6
|
argv_array: offer to split a string by whitespace
|
Jon Griffiths
|
bd93b8d9
|
credential-cache--daemon: disallow relative socket path
|
Jon Griffiths
|
a6e5e286
|
credential-cache--daemon: refactor check_socket_directory
|
Jonathan Nieder
|
dc01f59d
|
fast-import: treat SIGUSR1 as a request to access objects early
|
Jonathan Nieder
|
34215783
|
fast-import: tighten M 040000 syntax
|
Jonathan Nieder
|
5edde510
|
fast-import: filemodify after M 040000 "" crashes
|
Jonathan Nieder
|
c27e559d
|
fast-import: leakfix for 'ls' of dirty trees
|
Jonathan Nieder
|
334fba65
|
Teach fast-import to import subtrees named by tree id
|
Jonathan Tan
|
f08cbf60
|
index-pack: make quantum of work smaller
|
Jonathan Tan
|
2b713c27
|
fetch: allow refspecs specified through stdin
|
Jonathan Tan
|
ee47243d
|
pack-objects: no fetch when allow-{any,promisor}
|
Jonathan Tan
|
f24c30e0
|
wt-status: tolerate dangling marks
|
Jonathan Tan
|
1d8d9cb6
|
sha1-file: introduce no-lazy-fetch has_object()
|
Jonathan Tan
|
7ca3c0ac
|
promisor-remote: lazy-fetch objects in subprocess
|
Jonathan Tan
|
cbe566a0
|
negotiator/noop: add noop fetch negotiator
|
Jonathan Tan
|
5c3b801d
|
fetch-pack: do not lazy-fetch during ref iteration
|
Jonathan Tan
|
e5b94213
|
fetch: avoid reading submodule config until needed
|
Junio C Hamano
|
6c526148
|
csum-file: introduce sha1file_checkpoint
|
Junio C Hamano
|
e0ad9574
|
Merge branch 'bc/sha-256-part-3'
|
Junio C Hamano
|
6854689e
|
Merge branch 'ar/fetch-ipversion-in-all'
|
Junio C Hamano
|
4279000d
|
messages: avoid SHA-1 in end-user facing messages
|
Junio C Hamano
|
ebcfb379
|
write_idx_file: introduce a struct to hold idx customization options
|
Junio C Hamano
|
9ed104e5
|
ident: say whose identity is missing when giving user.name hint
|
Junio C Hamano
|
55bb5c91
|
zlib: wrap deflate side of the API
|
Junio C Hamano
|
76ea93cc
|
fast-import.c: Fix big-file-threshold parsing bug
|
Junio C Hamano
|
88910c99
|
quote_path: give flags parameter to quote_path()
|
Junio C Hamano
|
225a6f10
|
zlib: wrap deflateBound() too
|
Junio C Hamano
|
6e6029a8
|
fmt-merge-msg: allow merge destination to be omitted again
|
Junio C Hamano
|
4d0cc224
|
fast-import: count --max-pack-size in bytes
|
Lin Sun
|
dbd8c09b
|
mergetool: allow auto-merge for meld to follow the vim-diff behavior
|
Martin Ågren
|
ac900fdd
|
progress: don't dereference before checking for NULL
|
Martin Ågren
|
8f7e3de0
|
wt-status: print to s->fp, not stdout
|
Matheus Tavares
|
bda959c4
|
packfile: fix memory leak in add_delta_base_cache()
|
Michael Forney
|
ea3f7e59
|
revision: use repository from rev_info when parsing commits
|
Michael Haggerty
|
9e903316
|
credential-cache--daemon: use tempfile module
|
Michael Haggerty
|
28c7b1f7
|
fast-import: add a get-mark command
|
Mike Hommey
|
0df32457
|
fast-import: do less work when given "from" matches current branch head
|
Miriam Rubio
|
7b4de74b
|
bisect--helper: introduce new `write_in_file()` function
|
Miriam Rubio
|
ef5aef5e
|
bisect--helper: BUG() in cmd_*() on invalid subcommand
|
Nguyễn Thái Ngọc Duy
|
26604f9f
|
credential-cache--daemon.c: use warning_errno()
|
Nguyễn Thái Ngọc Duy
|
d3b4705a
|
sha1-file.c: remove the_repo from read_object_with_reference()
|
Nguyễn Thái Ngọc Duy
|
6c223e49
|
fast-import.c: use error_errno()
|
Nicolas Pitre
|
3fc366bd
|
fast-import: start using struct pack_idx_entry
|
Noam Postavsky
|
7f4d4746
|
credential-cache: new option to ignore sighup
|
Paul Tan
|
cb2c2796
|
git-credential-store: support multiple credential files
|
Pete Wyckoff
|
06454cb9
|
fast-import: tighten parsing of datarefs
|
Phillip Wood
|
e8cbe211
|
am: stop exporting GIT_COMMITTER_DATE
|
Phillip Wood
|
a3894aad
|
rebase -i: support --ignore-date
|
Phillip Wood
|
7573cec5
|
rebase -i: support --committer-date-is-author-date
|
Phillip Wood
|
ce910287
|
add -p: fix checking of user input
|
Phillip Wood
|
75a009dc
|
add -p: fix editing of intent-to-add paths
|
Pierre Habouzit
|
eec813cf
|
fast-import was using dbuf's, replace them with strbuf's.
|
Pranit Bauva
|
517ecb31
|
bisect--helper: reimplement `bisect_next` and `bisect_auto_next` shell functions in C
|
Pranit Bauva
|
09535f05
|
bisect--helper: reimplement `bisect_autostart` shell function in C
|
Prathamesh Chavan
|
e83e3333
|
submodule: port submodule subcommand 'summary' from shell to C
|
Randall S. Becker
|
f64b6a1f
|
bugreport.c: replace strbuf_write_fd with write_in_full
|
René Scharfe
|
200589ab
|
archive: read short blobs in archive.c::write_archive_entry()
|
René Scharfe
|
24b75faf
|
connected: use buffered I/O to talk to rev-list
|
René Scharfe
|
bcd2c5ee
|
read-cache: fix mem-pool allocation for multi-threaded index loading
|
René Scharfe
|
2947a793
|
archive: add --add-file
|
René Scharfe
|
a698d67b
|
upload-pack: use buffered I/O to talk to rev-list
|
Richard Hansen
|
bb8040f9
|
use 'tree-ish' instead of 'treeish'
|
Ronnie Sahlberg
|
3f09ba75
|
fast-import.c: use a ref transaction when dumping tags
|
Ronnie Sahlberg
|
de7e86f5
|
fast-import.c: change update_branch to use ref transactions
|
Ryan Zoeller
|
a0abe5e3
|
parse-options: add --git-completion-helper-all
|
Sergey Organov
|
f649aaaf
|
revision: fix die() message for "--unpacked="
|
Sergey Organov
|
6501580f
|
revision: change "--diff-merges" option to require parameter
|
Sergey Organov
|
d01141de
|
diff: get rid of redundant 'dense' argument
|
Shawn O. Pearce
|
d9ee53ce
|
Implemented automatic checkpoints within fast-import.
|
Shawn O. Pearce
|
820b9310
|
Dump all refs and marks during a checkpoint in fast-import.
|
Shawn O. Pearce
|
8455e484
|
Use .keep files in fast-import during processing.
|
Shawn O. Pearce
|
60b9004c
|
Use atomic updates to the fast-import mark file
|
Shawn O. Pearce
|
5eef828b
|
fast-import: Stream very large blobs directly to pack
|
Shawn O. Pearce
|
7073e69e
|
Don't do non-fastforward updates in fast-import.
|
Shawn O. Pearce
|
b6f3481b
|
Teach fast-import to recursively copy files/directories
|
Shawn O. Pearce
|
afde8dd9
|
Fixed segfault in fast-import after growing a tree.
|
Shawn O. Pearce
|
c44cdc7e
|
Converted fast-import to a text based protocol.
|
Shawn O. Pearce
|
f39a946a
|
Support wholesale directory renames in fast-import
|
Shawn O. Pearce
|
2fce1f3c
|
Optimize index creation on large object sets in fast-import.
|
Shawn O. Pearce
|
5d6f3ef6
|
Corrected buffer overflow during automatic checkpoint in fast-import.
|
Shawn O. Pearce
|
3b4dce02
|
Support delimited data regions in fast-import.
|
Shawn O. Pearce
|
63e0c8b3
|
Support RFC 2822 date parsing in fast-import.
|
Shawn O. Pearce
|
3e005baf
|
Don't create a final empty packfile in fast-import.
|
Shawn O. Pearce
|
463acbe1
|
Added tree and commit writing to fast-import.
|
Shawn O. Pearce
|
00e2b884
|
Remove branch creation command from fast-import.
|
Shawn O. Pearce
|
bdf1c06d
|
fast-import: Hide the pack boundary commits by default.
|
Shawn O. Pearce
|
2f6dc35d
|
fast-import: Fail if a non-existant commit is used for merge
|
Shawn O. Pearce
|
62b6f483
|
Support creation of merge commits in fast-import.
|
Shawn O. Pearce
|
8acb3297
|
Generate crash reports on die in fast-import
|
Shawn O. Pearce
|
72303d44
|
Implemented 'tag' command in fast-import.
|
Shawn O. Pearce
|
69e74e74
|
Correct packfile edge output in fast-import.
|
Shawn O. Pearce
|
bb23fdfa
|
Teach fast-import to honor pack.compression and pack.depth
|
Shourya Shukla
|
f0c6b646
|
submodule: fix style in function definition
|
Stefan Beller
|
0df8e965
|
cache.h: add repository argument to oid_object_info
|
Sverre Rabbelier
|
9c8398f0
|
fast-import: add option command
|
Sverre Rabbelier
|
07cd9328
|
fast-import: put marks reading in its own function
|
Sverre Rabbelier
|
0f6927c2
|
fast-import: put option parsing code in separate functions
|
SZEDER Gábor
|
87d01c85
|
credential-store: don't pass strerror to die_errno()
|
SZEDER Gábor
|
17e6275f
|
commit-graph: simplify chunk writes into loop
|
SZEDER Gábor
|
2dd4fed9
|
commit-graph: check chunk sizes after writing
|
Tanay Abhra
|
536900e5
|
fast-import.c: replace `git_config()` with `git_config_get_*()` family
|
Taylor Blau
|
809e0327
|
builtin/commit-graph.c: introduce '--max-new-filters='
|
Taylor Blau
|
b9ea2147
|
list_objects_filter_options: introduce 'list_object_filter_config_name'
|
Taylor Blau
|
6dd3456a
|
upload-pack.c: allow banning certain object filter(s)
|
Taylor Blau
|
5b01a4e8
|
upload-pack.c: introduce 'uploadpackfilter.tree.maxDepth'
|
Taylor Blau
|
59f0d507
|
bloom: encode out-of-bounds filters as non-empty
|
Taylor Blau
|
ab14d067
|
commit-graph: pass a 'struct repository *' in more places
|
Taylor Blau
|
98bb7961
|
commit-graph: rename 'split_commit_graph_opts'
|
Taylor Blau
|
312cff52
|
bloom: split 'get_bloom_filter()' in two
|
Thomas Rast
|
0721c314
|
Use die_errno() instead of die() when checking syscalls
|
Vasco Almeida
|
af64f20b
|
i18n: credential-cache--daemon: mark advice for translation
|