git@vger.kernel.org list mirror (unofficial, one of many)
 help / color / mirror / Atom feed
76f8a9ad0cb7d1e8fa879686469c8a0b0ad011f3 blob 1340 bytes (raw)

 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
 
#ifndef BLOOM_H
#define BLOOM_H

struct commit;
struct repository;
struct commit_graph;

struct bloom_filter_settings {
	uint32_t hash_version;
	uint32_t num_hashes;
	uint32_t bits_per_entry;
};

#define DEFAULT_BLOOM_FILTER_SETTINGS { 1, 7, 10 }
#define BITS_PER_WORD 64
#define BLOOMDATA_CHUNK_HEADER_SIZE 3*sizeof(uint32_t)

/*
 * A bloom_filter struct represents a data segment to
 * use when testing hash values. The 'len' member
 * dictates how many uint64_t entries are stored in
 * 'data'.
 */
struct bloom_filter {
	uint64_t *data;
	int len;
};

/*
 * A bloom_key represents the k hash values for a
 * given hash input. These can be precomputed and
 * stored in a bloom_key for re-use when testing
 * against a bloom_filter.
 */
struct bloom_key {
	uint32_t *hashes;
};

void load_bloom_filters(void);

void fill_bloom_key(const char *data,
		    int len,
		    struct bloom_key *key,
		    struct bloom_filter_settings *settings);

void add_key_to_filter(struct bloom_key *key,
					   struct bloom_filter *filter,
					   struct bloom_filter_settings *settings);

struct bloom_filter *get_bloom_filter(struct repository *r,
				      struct commit *c,
				      int compute_if_not_present);

int bloom_filter_contains(struct bloom_filter *filter,
			  struct bloom_key *key,
			  struct bloom_filter_settings *settings);

#endif
debug log:

solving 76f8a9ad0c ...
found 76f8a9ad0c in https://public-inbox.org/git/b20c8d2b2096bf10fe1a5f37a5181c57873a9676.1580943390.git.gitgitgadget@gmail.com/
found 7f40c751f7 in https://public-inbox.org/git/02b16d94227470059dcee2781e29ae7ae010f602.1580943390.git.gitgitgadget@gmail.com/

applying [1/2] https://public-inbox.org/git/02b16d94227470059dcee2781e29ae7ae010f602.1580943390.git.gitgitgadget@gmail.com/
diff --git a/bloom.h b/bloom.h
new file mode 100644
index 0000000000..7f40c751f7


applying [2/2] https://public-inbox.org/git/b20c8d2b2096bf10fe1a5f37a5181c57873a9676.1580943390.git.gitgitgadget@gmail.com/
diff --git a/bloom.h b/bloom.h
index 7f40c751f7..76f8a9ad0c 100644

Checking patch bloom.h...
Applied patch bloom.h cleanly.
Checking patch bloom.h...
Applied patch bloom.h cleanly.

index at:
100644 76f8a9ad0cb7d1e8fa879686469c8a0b0ad011f3	bloom.h

git@vger.kernel.org list mirror (unofficial, one of many)

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://public-inbox.org/git
	git clone --mirror http://ou63pmih66umazou.onion/git
	git clone --mirror http://czquwvybam4bgbro.onion/git
	git clone --mirror http://hjrcffqmbrq6wope.onion/git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V1 git git/ https://public-inbox.org/git \
		git@vger.kernel.org
	public-inbox-index git

Example config snippet for mirrors.
Newsgroups are available over NNTP:
	nntp://news.public-inbox.org/inbox.comp.version-control.git
	nntp://ou63pmih66umazou.onion/inbox.comp.version-control.git
	nntp://czquwvybam4bgbro.onion/inbox.comp.version-control.git
	nntp://hjrcffqmbrq6wope.onion/inbox.comp.version-control.git
	nntp://news.gmane.io/gmane.comp.version-control.git
 note: .onion URLs require Tor: https://www.torproject.org/

code repositories for the project(s) associated with this inbox:

	https://80x24.org/mirrors/git.git

AGPL code for this site: git clone https://public-inbox.org/public-inbox.git