git_repository_hashfile

Calculate hash of file using repository filtering rules.

If you simply want to calculate the hash of a file on disk with no filters, you can just use the git_odb_hashfile() API. However, if you want to hash a file in the repository and you want to apply filtering rules (e.g. crlf filters) before generating the SHA, then use this function.

Note: if the repository has core.safecrlf set to fail and the filtering triggers that failure, then this function will return an error and not calculate the hash of the file.

extern (C) nothrow @nogc public
int
git_repository_hashfile

Parameters

out_ libgit2.oid.git_oid*

Output value of calculated SHA

repo libgit2.types.git_repository*

Repository pointer

path const(char)*

Path to file on disk whose contents should be hashed. This may be an absolute path or a relative path, in which case it will be treated as a path within the working directory.

type libgit2.types.git_object_t

The object type to hash as (e.g. git_object_t.GIT_OBJECT_BLOB)

as_path const(char)*

The path to use to look up filtering rules. If this is an empty string then no filters will be applied when calculating the hash. If this is null and the path parameter is a file within the repository's working directory, then the path will be used.

Return Value

Type: int

0 on success, or an error code

Meta