<commit_before>#ifndef INCLUDE_repository_h__
#define INCLUDE_repository_h__

#include "git2/common.h"
#include "git2/oid.h"
#include "git2/odb.h"
#include "git2/repository.h"

#include "hashtable.h"
#include "index.h"
#include "refs.h"

#define DOT_GIT ".git"
#define GIT_DIR DOT_GIT "/"
#define GIT_OBJECTS_DIR "objects/"
#define GIT_INDEX_FILE "index"

typedef struct {
	git_rawobj raw;
	void *write_ptr;
	size_t written_bytes;
	int open:1;
} git_odb_source;

struct git_object {
	git_oid id;
	git_repository *repo;
	git_odb_source source;
	unsigned short refcount;
	short in_memory:1, modified:1;
};

struct git_repository {
	git_odb *db;
	git_index *index;

	git_hashtable *objects;
	git_vector memory_objects;

	git_refcache references;<commit_msg>Don't use non-int bit fields<commit_after>#ifndef INCLUDE_repository_h__
#define INCLUDE_repository_h__

#include "git2/common.h"
#include "git2/oid.h"
#include "git2/odb.h"
#include "git2/repository.h"

#include "hashtable.h"
#include "index.h"
#include "refs.h"

#define DOT_GIT ".git"
#define GIT_DIR DOT_GIT "/"
#define GIT_OBJECTS_DIR "objects/"
#define GIT_INDEX_FILE "index"

typedef struct {
	git_rawobj raw;
	void *write_ptr;
	size_t written_bytes;
	int open:1;
} git_odb_source;

struct git_object {
	git_oid id;
	git_repository *repo;
	git_odb_source source;
	unsigned short refcount;
	unsigned char in_memory, modified;
};

struct git_repository {
	git_odb *db;
	git_index *index;

	git_hashtable *objects;
	git_vector memory_objects;

	git_refcache references;
{'fraction_non_alphanumeric': 0.10740013097576949, 'fraction_numerical': 0.007858546168958742, 'mean_word_length': 5.852017937219731, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5584389', 'n_tokens_mistral': 624, 'n_tokens_neox': 597, 'n_words': 138}