Git::version() returns the Git version string. Signed-off-by: Petr Baudis <pasky@xxxxxxx> --- Makefile | 5 ++++- perl/Git.pm | 14 +++++++++++++- perl/Git.xs | 10 ++++++++++ 3 files changed, 27 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index 4d20b22..7842195 100644 --- a/Makefile +++ b/Makefile @@ -596,7 +596,10 @@ XDIFF_OBJS=xdiff/xdiffi.o xdiff/xprepare perl/Makefile: perl/Git.pm perl/Makefile.PL - (cd perl && $(PERL_PATH) Makefile.PL PREFIX="$(prefix)" DEFINE="$(ALL_CFLAGS)" LIBS="$(LIBS)") + (cd perl && $(PERL_PATH) Makefile.PL \ + PREFIX="$(prefix)" \ + DEFINE="$(ALL_CFLAGS) -DGIT_VERSION=\\\"$(GIT_VERSION)\\\"" \ + LIBS="$(LIBS)") doc: $(MAKE) -C Documentation all diff --git a/perl/Git.pm b/perl/Git.pm index 212337e..dcd769b 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 - exec_path hash_object); + version exec_path hash_object); =head1 DESCRIPTION @@ -285,6 +285,18 @@ sub command_noisy { } +=item version () + +Return the Git version in use. + +Implementation of this function is very fast; no external command calls +are involved. + +=cut + +# Implemented in Git.xs. + + =item exec_path () Return path to the git sub-command executables (the same as diff --git a/perl/Git.xs b/perl/Git.xs index c8220e2..9623fdd 100644 --- a/perl/Git.xs +++ b/perl/Git.xs @@ -24,6 +24,16 @@ # /* TODO: xs_call_gate(). See Git.pm. * const char * +xs_version() +CODE: +{ + RETVAL = GIT_VERSION; +} +OUTPUT: + RETVAL + + +const char * xs_exec_path() CODE: { - : send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html