Module Reference

Class "Reference".

Functions

Reference.list (repo, list_flags) module function.
Reference.lookup (repo, name) Create a new Reference object.
Reference.packall (repo) module function.
Reference:delete () object method.
Reference:name () object method.
Reference:oid () object method.
Reference:owner () object method.
Reference:rename (new_name, force) object method.
Reference:resolve () object method.
Reference:set_oid (oid) object method.
Reference:set_target (target) object method.
Reference:target () object method.
Reference:type () object method.


Functions

Reference.list (repo, list_flags)
module function.

Parameters

  • repo: Must be of type Repository.
  • list_flags: Must be of type integer.

Return values:

  1. StrArray or nil on error.
  2. Error string.
Reference.lookup (repo, name)
Create a new Reference object.

Calls git_reference_lookup:

The generated reference must be freed by the user.

Parameters

  • repo: the repository to look up the reference. Must be of type Repository.
  • name: the long name for the reference (e.g. HEAD, ref/heads/master, refs/tags/v0.1.0, ...). Must be of type string.

Return values:

  1. Reference or nil on error.
  2. Error string.
Reference.packall (repo)
module function.

Calls git_reference_packall:

This method will load into the cache all the loose references on the repository and update the `packed-refs` file with them.

Once the `packed-refs` file has been written properly, the loose references will be removed from disk.

Parameters

  • repo: Repository where the loose refs will be packed. Must be of type Repository.

Return values:

  1. true if no error.
  2. Error string.
Reference:delete ()
object method.

Calls git_reference_delete:

This method works for both direct and symbolic references.

The reference will be immediately removed on disk and from memory. The given reference pointer will no longer be valid.

Return values:

  1. true if no error.
  2. Error string.
Reference:name ()
object method.

Calls git_reference_name:

Return value:

string.
Reference:oid ()
object method.

Calls git_reference_oid:

Only available if the reference is direct (i.e. not symbolic)

Return value:

OID.
Reference:owner ()
object method.

Calls git_reference_owner:

Return value:

Repository.
Reference:rename (new_name, force)
object method.

Calls git_reference_rename:

This method works for both direct and symbolic references. The new name will be checked for validity and may be modified into a normalized form.

The given git_reference will be updated in place.

The reference will be immediately renamed in-memory and on disk.

If the `force` flag is not enabled, and there's already a reference with the given name, the renaming will fail.

IMPORTANT: The user needs to write a proper reflog entry if the reflog is enabled for the repository. We only rename the reflog if it exists.

Parameters

  • new_name: The new name for the reference. Must be of type string.
  • force: Overwrite an existing reference. Must be of type boolean.

Return values:

  1. true if no error.
  2. Error string.
Reference:resolve ()
object method.

Calls git_reference_resolve:

Thie method iteratively peels a symbolic reference until it resolves to a direct reference to an OID.

The peeled reference is returned in the `resolved_ref` argument, and must be freed manually once it's no longer needed.

If a direct reference is passed as an argument, a copy of that reference is returned. This copy must be manually freed too.

Return values:

  1. Reference or nil on error.
  2. Error string.
Reference:set_oid (oid)
object method.

Calls git_reference_set_oid:

The reference must be a direct reference, otherwise this method will fail.

The reference will be automatically updated in memory and on disk.

Parameters

  • oid: Must be of type OID.

Return values:

  1. true if no error.
  2. Error string.
Reference:set_target (target)
object method.

Calls git_reference_set_target:

The reference must be a symbolic reference, otherwise this method will fail.

The reference will be automatically updated in memory and on disk.

Parameters

  • target: The new target for the reference. Must be of type string.

Return values:

  1. true if no error.
  2. Error string.
Reference:target ()
object method.

Calls git_reference_target:

Only available if the reference is symbolic

Return value:

string.
Reference:type ()
object method.

Calls git_reference_type:

Either direct (GIT_REF_OID) or symbolic (GIT_REF_SYMBOLIC)

Return value:

integer.

Valid XHTML 1.0!