diff options
author | Petr Baudis <pasky@suse.cz> | 2006-06-24 04:34:31 +0200 |
---|---|---|
committer | Junio C Hamano <junkio@cox.net> | 2006-07-02 17:14:40 -0700 |
commit | eca1f6fdb862e6ca07288ac385725c95fd96490e (patch) | |
tree | 45618eb01ddb811762e24c937b7398e435c62cc7 | |
parent | b1edc53d062c4f6adae08a15be08d6e7bccd242e (diff) | |
download | git-eca1f6fdb862e6ca07288ac385725c95fd96490e.tar.gz git-eca1f6fdb862e6ca07288ac385725c95fd96490e.tar.xz |
Git.pm: Implement Git::exec_path()
This patch implements Git::exec_path() (as a direct XS call).
Signed-off-by: Petr Baudis <pasky@suse.cz>
Signed-off-by: Junio C Hamano <junkio@cox.net>
-rw-r--r-- | perl/Git.pm | 15 | ||||
-rw-r--r-- | perl/Git.xs | 12 |
2 files changed, 26 insertions, 1 deletions
diff --git a/perl/Git.pm b/perl/Git.pm index 8fff785e0..5c5ae1246 100644 --- a/perl/Git.pm +++ b/perl/Git.pm @@ -48,7 +48,7 @@ require Exporter; # Methods which can be called as standalone functions as well: @EXPORT_OK = qw(command command_oneline command_pipe command_noisy - hash_object); + exec_path hash_object); =head1 DESCRIPTION @@ -288,6 +288,19 @@ sub command_noisy { } +=item exec_path () + +Return path to the git sub-command executables (the same as +C<git --exec-path>). Useful mostly only internally. + +Implementation of this function is very fast; no external command calls +are involved. + +=cut + +# Implemented in Git.xs. + + =item hash_object ( FILENAME [, TYPE ] ) =item hash_object ( FILEHANDLE [, TYPE ] ) diff --git a/perl/Git.xs b/perl/Git.xs index 1b81ce244..9e754d253 100644 --- a/perl/Git.xs +++ b/perl/Git.xs @@ -6,6 +6,7 @@ /* libgit interface */ #include "../cache.h" +#include "../exec_cmd.h" /* XS and Perl interface */ #include "EXTERN.h" @@ -21,6 +22,17 @@ PROTOTYPES: DISABLE # /* TODO: xs_call_gate(). See Git.pm. */ + +const char * +xs_exec_path() +CODE: +{ + RETVAL = git_exec_path(); +} +OUTPUT: + RETVAL + + char * xs_hash_object(file, type = "blob") SV *file; |