libgit2

git_blob_create_fromchunks

Version:

Write a loose blob to the Object Database from a provider of chunks of data.

If the hintpath parameter is filled, it will be used to determine what git filters should be applied to the object before it is written to the object database.

The implementation of the callback MUST respect the following rules:

  • content must be filled by the callback. The maximum number of bytes that the buffer can accept per call is defined by the max_length parameter. Allocation and freeing of the buffer will be taken care of by libgit2.
  • The callback must return the number of bytes that have been written to the content buffer.
  • When there is no more data to stream, callback should return 0. This will prevent it from being invoked anymore.
  • If an error occurs, the callback should return a negative value. This value will be returned to the caller.

Signature

int git_blob_create_fromchunks(git_oid *id, git_repository *repo, const char *hintpath, git_blob_chunk_cb callback, void *payload);

Parameters

In
id

Return the id of the written blob

In
repo

Repository where the blob will be written. This repository can be bare or not.

const char *
In
hintpath

If not NULL, will be used to select data filters to apply onto the content of the blob to be created.

In
callback
void *
In
payload

Returns

int

0 or error code (from either libgit2 or callback function)

Versions