Revert "Git.pm: Introduce fast get_object() method"
This reverts commit 3c479c37f8
.
This commit is contained in:
parent
3c2f5886c7
commit
9594b326dc
18
perl/Git.pm
18
perl/Git.pm
@ -572,24 +572,6 @@ sub ident_person {
|
||||
}
|
||||
|
||||
|
||||
=item get_object ( TYPE, SHA1 )
|
||||
|
||||
Return contents of the given object in a scalar string. If the object has
|
||||
not been found, undef is returned; however, do not rely on this! Currently,
|
||||
if you use multiple repositories at once, get_object() on one repository
|
||||
_might_ return the object even though it exists only in another repository.
|
||||
(But do not rely on this behaviour either.)
|
||||
|
||||
The method must be called on a repository instance.
|
||||
|
||||
Implementation of this method is very fast; no external command calls
|
||||
are involved. That's why it is broken, too. ;-)
|
||||
|
||||
=cut
|
||||
|
||||
# Implemented in Git.xs.
|
||||
|
||||
|
||||
=item hash_object ( TYPE, FILENAME )
|
||||
|
||||
=item hash_object ( TYPE, FILEHANDLE )
|
||||
|
24
perl/Git.xs
24
perl/Git.xs
@ -111,30 +111,6 @@ CODE:
|
||||
free((char **) argv);
|
||||
}
|
||||
|
||||
|
||||
SV *
|
||||
xs_get_object(type, id)
|
||||
char *type;
|
||||
char *id;
|
||||
CODE:
|
||||
{
|
||||
unsigned char sha1[20];
|
||||
unsigned long size;
|
||||
void *buf;
|
||||
|
||||
if (strlen(id) != 40 || get_sha1_hex(id, sha1) < 0)
|
||||
XSRETURN_UNDEF;
|
||||
|
||||
buf = read_sha1_file(sha1, type, &size);
|
||||
if (!buf)
|
||||
XSRETURN_UNDEF;
|
||||
RETVAL = newSVpvn(buf, size);
|
||||
free(buf);
|
||||
}
|
||||
OUTPUT:
|
||||
RETVAL
|
||||
|
||||
|
||||
char *
|
||||
xs_hash_object_pipe(type, fd)
|
||||
char *type;
|
||||
|
Loading…
Reference in New Issue
Block a user