removed the top-level directory

This commit is contained in:
2022-10-17 23:31:51 +09:00
parent 1d4761c569
commit 64f2849676
766 changed files with 0 additions and 0 deletions

2
pecl-svn/CREDITS Executable file
View File

@ -0,0 +1,2 @@
svn
Alan Knowles, Wez Furlong, Scott MacVicar

0
pecl-svn/EXPERIMENTAL Executable file
View File

22
pecl-svn/Makefile.am Normal file
View File

@ -0,0 +1,22 @@
EXTRA_DIST = config.m4 svn.c php_svn.h svn.ini README
all-local:
mkdir -p "@abs_builddir@/pecl"
cp -f "@abs_srcdir@/svn.c" "@abs_builddir@/pecl/"
cp -f "@abs_srcdir@/php_svn.h" "@abs_builddir@/pecl/"
cp -f "@abs_srcdir@/config.m4" "@abs_builddir@/pecl/"
cd "@abs_builddir@/pecl/"; phpize
cd "@abs_builddir@/pecl/"; ./configure
cd "@abs_builddir@/pecl/"; make
clean-local:
-rm -rf @abs_builddir@/pecl
install-exec-hook:
$(INSTALL) -D "@abs_builddir@/pecl/.libs/svn.so" "$(DESTDIR)@PHPEXTDIR@/svn.so"
install-data-hook:
$(INSTALL) -D "@abs_srcdir@/svn.ini" "$(DESTDIR)@PHPEXTINIDIR@/svn.ini"
uninstall-hook:
-rm -f "$(DESTDIR)@PHPEXTDIR@/svn.so" "$(DESTDIR)@PHPEXTINIDIR@/svn.ini"

443
pecl-svn/Makefile.in Normal file
View File

@ -0,0 +1,443 @@
# Makefile.in generated by automake 1.16.5 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2021 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
VPATH = @srcdir@
am__is_gnu_make = { \
if test -z '$(MAKELEVEL)'; then \
false; \
elif test -n '$(MAKE_HOST)'; then \
true; \
elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
true; \
else \
false; \
fi; \
}
am__make_running_with_option = \
case $${target_option-} in \
?) ;; \
*) echo "am__make_running_with_option: internal error: invalid" \
"target option '$${target_option-}' specified" >&2; \
exit 1;; \
esac; \
has_opt=no; \
sane_makeflags=$$MAKEFLAGS; \
if $(am__is_gnu_make); then \
sane_makeflags=$$MFLAGS; \
else \
case $$MAKEFLAGS in \
*\\[\ \ ]*) \
bs=\\; \
sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
| sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
esac; \
fi; \
skip_next=no; \
strip_trailopt () \
{ \
flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
}; \
for flg in $$sane_makeflags; do \
test $$skip_next = yes && { skip_next=no; continue; }; \
case $$flg in \
*=*|--*) continue;; \
-*I) strip_trailopt 'I'; skip_next=yes;; \
-*I?*) strip_trailopt 'I';; \
-*O) strip_trailopt 'O'; skip_next=yes;; \
-*O?*) strip_trailopt 'O';; \
-*l) strip_trailopt 'l'; skip_next=yes;; \
-*l?*) strip_trailopt 'l';; \
-[dEDm]) skip_next=yes;; \
-[JT]) skip_next=yes;; \
esac; \
case $$flg in \
*$$target_option*) has_opt=yes; break;; \
esac; \
done; \
test $$has_opt = yes
am__make_dryrun = (target_option=n; $(am__make_running_with_option))
am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
subdir = pecl-svn
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/ac/m4/as-ac-expand.m4 \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/./config.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
AM_V_P = $(am__v_P_@AM_V@)
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
am__v_P_0 = false
am__v_P_1 = :
AM_V_GEN = $(am__v_GEN_@AM_V@)
am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
am__v_GEN_0 = @echo " GEN " $@;
am__v_GEN_1 =
AM_V_at = $(am__v_at_@AM_V@)
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
am__v_at_0 = @
am__v_at_1 =
SOURCES =
DIST_SOURCES =
am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \
n|no|NO) false;; \
*) (install-info --version) >/dev/null 2>&1;; \
esac
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
am__DIST_COMMON = $(srcdir)/Makefile.in README TODO
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
BINDIR = @BINDIR@
CACHEDIR = @CACHEDIR@
CFGDIR = @CFGDIR@
CSCOPE = @CSCOPE@
CTAGS = @CTAGS@
CYGPATH_W = @CYGPATH_W@
DATADIR = @DATADIR@
DATAROOTDIR = @DATAROOTDIR@
DEFS = @DEFS@
DEPOTDIR = @DEPOTDIR@
DOCDIR = @DOCDIR@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
ETAGS = @ETAGS@
GREP = @GREP@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LD = @LD@
LIBDIR = @LIBDIR@
LIBEXECDIR = @LIBEXECDIR@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LOCALSTATEDIR = @LOCALSTATEDIR@
LOGDIR = @LOGDIR@
LTLIBOBJS = @LTLIBOBJS@
MAKEINFO = @MAKEINFO@
MKDIR_P = @MKDIR_P@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PHPEXTDIR = @PHPEXTDIR@
PHPEXTINIDIR = @PHPEXTINIDIR@
PREFIX = @PREFIX@
RM = @RM@
RMDIR = @RMDIR@
SBINDIR = @SBINDIR@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
SYSCONFDIR = @SYSCONFDIR@
VERSION = @VERSION@
WWWDIR = @WWWDIR@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
am__leading_dot = @am__leading_dot@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build_alias = @build_alias@
builddir = @builddir@
cachedir = @cachedir@
cfgdir = @cfgdir@
datadir = @datadir@
datarootdir = @datarootdir@
depotdir = @depotdir@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host_alias = @host_alias@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
logdir = @logdir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
phpextdir = @phpextdir@
phpextinidir = @phpextinidir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
wwwdir = @wwwdir@
EXTRA_DIST = config.m4 svn.c php_svn.h svn.ini README
all: all-am
.SUFFIXES:
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
&& { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign pecl-svn/Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --foreign pecl-svn/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
tags TAGS:
ctags CTAGS:
cscope cscopelist:
distdir: $(BUILT_SOURCES)
$(MAKE) $(AM_MAKEFLAGS) distdir-am
distdir-am: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
dist_files=`for file in $$list; do echo $$file; done | \
sed -e "s|^$$srcdirstrip/||;t" \
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
case $$dist_files in \
*/*) $(MKDIR_P) `echo "$$dist_files" | \
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
sort -u` ;; \
esac; \
for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d "$(distdir)/$$file"; then \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
test -f "$(distdir)/$$file" \
|| cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-am
all-am: Makefile all-local
installdirs:
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-am
install-strip:
if test -z '$(STRIP)'; then \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
install; \
else \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
"INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-am
clean-am: clean-generic clean-local mostlyclean-am
distclean: distclean-am
-rm -f Makefile
distclean-am: clean-am distclean-generic
dvi: dvi-am
dvi-am:
html: html-am
html-am:
info: info-am
info-am:
install-data-am:
@$(NORMAL_INSTALL)
$(MAKE) $(AM_MAKEFLAGS) install-data-hook
install-dvi: install-dvi-am
install-dvi-am:
install-exec-am:
@$(NORMAL_INSTALL)
$(MAKE) $(AM_MAKEFLAGS) install-exec-hook
install-html: install-html-am
install-html-am:
install-info: install-info-am
install-info-am:
install-man:
install-pdf: install-pdf-am
install-pdf-am:
install-ps: install-ps-am
install-ps-am:
installcheck-am:
maintainer-clean: maintainer-clean-am
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-generic
pdf: pdf-am
pdf-am:
ps: ps-am
ps-am:
uninstall-am:
@$(NORMAL_INSTALL)
$(MAKE) $(AM_MAKEFLAGS) uninstall-hook
.MAKE: install-am install-data-am install-exec-am install-strip \
uninstall-am
.PHONY: all all-am all-local check check-am clean clean-generic \
clean-local cscopelist-am ctags-am distclean distclean-generic \
distdir dvi dvi-am html html-am info info-am install \
install-am install-data install-data-am install-data-hook \
install-dvi install-dvi-am install-exec install-exec-am \
install-exec-hook install-html install-html-am install-info \
install-info-am install-man install-pdf install-pdf-am \
install-ps install-ps-am install-strip installcheck \
installcheck-am installdirs maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-generic pdf \
pdf-am ps ps-am tags-am uninstall uninstall-am uninstall-hook
.PRECIOUS: Makefile
all-local:
mkdir -p "@abs_builddir@/pecl"
cp -f "@abs_srcdir@/svn.c" "@abs_builddir@/pecl/"
cp -f "@abs_srcdir@/php_svn.h" "@abs_builddir@/pecl/"
cp -f "@abs_srcdir@/config.m4" "@abs_builddir@/pecl/"
cd "@abs_builddir@/pecl/"; phpize
cd "@abs_builddir@/pecl/"; ./configure
cd "@abs_builddir@/pecl/"; make
clean-local:
-rm -rf @abs_builddir@/pecl
install-exec-hook:
$(INSTALL) -D "@abs_builddir@/pecl/.libs/svn.so" "$(DESTDIR)@PHPEXTDIR@/svn.so"
install-data-hook:
$(INSTALL) -D "@abs_srcdir@/svn.ini" "$(DESTDIR)@PHPEXTINIDIR@/svn.ini"
uninstall-hook:
-rm -f "$(DESTDIR)@PHPEXTDIR@/svn.so" "$(DESTDIR)@PHPEXTINIDIR@/svn.ini"
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

9
pecl-svn/README Normal file
View File

@ -0,0 +1,9 @@
This directory contains the source code of the PECL Subversion module.
The whole directory has been checked out using the following command
except the 'tests' subdirectory.
svn checkout -r 336509 http://svn.php.net/repository/pecl/svn/trunk pecl-svn
I include this PHP extension as its package which is new enough to support
Codepot is not widely available on many Linux distros. Codepot requires
pecl-svn r333800 at least.

12
pecl-svn/TODO Normal file
View File

@ -0,0 +1,12 @@
Functions that need to be added:
svn_merge
svn_propset
svn_url_from_path
svn_uuid_from_url
svn_uuid_from_path
New 1.5 functions that need to be added:
svn_add_to_changelist
svn_get_changelists
svn_remove_from_changelists

88
pecl-svn/config.m4 Executable file
View File

@ -0,0 +1,88 @@
dnl $Id: config.m4 263540 2008-07-25 12:41:27Z tony2001 $
dnl config.m4 for extension svn
dnl vim:se ts=2 sw=2 et:
PHP_ARG_WITH(svn, for svn support,
[ --with-svn=[/path/to/svn-prefix] Include svn support])
PHP_ARG_WITH(svn-apr, for specifying the location of apr for svn,
[ --with-svn-apr=[/path/to/apr-prefix] Location of apr-1-config / apr-config])
if test "$PHP_SVN" != "no"; then
AC_MSG_CHECKING([for svn includes])
for i in $PHP_SVN /usr/local /usr /opt /sw /usr/pkg; do
if test -r $i/include/subversion-1/svn_client.h ; then
SVN_DIR=$i/include/subversion-1
PHP_SVN_INCLUDES="-I$SVN_DIR"
PHP_SVN_LDFLAGS="-lsvn_client-1 -lsvn_fs-1 -lsvn_repos-1 -lsvn_subr-1"
SVN_VER_MAJOR=`grep '#define SVN_VER_MAJOR' $SVN_DIR/svn_version.h|$SED 's/#define SVN_VER_MAJOR[ \t]*//;s/[ \t]*$//'`
SVN_VER_MINOR=`grep '#define SVN_VER_MINOR' $SVN_DIR/svn_version.h|$SED 's/#define SVN_VER_MINOR[ \t]*//;s/[ \t]*$//'`
SVN_VER_PATCH=`grep '#define SVN_VER_PATCH' $SVN_DIR/svn_version.h|$SED 's/#define SVN_VER_PATCH[ \t]*//;s/[ \t]*$//'`
AC_MSG_RESULT(Found libsvn $SVN_VER_MAJOR.$SVN_VER_MINOR.$SVN_VER_PATCH)
break;
fi
done
if test "$PHP_SVN_LDFLAGS" = ""; then
AC_MSG_ERROR([failed to find svn_client.h])
fi
dnl check SVN version, we need at least 1.3
if test "$SVN_VER_MAJOR" -le 1 -a "$SVN_VER_MINOR" -le 3; then
AC_MSG_ERROR([minimum libsvn is 1.3])
fi
AC_MSG_CHECKING([for apr and apr-util])
for i in $PHP_SVN_APR $PHP_SVN /usr/local /usr /opt /sw /usr/pkg; do
dnl APR 1.0 tests
if test -r $i/bin/apr-1-config ; then
apr_config_path="$i/bin/apr-1-config"
break;
elif test -r $i/apache2/bin/apr-1-config ; then
apr_config_path="$i/apache2/bin/apr-1-config"
break;
elif test -r $i/apache/bin/apr-1-config ; then
apr_config_path="$i/apache/bin/apr-1-config"
break;
dnl APR 0.9 tests
elif test -r $i/bin/apr-config ; then
apr_config_path="$i/bin/apr-config"
break;
elif test -r $i/apache2/bin/apr-config ; then
apr_config_path="$i/apache2/bin/apr-config"
break;
elif test -r $i/apache/bin/apr-config ; then
apr_config_path="$i/apache/bin/apr-config"
break;
fi
done
if test "$apr_config_path" = ""; then
AC_MSG_ERROR([failed to find apr-config / apr-1-config])
fi
APR_VERSION=`$apr_config_path --version`
APR_INCLUDES=`$apr_config_path --includes --cppflags`
APR_LDFLAGS=`$apr_config_path --link-ld`
AC_MSG_RESULT(Found apr $APR_VERSION)
PHP_SVN_INCLUDES="$PHP_SVN_INCLUDES $APR_INCLUDES"
PHP_SVN_LDFLAGS="$PHP_SVN_LDFLAGS $APR_LDFLAGS"
echo libsvn includes: \"$PHP_SVN_INCLUDES\"
echo libsvn ldflags: \"$PHP_SVN_LDFLAGS\"
AC_DEFINE(HAVE_SVNLIB,1,[ ])
INCLUDES="$INCLUDES $PHP_SVN_INCLUDES"
PHP_EVAL_LIBLINE($PHP_SVN_LDFLAGS, SVN_SHARED_LIBADD)
PHP_SUBST(SVN_SHARED_LIBADD)
PHP_NEW_EXTENSION(svn, svn.c, $ext_shared,,$PHP_SVN_INCLUDES)
fi

40
pecl-svn/config.w32 Executable file
View File

@ -0,0 +1,40 @@
// $Id: config.w32 257431 2008-04-14 06:10:46Z alan_k $
// vim:ft=javascript
ARG_WITH("svn", "for svn support", "no");
if (PHP_SVN != "no") {
if (CHECK_LIB("libsvn_client-1.lib", "svn", PHP_PHP_BUILD + "\\lib\\svn;" + PHP_SVN) &&
CHECK_LIB("libsvn_subr-1.lib", "svn", PHP_PHP_BUILD + "\\lib\\svn;" + PHP_SVN) &&
CHECK_LIB("libsvn_wc-1.lib", "svn", PHP_PHP_BUILD + "\\lib\\svn;" + PHP_SVN) &&
CHECK_LIB("libsvn_delta-1.lib", "svn", PHP_PHP_BUILD + "\\lib\\svn;" + PHP_SVN) &&
CHECK_LIB("libsvn_diff-1.lib", "svn", PHP_PHP_BUILD + "\\lib\\svn;" + PHP_SVN) &&
CHECK_LIB("libsvn_ra-1.lib", "svn", PHP_PHP_BUILD + "\\lib\\svn;" + PHP_SVN) &&
CHECK_LIB("libsvn_ra_dav-1.lib", "svn", PHP_PHP_BUILD + "\\lib\\svn;" + PHP_SVN) &&
CHECK_LIB("libsvn_ra_local-1.lib", "svn", PHP_PHP_BUILD + "\\lib\\svn;" + PHP_SVN) &&
CHECK_LIB("libsvn_ra_svn-1.lib", "svn", PHP_PHP_BUILD + "\\lib\\svn;" + PHP_SVN) &&
CHECK_LIB("libsvn_fs-1.lib", "svn", PHP_PHP_BUILD + "\\lib\\svn;" + PHP_SVN) &&
CHECK_LIB("libsvn_fs_fs-1.lib", "svn", PHP_PHP_BUILD + "\\lib\\svn;" + PHP_SVN) &&
CHECK_LIB("libsvn_fs_base-1.lib", "svn", PHP_PHP_BUILD + "\\lib\\svn;" + PHP_SVN) &&
CHECK_LIB("libsvn_repos-1.lib", "svn", PHP_PHP_BUILD + "\\lib\\svn;" + PHP_SVN) &&
CHECK_HEADER_ADD_INCLUDE("svn_client.h", "CFLAGS_SVN", PHP_PHP_BUILD + "\\include\\svn") &&
CHECK_HEADER_ADD_INCLUDE("libintl.h", "CFLAGS_SVN", PHP_PHP_BUILD + "\\include\\svn") &&
CHECK_HEADER_ADD_INCLUDE("apr.h", "CFLAGS_SVN", PHP_PHP_BUILD + "\\include\\svn\\apr") &&
CHECK_HEADER_ADD_INCLUDE("apr_xlate.h", "CFLAGS_SVN", PHP_PHP_BUILD + "\\include\\svn\\apr-util") &&
CHECK_LIB("intl3_svn.lib", "svn", PHP_PHP_BUILD + "\\lib\\svn\\apr;" + PHP_SVN) &&
CHECK_LIB("libdb43.lib", "svn", PHP_PHP_BUILD + "\\lib\\svn\\apr;" + PHP_SVN) &&
CHECK_LIB("libneon.lib", "svn", PHP_PHP_BUILD + "\\lib\\svn\\neon;" + PHP_SVN) &&
(CHECK_LIB("libapr.lib", "svn", PHP_PHP_BUILD + "\\lib\\svn\\apr;" + PHP_SVN) ||
CHECK_LIB("libapr-1.lib", "svn", PHP_PHP_BUILD + "\\lib\\svn\\apr;" + PHP_SVN)) &&
(CHECK_LIB("libaprutil.lib", "svn", PHP_PHP_BUILD + "\\lib\\svn\\apr-util;" + PHP_SVN) ||
CHECK_LIB("libaprutil-1.lib", "svn", PHP_PHP_BUILD + "\\lib\\svn\\apr-util;" + PHP_SVN)) &&
CHECK_LIB("xml.lib", "svn", PHP_PHP_BUILD + "\\lib\\svn\\apr-util;" + PHP_SVN)
) {
EXTENSION("svn", "svn.c");
AC_DEFINE('HAVE_SVN', 1, 'Have Subversion library');
} else {
WARNING("svn not enabled; libraries and headers not found");
}
}

View File

@ -0,0 +1,108 @@
<?php
/*
example copy on commit hook script
usage:
php ..path..to..this..file.. hook_copycommit.php "$REPOS" "$REV" "/target/location" >> /tmp/svnlog
*/
dl('svn.so');
class Subversion_CopyCommit {
var $repos;
var $rev;
var $target; // where the copy goes
function start($args) {
print_r($args);
list( $cmd , $this->repos, $this->rev , $this->target ) = $args;
if (empty($this->target)) {
echo "NO TARGET !";exit;
}
if ($this->repos{0} == '/') {
$this->repos = 'file://'. $this->repos;
}
$this->rev = (int) $this->rev;
$ar = svn_log($this->repos, $this->rev, $this->rev-1, 0, SVN_DISCOVER_CHANGED_PATHS);
//print_R($ar);
foreach($ar[0]['paths'] as $action) {
$this->processAction($action);
}
}
function processAction($action)
{
$this->debug("Action: {$action['action']} on {$action['path']}");
switch($action['action']) {
case 'M': // modified
case 'A': // added.
/* how to handle moves?? */
// is it a file or directory?
if ($this->isDir($action['path'])) {
if (!file_exists($this->target . $action['path'])) {
require_once 'System.php';
System::mkdir(array('-p',$this->target . $action['path']));
}
return;
}
$this->writeFile($this->target.$action['path'],
svn_cat($this->repos . $action['path'],$this->rev)) ;
return;
case 'D': // deleted.
if (file_exists($this->target . $action['path'])) {
require_once 'System.php';
System::rm($this->target . $action['path']);
}
return;
case 'R': // replaced????
return;
}
}
var $dircache = array();
function isDir($path)
{
if (!isset($this->dircache[dirname($path)])) {
echo "SVN:LS ".$this->repos.dirname($path) ."\n";
$p = strlen(dirname($path)) > 1 ? dirname($path) : '';
$this->dircache[dirname($path)]= svn_ls($this->repos.$p,$this->rev);
}
$ar= $this->dircache[dirname($path)];
//print_r($ar);
$match = basename($path);
foreach($ar as $info) {
if ($info['name'] != $match) {
continue;
}
return $info['type'] == 'dir';
}
return false;
}
function writeFile($target,$data)
{
if (!file_exists(dirname($target))) {
require_once 'System.php';
System::mkdir(array('-p', dirname($target)));
}
$fh = fopen($target,'w');
fwrite($fh, $data);
fclose($fh);
}
function debug($str)
{
echo $str."\n";
}
}
ini_set('memory_limit','64M');
$x = new Subversion_CopyCommit;
$x->start($_SERVER['argv']);

View File

@ -0,0 +1,157 @@
<?php
/*
example email on commit hook script
usage:
php ..path..to..this..file../hook_emailcommit.php "$REPOS" "$REV" who@gets.it >> /tmp/svnlog
Features:
- emails diff to email address
- adds error messages if it's a PHP file.
- sends popup messages to author on errors (using /hooks/popup.ini)
(use www.realpoup.it for winxp boxes)
TODO:
- write bindings for diff so that it doesnt have to use the command line..
*/
dl('svn.so');
class Subversion_EmailCommit {
var $repos;
var $rev;
var $email; //who gets the commit messages.
function start($args) {
print_r($args);
list( $cmd , $this->repos, $this->rev , $this->email ) = $args;
if ($this->repos{0} == '/') {
$this->repos = $this->repos = 'file://'. $this->repos;
}
$this->rev = (int) $this->rev;
$last = $this->rev -1 ;
// techncially where the diff is!?
require_once 'System.php';
$svn = System::which('svn','/usr/bin/svn');
$cmd = "$svn diff -r{$last}:{$this->rev} $this->repos";
$this->log = svn_log($this->repos, $this->rev, $this->rev-1, 0, SVN_DISCOVER_CHANGED_PATHS);
$syntax = $this->checkSyntax();
//echo $cmd;
$diff = `$cmd`;
$diff = $this->log[0]['msg'] ."\n\n". $diff;
if ($syntax) {
$diff = $syntax ."\n\n". $diff;
}
$bits = explode('@', $this->email);
$headers['From'] = "{$this->log[0]['author']} <{$this->log[0]['author']}@{$bits[1]}>";
$headers['To'] = $this->email;
$headers['Subject'] = "[SVN {$bits[1]}] ".
($syntax ? "ERROR!" : "") .
$this->getFilenames() . " ({$this->rev})";
$headers['Date'] = date('r');
$headers['X-Mailer'] = 'svn hook';
// Create the mail object using the Mail::factory method
require_once 'Mail.php';
$mail_object =& Mail::factory('smtp', $params);
$mail_object->send($this->email, $headers, $diff);
$this->sendPopup($syntax);
}
function sendPopup($syntax) {
if (!$syntax) {
return;
}
if (substr($this->repos,0,strlen("file://")) != "file://") {
// echo "repos is not file://";
return;
}
$file = substr($this->repos,strlen("file://")) . '/hooks/popup.ini';
if (!file_exists($file)) {
// echo "$file does not exist";
return;
}
$ar = parse_ini_file($file);
//print_r($ar);
if (!isset($ar[$this->log[0]['author']])) {
// no ip for this author.
echo "no match for author";
return;
}
$ip = $ar[$this->log[0]['author']];
$cmd = "/usr/bin/smbclient -M {$this->log[0]['author']} -I {$ip}";
//echo $cmd;
$fh = popen($cmd,'w');
fwrite($fh, $data);
// end
fwrite($fh,chr(04));
fclose($fh);
}
function checkSyntax()
{
$ret = '';
$ar = $this->log;
foreach($ar[0]['paths'] as $action) {
if (!in_array($action['action'],array('M','A'))) {
continue;
}
if (!preg_match('#\.php$#', $action['path'])) {
continue;
}
$tmp = ini_get('session.save_path') . '/'.uniqid('tmp_php.').'.php';
$this->writeFile($tmp ,
svn_cat($this->repos . $action['path'],$this->rev));
$data = $data = `/usr/bin/php -l $tmp`;
unlink($tmp);
if (preg_match('/^No syntax errors/',$data)) {
continue;
}
$ret .= "Error in {$action['path']}\n".$data;
}
return strlen($ret) ? $ret : false;
}
function writeFile($target,$data)
{
$fh = fopen($target,'w');
fwrite($fh, $data);
fclose($fh);
}
function getFileNames()
{
$ar = $this->log;
if (count($ar[0]['paths']) > 1) {
return "Multiple Files";
}
return $ar[0]['paths'][0]['path'];
}
}
ini_set('memory_limit','64M');
$x = new Subversion_EmailCommit;
$x->start($_SERVER['argv']);

350
pecl-svn/package.xml Normal file
View File

@ -0,0 +1,350 @@
<?xml version="1.0"?>
<package xmlns="http://pear.php.net/dtd/package-2.0" xmlns:tasks="http://pear.php.net/dtd/tasks-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" packagerversion="1.4.7" version="2.0" xsi:schemaLocation="http://pear.php.net/dtd/tasks-1.0 http://pear.php.net/dtd/tasks-1.0.xsd http://pear.php.net/dtd/package-2.0 http://pear.php.net/dtd/package-2.0.xsd">
<name>svn</name>
<channel>pecl.php.net</channel>
<summary>PHP Bindings for the Subversion Revision control system.</summary>
<description>
Bindings for the Subversion revision control system, providing a method for manipulating
a working copy or repository with PHP.
</description>
<lead>
<name>Scott MacVicar</name>
<user>scottmac</user>
<email>scottmac@php.net</email>
<active>yes</active>
</lead>
<lead>
<name>Alan Knowles</name>
<user>alan_k</user>
<email>alan@akbkhome.com</email>
<active>yes</active>
</lead>
<lead>
<name>Wez Furlong</name>
<user>wez</user>
<email>wez@omniti.com</email>
<active>no</active>
</lead>
<!-- RELEASE SECTION -->
<date>2010-12-09</date>
<version>
<release>1.0.2</release>
<api>1.0.0</api>
</version>
<stability>
<release>stable</release>
<api>stable</api>
</stability>
<license uri="http://www.php.net/license">PHP License</license>
<notes>
Minor bug fix / feature release
Changes:
#60583 - compile failing due to missing definition of svn_version_t in newer releases of libsvn
#59976 (svn build fails on PHP5.4)
#15505 - warning on errors
------ support for peg revisions in checkout, ls, log, blame, info, proplist, propget
extra error checks in checkout - thanks to Hyung-Hwan Chung
#22758 - support specifying revision in svn_copy (he dot chen at zte dot com dot cn)
#23649 - allow deletion of properties by using NULL as value (patch by Jonas Zeiger)
#22754 - add support for svn_delete
#22100 - segfault on shutdown when using multiple repositories - patch by jimmy at velsoft
</notes>
<!-- /RELEASE SECTION -->
<contents>
<dir name="/">
<dir name="examples">
<file baseinstalldir="/" name="hook_copycommit.php" role="doc" />
<file baseinstalldir="/" name="hook_emailcommit.php" role="doc" />
</dir>
<file name="config.m4" role="src" />
<file name="config.w32" role="src" />
<file name="CREDITS" role="doc" />
<file name="EXPERIMENTAL" role="doc" />
<file name="php_svn.h" role="src" />
<file name="svn.c" role="src" />
</dir>
</contents>
<dependencies>
<required>
<php>
<min>4.0.0</min>
<max>6.0.0</max>
</php>
<pearinstaller>
<min>1.4.0</min>
</pearinstaller>
</required>
</dependencies>
<providesextension>svn</providesextension>
<extsrcrelease>
<configureoption default="autodetect" name="with-svn" prompt="Please provide the prefix of Subversion installation" />
<configureoption default="autodetect" name="with-svn-apr" prompt="Please provide the prefix of the APR installation used with Subversion" />
</extsrcrelease>
<changelog>
<release>
<date>2010-12-09</date>
<version>
<release>1.0.1</release>
<api>1.0.0</api>
</version>
<stability>
<release>stable</release>
<api>stable</api>
</stability>
<license uri="http://www.php.net/license">PHP License</license>
<notes>
Minor bug fix release
#18513 - svn_info( working_copy, false, SVN_REVISION_UNSPECIFIED ) gives you a svn_info on the local copy
#20440 - svn_mkdir on working copy log message is optional
</notes>
</release>
<release>
<date>2010-05-13</date>
<version>
<release>1.0.0</release>
<api>1.0.0</api>
</version>
<stability>
<release>stable</release>
<api>stable</api>
</stability>
<license uri="http://www.php.net/license">PHP License</license>
<notes>
Bumped release to stable, as not much is really changing and the API is pretty steady.
- not handling SVN_REVISION_COMMITTED, SVN_REVISION_PREV, SVN_REVISION_BASE properly
(svn_ls, svn_info, svn_update, svn_export) (Chung, Hyung-Hwan)
- not handling utf8 failure (Chung, Hyung-Hwan)
(svn_update, svn_export, svn_repos_create, svn_commit, svn_add, svn_status, svn_blame)
- using a wrong type for the 'l' parameter that can cause a problem on architectures where
sizeof(int) != sizeof(long) - ( svn_info, svn_ls ) (Chung, Hyung-Hwan)
- multiple utf8 check fixes - (Chung, Hyung-Hwan)
- add revision parameter to svn_propget and svn_proplist, do utf8 checks (Chung, Hyung-Hwan)
- fix bug #17080 - svn_mkdir requires log message, also added utf8 checks (Ivan P)
- req #14360 - support svn_export with revisions (lostoutfrog)
- php 5.3.0 TSRMLS_CC additions (Thomas Krause)
- update package xml to v2 (Pierre Joye)
</notes>
</release>
<release>
<date>2008-09-24</date>
<version>
<release>0.5.1</release>
<api>0.5.1</api>
</version>
<stability>
<release>beta</release>
<api>beta</api>
</stability>
<license uri="http://www.php.net/license">PHP License</license>
<notes>
fix for libsvn 1.6.2
</notes>
</release>
<release>
<date>2008-10-09</date>
<version>
<release>0.5.0</release>
<api>0.5.0</api>
</version>
<stability>
<release>beta</release>
<api>beta</api>
</stability>
<license uri="http://www.php.net/license">PHP License</license>
<notes>
- Add svn_lock()/svn_unlock()
- Add svn_config_ensure() for setting up a .svn storage directory
- Disable password storing unless a password is explicitly set
- Allow svn_auth_set_parameter() to unset an option with NULL
- svn_blame() returned -1 for a revision number
- Fix segfault caused by using an already destroyed pool
- Fix segfault when certain data types aren't returned from a commit
- Add check on module load that the APR version matches.
- Fix fatal error when the location of the HOME enviromental variable can't be read
</notes>
</release>
<release>
<date>2008-06-24</date>
<version>
<release>0.4.1</release>
<api>0.4.1</api>
</version>
<stability>
<release>beta</release>
<api>beta</api>
</stability>
<license uri="http://www.php.net/license">PHP License</license>
<notes>
- Add recurse option to svn_ls()
- Change array keys returned from svn_ls() to be filename
- Potential BC break with some lower case constants, these are now uppercase.
</notes>
</release>
<release>
<date>2008-06-04</date>
<version>
<release>0.4</release>
<api>0.4</api>
</version>
<stability>
<release>beta</release>
<api>beta</api>
</stability>
<license uri="http://www.php.net/license">PHP License</license>
<notes>
- Fix bug #13414 - Crash when SVN environment fails to initialise.
- Fix bug #13677,#13162 - Several functions fail to canonicalized resulting in an abort() call.
- Revert change that prevented libsvn 1.3 from being used.
- Add check during configure for minimum libsvn version.
- Add support for svn_delete(), svn_mkdir(), svn_move(), svn_proplist() and svn_propget().
- Allow svn_commit() to take a string instead of an array for paths.
- Revert backwards compatible break with svn_log()
</notes>
</release>
<release>
<version>
<release>0.3</release>
<api>0.3</api>
</version>
<stability>
<release>beta</release>
<api>beta</api>
</stability>
<date>2008-02-09</date>
<license uri="http://www.php.net/licence">PHP Licence</license>
<notes>
Backward Compatibilty Breaks:
Minimum subversion version is 1.4.
svn_status call arguments have changed - it now uses Flags.
New Constants:
SVN_REVISION_INITIAL
SVN_REVISION_HEAD
SVN_REVISION_BASE
SVN_REVISION_COMMITTED
SVN_REVISION_PREV
SVN_NON_RECURSIVE
SVN_DISCOVER_CHANGED_PATHS
SVN_OMIT_MESSAGES
SVN_STOP_ON_COPY
SVN_ALL
SVN_SHOW_UPDATES
SVN_NO_IGNORE
All constants are also available as Svn::REVISON_HEAD.
Win32 Compatibility:
Most functions have been fixed to work with Win32 paths.
- Fix bug #11153 - svn diff uses utf8 paths
- Fix bug #11157 - missing constants needed for svn_status
- Rewrite configure script to find APR and its compile flags
- Add support for svn_info() - patch by Marco Tabini
- Add support for svn_export() - patch by Scott MacVicar
- Add support for svn_copy() and svn_switch() - patch by Conny Dahlgren
- Add support for svn_blame() / svn_revert() - patch by Jerome Renard
- Add support for limiting results with svn_log() - patch by Edward Z. Yang
- Add support for limiting svn_checkout() - patch by Devlar
- Add constants for use as parameters to svn_cat() - patch by Devlar
- Add an OO interface to the extension - patch by Devlar
</notes>
</release>
<release>
<version>
<release>0.2</release>
<api>0.2</api>
</version>
<stability>
<release>beta</release>
<api>beta</api>
</stability>
<date>2006-03-20</date>
<license uri="http://www.php.net/licence">PHP Licence</license>
<notes>
- Compiles on Win32 + Netware (Thanks to Guenter Knauf)
- dependancy on svn-config removed (as recommended by Subversion developers)
- Pretty complete implementation.
Bugs
#6893 - correct types for strict compilers
Known issues:
There are bug reports about commit / checkout functionality. Any help
reproducing and fixing these is welcome.
</notes>
</release>
<release>
<version>
<release>0.1</release>
<api>0.1</api>
</version>
<stability>
<release>beta</release>
<api>beta</api>
</stability>
<date>2005-05-28</date>
<license uri="http://www.php.net/licence">PHP Licence</license>
<notes>
- First working release (works ok here!)
</notes>
</release>
</changelog>
</package>

178
pecl-svn/php_svn.h Executable file
View File

@ -0,0 +1,178 @@
/*
+----------------------------------------------------------------------+
| PHP Version 5 |
+----------------------------------------------------------------------+
| Copyright (c) 1997-2008 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 3.01 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
| available through the world-wide-web at the following url: |
| http://www.php.net/license/3_01.txt. |
| If you did not receive a copy of the PHP license and are unable to |
| obtain it through the world-wide-web, please send a note to |
| license@php.net so we can mail you a copy immediately. |
+----------------------------------------------------------------------+
| Authors: Alan Knowles <alan@akbkhome.com> |
| Wez Furlong <wez@omniti.com> |
| Luca Furini <lfurini@cs.unibo.it> |
| Jerome Renard <jerome.renard_at_gmail.com> |
| Develar <develar_at_gmail.com> |
+----------------------------------------------------------------------+
*/
/* $Id: php_svn.h 336509 2015-04-13 04:45:28Z alan_k $ */
#ifndef PHP_SVN_H
#define PHP_SVN_H
extern zend_module_entry svn_module_entry;
#define phpext_svn_ptr &svn_module_entry
#define PHP_SVN_VERSION "1.0.3-dev"
#ifdef PHP_WIN32
#define PHP_SVN_API __declspec(dllexport)
#else
#define PHP_SVN_API
#endif
#ifdef ZTS
#include "TSRM.h"
#endif
#include "svn_client.h"
#if defined(SVN_DEPTH_INFINITY_OR_FILES)
/* version 1.5 at least */
# define PHP_SVN_SUPPORT_DEPTH
#endif
PHP_MINIT_FUNCTION(svn);
PHP_MSHUTDOWN_FUNCTION(svn);
PHP_RINIT_FUNCTION(svn);
PHP_RSHUTDOWN_FUNCTION(svn);
PHP_MINFO_FUNCTION(svn);
PHP_FUNCTION(svn_checkout);
PHP_FUNCTION(svn_cat);
PHP_FUNCTION(svn_ls);
PHP_FUNCTION(svn_log);
PHP_FUNCTION(svn_auth_set_parameter);
PHP_FUNCTION(svn_auth_get_parameter);
PHP_FUNCTION(svn_client_version);
PHP_FUNCTION(svn_config_ensure);
PHP_FUNCTION(svn_diff);
PHP_FUNCTION(svn_cleanup);
PHP_FUNCTION(svn_revert);
PHP_FUNCTION(svn_resolved);
PHP_FUNCTION(svn_lock);
PHP_FUNCTION(svn_unlock);
PHP_FUNCTION(svn_commit);
PHP_FUNCTION(svn_add);
PHP_FUNCTION(svn_status);
PHP_FUNCTION(svn_update);
#if defined(PHP_SVN_SUPPORT_DEPTH)
PHP_FUNCTION(svn_update2);
#endif
PHP_FUNCTION(svn_import);
PHP_FUNCTION(svn_info);
PHP_FUNCTION(svn_export);
PHP_FUNCTION(svn_copy);
PHP_FUNCTION(svn_switch);
PHP_FUNCTION(svn_blame);
PHP_FUNCTION(svn_delete);
PHP_FUNCTION(svn_mkdir);
PHP_FUNCTION(svn_move);
PHP_FUNCTION(svn_proplist);
PHP_FUNCTION(svn_propget);
PHP_FUNCTION(svn_propset);
PHP_FUNCTION(svn_prop_delete);
PHP_FUNCTION(svn_revprop_get);
PHP_FUNCTION(svn_revprop_set);
PHP_FUNCTION(svn_revprop_delete);
PHP_FUNCTION(svn_repos_create);
PHP_FUNCTION(svn_repos_recover);
PHP_FUNCTION(svn_repos_hotcopy);
PHP_FUNCTION(svn_repos_open);
PHP_FUNCTION(svn_repos_fs);
PHP_FUNCTION(svn_repos_fs_begin_txn_for_commit);
PHP_FUNCTION(svn_repos_fs_commit_txn);
PHP_FUNCTION(svn_fs_revision_root);
PHP_FUNCTION(svn_fs_check_path);
PHP_FUNCTION(svn_fs_revision_prop);
PHP_FUNCTION(svn_fs_dir_entries);
PHP_FUNCTION(svn_fs_node_created_rev);
PHP_FUNCTION(svn_fs_youngest_rev);
PHP_FUNCTION(svn_fs_file_contents);
PHP_FUNCTION(svn_fs_file_length);
PHP_FUNCTION(svn_fs_txn_root);
PHP_FUNCTION(svn_fs_make_file);
PHP_FUNCTION(svn_fs_make_dir);
PHP_FUNCTION(svn_fs_apply_text);
PHP_FUNCTION(svn_fs_copy);
PHP_FUNCTION(svn_fs_delete);
PHP_FUNCTION(svn_fs_begin_txn2);
PHP_FUNCTION(svn_fs_is_dir);
PHP_FUNCTION(svn_fs_is_file);
PHP_FUNCTION(svn_fs_node_prop);
PHP_FUNCTION(svn_fs_change_node_prop);
PHP_FUNCTION(svn_fs_contents_changed);
PHP_FUNCTION(svn_fs_props_changed);
PHP_FUNCTION(svn_fs_abort_txn);
PHP_FUNCTION(svn_fs_open_txn);
PHP_FUNCTION(svn_fs_txn_prop);
/* TODO: */
PHP_FUNCTION(svn_merge);
PHP_FUNCTION(svn_url_from_path);
PHP_FUNCTION(svn_uuid_from_url);
PHP_FUNCTION(svn_uuid_from_path);
/** constants **/
#define SVN_REVISION_INITIAL 1
#define SVN_REVISION_HEAD -1
#define SVN_REVISION_BASE -2
#define SVN_REVISION_COMMITTED -3
#define SVN_REVISION_PREV -4
#define SVN_REVISION_UNSPECIFIED -5
#define SVN_NON_RECURSIVE 1 /* --non-recursive */
#define SVN_DISCOVER_CHANGED_PATHS 2 /* --verbose */
#define SVN_OMIT_MESSAGES 4 /* --quiet */
#define SVN_STOP_ON_COPY 8 /* --stop-on-copy */
#define SVN_ALL 16 /* --verbose in svn status */
#define SVN_SHOW_UPDATES 32 /* --show-updates */
#define SVN_NO_IGNORE 64 /* --no-ignore */
#define SVN_IGNORE_EXTERNALS 128 /* --ignore-externals */
ZEND_BEGIN_MODULE_GLOBALS(svn)
apr_pool_t *pool;
svn_client_ctx_t *ctx;
ZEND_END_MODULE_GLOBALS(svn)
#ifdef ZTS
#define SVN_G(v) TSRMG(svn_globals_id, zend_svn_globals *, v)
#else
#define SVN_G(v) (svn_globals.v)
#endif
#endif /* PHP_SVN_H */
/*
* Local variables:
* tab-width: 4
* c-basic-offset: 4
* End:
* vim600: noet sw=4 ts=4 fdm=marker
* vim<600: noet sw=4 ts=4
*/

5028
pecl-svn/svn.c Executable file

File diff suppressed because it is too large Load Diff

2
pecl-svn/svn.ini Normal file
View File

@ -0,0 +1,2 @@
; Enable svn extension module
extension=svn.so