mirror of
https://github.com/git/git.git
synced 2025-12-05 18:47:16 -06:00
There are multiple sites in "object-file-convert.c" where we use the global `the_repository` variable, either explicitly or implicitly by using `the_hash_algo`. All of these callsites are transitively called from `convert_object_file()`, which indeed has no repo as input. Refactor the function so that it receives a repository as a parameter and pass it through to all internal functions to get rid of the dependency. Remove the `USE_THE_REPOSITORY_VARIABLE` define. Signed-off-by: Patrick Steinhardt <ps@pks.im> Signed-off-by: Junio C Hamano <gitster@pobox.com>
26 lines
658 B
C
26 lines
658 B
C
#ifndef OBJECT_CONVERT_H
|
|
#define OBJECT_CONVERT_H
|
|
|
|
struct repository;
|
|
struct object_id;
|
|
struct git_hash_algo;
|
|
struct strbuf;
|
|
#include "object.h"
|
|
|
|
int repo_oid_to_algop(struct repository *repo, const struct object_id *src,
|
|
const struct git_hash_algo *to, struct object_id *dest);
|
|
|
|
/*
|
|
* Convert an object file from one hash algorithm to another algorithm.
|
|
* Return -1 on failure, 0 on success.
|
|
*/
|
|
int convert_object_file(struct repository *repo,
|
|
struct strbuf *outbuf,
|
|
const struct git_hash_algo *from,
|
|
const struct git_hash_algo *to,
|
|
const void *buf, size_t len,
|
|
enum object_type type,
|
|
int gentle);
|
|
|
|
#endif /* OBJECT_CONVERT_H */
|