Method: Rugged::Repository#each_id

Defined in:
ext/rugged/rugged_repo.c

#each_id {|id| ... } ⇒ Object #each_idEnumerator

Call the given block once with every object ID found in repo and all its alternates. Object IDs are passed as 40-character strings.

Overloads:

  • #each_id {|id| ... } ⇒ Object

    Yields:

    • (id)
  • #each_idEnumerator

    Returns:

    • (Enumerator)
[View source]

1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
# File 'ext/rugged/rugged_repo.c', line 1759

static VALUE rb_git_repo_each_id(VALUE self)
{
	git_repository *repo;
	git_odb *odb;
	int error, exception = 0;

	RETURN_ENUMERATOR(self, 0, 0);

	Data_Get_Struct(self, git_repository, repo);

	error = git_repository_odb(&odb, repo);
	rugged_exception_check(error);

	error = git_odb_foreach(odb, &rugged__each_id_cb, &exception);
	git_odb_free(odb);

	if (exception)
		rb_jump_tag(exception);
	rugged_exception_check(error);

	return Qnil;
}