Revision 61be1e1f9eb2822799e581d912a22636a2220058 authored by Junio C Hamano on 05 April 2024, 18:00:12 UTC, committed by Junio C Hamano on 05 April 2024, 18:00:12 UTC
The pack-bitmap machinery learned to write pseudo-merge bitmaps, which act as imaginary octopus merges covering un-bitmapped reference tips. This enhances bitmap coverage, and thus, performance, for repositories with many references using bitmaps. * tb/pseudo-merge-reachability-bitmap: (24 commits) t/perf: implement performace tests for pseudo-merge bitmaps pseudo-merge: implement support for finding existing merges ewah: `bitmap_equals_ewah()` pack-bitmap: extra trace2 information pack-bitmap.c: use pseudo-merges during traversal t/test-lib-functions.sh: support `--date` in `test_commit_bulk()` pack-bitmap: implement test helpers for pseudo-merge ewah: implement `ewah_bitmap_popcount()` pseudo-merge: implement support for reading pseudo-merge commits pack-bitmap.c: read pseudo-merge extension pseudo-merge: scaffolding for reads pack-bitmap: extract `read_bitmap()` function pack-bitmap-write.c: write pseudo-merge table pack-bitmap-write.c: select pseudo-merge commits pseudo-merge: implement support for selecting pseudo-merge commits pack-bitmap: make `bitmap_writer_push_bitmapped_commit()` public pack-bitmap: implement `bitmap_writer_has_bitmapped_object_id()` pack-bitmap-write: support storing pseudo-merge commits pseudo-merge.ch: initial commit pack-bitmap: move some initialization to `bitmap_writer_init()` ...
bulk-checkin.h
/*
* Copyright (c) 2011, Google Inc.
*/
#ifndef BULK_CHECKIN_H
#define BULK_CHECKIN_H
#include "object.h"
void prepare_loose_object_bulk_checkin(void);
void fsync_loose_object_bulk_checkin(int fd, const char *filename);
int index_blob_bulk_checkin(struct object_id *oid,
int fd, size_t size,
const char *path, unsigned flags);
/*
* Tell the object database to optimize for adding
* multiple objects. end_odb_transaction must be called
* to make new objects visible. Transactions can be nested,
* and objects are only visible after the outermost transaction
* is complete or the transaction is flushed.
*/
void begin_odb_transaction(void);
/*
* Make any objects that are currently part of a pending object
* database transaction visible. It is valid to call this function
* even if no transaction is active.
*/
void flush_odb_transaction(void);
/*
* Tell the object database to make any objects from the
* current transaction visible if this is the final nested
* transaction.
*/
void end_odb_transaction(void);
#endif
![swh spinner](/static/img/swh-spinner.gif)
Computing file changes ...