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, FILENAME )
|
||||||
|
|
||||||
=item hash_object ( TYPE, FILEHANDLE )
|
=item hash_object ( TYPE, FILEHANDLE )
|
||||||
|
24
perl/Git.xs
24
perl/Git.xs
@ -111,30 +111,6 @@ CODE:
|
|||||||
free((char **) argv);
|
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 *
|
char *
|
||||||
xs_hash_object_pipe(type, fd)
|
xs_hash_object_pipe(type, fd)
|
||||||
char *type;
|
char *type;
|
||||||
|
Loading…
Reference in New Issue
Block a user