view release on metacpan or search on metacpan
src/subversion/subversion/svnlook/svnlook.c
src/subversion/subversion/svnmucc/svnmucc.1
src/subversion/subversion/svnmucc/svnmucc.c
src/subversion/subversion/svnrdump/dump_editor.c
src/subversion/subversion/svnrdump/load_editor.c
src/subversion/subversion/svnrdump/svnrdump.1
src/subversion/subversion/svnrdump/svnrdump.c
src/subversion/subversion/svnrdump/svnrdump.h
src/subversion/subversion/svnrdump/util.c
src/subversion/subversion/svnserve/cyrus_auth.c
src/subversion/subversion/svnserve/log-escape.c
src/subversion/subversion/svnserve/serve.c
src/subversion/subversion/svnserve/server.h
src/subversion/subversion/svnserve/svnserve.8
src/subversion/subversion/svnserve/svnserve.c
src/subversion/subversion/svnserve/svnserve.conf.5
src/subversion/subversion/svnserve/winservice.c
src/subversion/subversion/svnserve/winservice.h
src/subversion/subversion/svnsync/svnsync.1
src/subversion/subversion/svnsync/svnsync.c
src/subversion/subversion/svnsync/sync.c
src/subversion/CHANGES view on Meta::CPAN
Version 1.6.13
(01 Oct 2010, from /branches/1.6.x)
http://svn.apache.org/repos/asf/subversion/tags/1.6.13
User-visible changes:
* don't drop properties during foreign-repo merges (issue #3623)
* improve auto-props failure error message (r961970)
* improve error message for 403 status with ra_neon (r876615)
* don't allow 'merge --reintegrate' for 2-url merges (r959004)
* improve handling of missing fsfs.conf during hotcopy (r980811, -1449)
* escape unsafe characters in a URL during export (issue #3683)
* don't leak stale locks in FSFS (r959760)
* better detect broken working copies during update over ra_neon (r979045)
* fsfs: make rev files read-only (r981921)
* properly canonicalize a URL (r984928, -31)
* fix wc corruption with 'commit --depth=empty' (issue #3700)
* permissions fixes when doing reintegrate merges (related to issue #3242)
* fix mergeinfo miscalculation during 2-url merges (issue #3648)
* fix error transmission problems in svnserve (r997457, -66)
* fixed: record-only merges create self-referential mergeinfo (issue #3646)
* fixed: 'SVNPathAuthz short_circuit' unsolicited read access (issue #3695)
src/subversion/CHANGES view on Meta::CPAN
* include the time of a test run in tests.log (r39887)
Version 1.6.5
(22 Aug 2009, from /branches/1.6.x)
http://svn.apache.org/repos/asf/subversion/tags/1.6.5
User-visible changes:
* fix mod_dav_svn directory view links to preserve peg revisions (r38021)
* do not error on Windows when ALLUSERPROFILE dir nonexistent (r38053, -5, -7)
* properly escape lock comments over ra_neon (r38101, -2)
* allow syncing copies of '/' over ra_neon and ra_serf (issue #3438)
* make 'svnlook diff' show empty added or deleted files (r38458)
* fix building with Apache 2.4 (r36720)
* fix possible data loss on ext4 and GPFS filesystems (issue #3442)
* resolve symlinks when checking for ~/.subversion (r36023)
* don't let svn+ssh SIGKILL ssh processes (issue #2580)
* allow PLAIN and LOGIN mechanisms with SASL in svnserve (r38205)
* fix peg revision parsing in filenames like 'dir/@file.txt' (issue #3416)
* fix detection of Apache <2.0.56 (r38290, -3, -4)
* don't pretend to do tree conflict resolution (r38799, -801, -805)
src/subversion/CHANGES view on Meta::CPAN
* 'svn move' moved files to wrong directory on Windows (issue #1869)
* 'svn revert' mistakenly used leftover .svn-revert files (issue #2927)
* 'svn diff' output now shows relative paths (issue #2723)
* 'svn diff' wasn't ignoring all EOLs (issue #2920)
* 'svn cleanup' no longer fails on a missing .svn/tmp dir (r23370)
* infinite loop in UTF conversion in non-C locale (issue #2577)
* interrupting "svn status" could make svn crash (issue #2623)
* commit-email.pl date header output now RFC2822-compliant (issue #2633)
* authz write access to folder wasn't permitting locking (issue #2700)
* stop complaining just because $HOME is unreadable (issue #2363)
* do not display unescaped characters in error message (issue #2471)
* propchange received on subdir merge causes conflict (issue #2969)
* revert replaced-with-history files should restore checksum (issue #2928)
* catch improper arguments to diff (issue #2996)
* handle URLs like http://hostname (i.e. no path part) (issue #1851)
* config autoprops honored regardless of case of entry (issue #2036)
* "Cannot replace a directory from within" error now rarer (issue #2047)
* handle _svn/.svn as part of a path (issue #3026)
* make permissions changes on symlinks a no-op (issue #2581)
* error usefully if asked to update a URL (r22296)
* fixed infinite loop on Windows if fail to find repository root (r22483)
src/subversion/CHANGES view on Meta::CPAN
* fixed: 'svn propget' prints extra newline in --strict mode (r14505)
* fixed: 'svn propset' should skip unversioned files (#2030)
* fixed: 'svn rm URL1 URL2 URL3...' huge memory usage (issue #2218)
* fixed: 'svn mkdir' cleanup after failure (r11883)
* fixed: 'svn status -u' crash in non-recursive wc's (issue #2122)
* fixed: 'svn revert' should skip unversioned items (issues #2030, 2133)
* fixed: 'svn revert' should suggest --recursive (issue #2114)
* fixed: 'svn add/import' better detects invalid paths (issue #1954)
* fixed: 'svn cleanup' should repair timestamps (r12012)
* fixed: 'svn cat -rBASE' contacts repository (issue #1361)
* fixed: fuzzily escape control-characters when sending over dav (#2147)
* fixed: prevent client from manipulating svn:wc:* properties (r12523)
* fixed: allow portnumber in svn+ssh://user@host:port/ URLs (r14373)
* fixed: xml-escaping bugs over dav (r11090)
* fixed: store symlinks as utf8, always work in non-utf8 locale (r11358-9)
* fixed: bug in special-file detranslation (r11441)
* fixed: show paths in local-style where we weren't (issue #1538)
* fixed: detect invalid propnames better (issue #1832)
* fixed: entire error stack not being printed (issue #1822)
* fixed: improper utf8 conversion of revision strings (issue #1999)
* fixed: use-commit-times timestamp bug (r12906)
src/subversion/CHANGES view on Meta::CPAN
* fixed: 'svn export -rBASE' when WC has added items (r11296, -415)
* many translation updates for localized client messages.
- Server:
* fixed: 'svn ls' HTTP performance regression (r11211, -232, -285)
* fixed: make it possible to set "SVNPathAuthz off" in httpd.conf (r11190)
* fixed: fsfs validating revisions when accessing revprops (issue #2076)
* fixed: 'svn log -v' hiding too much info on 'empty' revisions. (r11137)
* fixed: encoding bug with 'svnlook log'/'svnlook author' (r11172)
* fixed: allow mod_authz_svn to return '403 Forbidden', not 500 (r11064)
* fixed: XML-escape author and date strings before sending (issue #2071)
* fixed: invalid XML being sent over DAV (issue #2090)
Developer-visible changes:
* fixed: IRIX compile error (issue #2082)
* fixed: error in perl bindings (r11290)
* fixed: error leaks in mod_dav_svn (r11458)
* fixed: javahl should use default config directory (r11394)
Version 1.0.9
src/subversion/CHANGES view on Meta::CPAN
Version 1.1.0
(29 September 2004, from /branches/1.1.x)
http://svn.apache.org/repos/asf/subversion/tags/1.1.0
See the 1.1 release notes for a more verbose overview of the changes since
1.0.x: http://subversion.apache.org/docs/release-notes/1.1.html
User-visible changes:
* new non-database repository back-end (libsvn_fs_fs)
* symlinks can now be placed under version control (unix systems only)
* cmdline client now supports psuedo-IRIs and autoescapes chars (issue #1910)
* 'svnadmin recover' no longer waits forever for a lock (new '--wait' option)
* new $Revision$ synonym for $Rev$ and $LastChangedRevision$
* new runtime option 'store-passwords = ' gives finer control (r10794)x
* fixed: working copies now shareable by multiple users (issue #1509)
* fixed: diff and other subcommands correctly follow renames (issue #1093)
- new 'peg' syntax for diff/merge: 'svn diff -r X:Y TARGET@REV'
- now able to compare working copy with URL: 'svn diff --old WC --new URL'
* new framework for localized error/info/help messages, initial translations:
- German, Polish, Swedish, Norwegian Bokmål, Traditional Chinese,
Japanese, Brazilian Portuguese.
src/subversion/CHANGES view on Meta::CPAN
svn_wc_parse_externals_description2(), svn_hash_read/write2(),
svn_repos_dump/load_fs2() & friends, svn_wc_diff2(),
svn_subst_copy_and_translate2()
* other new APIs:
- svn_stream_copy(), svn_txdelta_target_push(), svn_opt_parse_path(),
svn_io_file_flush_to_disk, svn_repos_trace_node_locations(),
svn_repos_get_file_revs(), RA->get_locations(), RA->get_file_revs,
RA->get_version(), svn_sort_compare_paths(), svn_utf_initialize()
* SVN_REVNUM_FMT_T usage replaced with %ld (r9691)
* cache mod_authz_svn authz file per connection (r8867)
* validate hex digits in % escape (issue #1947)
* hashes now written to disk in sorted order (r9910)
* do cancellation checks before loops, not after (r8918)
* fixed: bug in svn_repos_dir_delta replacement logic (r8078)
* fixed: tiny memory access bugs (r8229, 8230, 8313)
* fixed: several commit buglets (r8955, 9658, 9757, 9855)
* fixed: don't recursively lock all prop commands (r9172)
* fixed: svnserve memory usage on many-file commits (r9185)
* fixed: close svnserve child's listen-socket after forking (r10050)
* fixed: 'svnadmin hotcopy' integrity improvements (issues #1817, #1818)
* fixed: only verify media type of svn:mime-type, not encoding (r10126)
src/subversion/CHANGES view on Meta::CPAN
- removed '-u' option (r8003)
- ignore SIGPIPE (no more repos lockups when you terminate a pipe) (r8140)
* lots of Book work (many newly-documented Apache and svnserve topics)
Developer-visible changes:
* bugfix: svnserve network crash (r8142)
* bugfix: return result_rev from svn_client_checkout correctly (r8096)
* bugfix: fs history harvesting code (r8154)
* bugfix: memory leak in mod_dav_svn (r8223)
* bugfixes in edge-cases of status and update (r8114-5)
* make 'svn blame' work with 18n and uri-escaped filenames (r8023, 8030, 8040)
* small bugfixes to authentication system (r8006, r8235)
* standardize error message formatting (r8218)
* load RA modules as foo.so.0, not foo.so (r8098)
* various core API changes:
- use constructor for svn_client_cxt_t (r8053-4)
- anchor/target may use NULL for target (r8216)
- stop using apr_ symbols (r8219)
- rename to 'svn_repos_authz_func_t' (r8213)
- add pool parameter to finish_report and abort_report (r8215)
* numerous changes to Perl and Java bindings, to keep up with C API.
src/subversion/CHANGES view on Meta::CPAN
* new compatibility rule: require only that each interim release be
compatible with the one before it (see HACKING)
* ra_svn is still new so above rule doesn't yet apply
(i.e. 0.20 over ra_svn is NOT compatible with previous releases)
* merge infers the target path (see book chapters 4 & 8)
* merge continues in presence of missing target file
* merge's add notifications are no longer duplicated
* commands can be safely interrupted (Ctrl-C)
* --encoding global default in ~/.subversion/config
* new option --editor-cmd
* begin multi-release transition to escape binary properties over DAV
* misc performance improvements
Developer-visible changes:
* RA vtable functions take pool argument
* svn-config --includes path fixed
* uuid at creation now complete
* start having test failures throw exceptions rather than return errors
* test suite option --cleanup with --verbose being default mode
* continued diff library development
* minor revprop hook changes
src/subversion/CHANGES view on Meta::CPAN
#843 (URL keyword), #846 (kind-change replacement), #809 ($EDITOR dir),
#855 (module updates not cooperating with new wc access batons),
improvements to test suite sensitivity,
Version 0.14.0 [Alpha] (released 23 July 2002, revision 2667)
User-visible changes:
* finally some documentation: The Subversion Handbook
* i18n support for paths, prop names, and log messages; (not on Win32 yet)
* support for URI-escaped paths
* "-R" is now short for --recursive, and "-N" replaces "-n"
* add the -R option to 'svn info' and 'svn resolve'
* new syntax for 'svn switch' and 'svn co'
* new 'svn-config' file installed
* new commit-access-control.pl utility (feature #775)
* new vc-svn.el, first pass at Emacs VC support for Subversion
* lots of work on svn_load_dirs.pl (provides vendor-branch-like features)
* new --message-encoding option for logfiles given by -F
* support win32 drive-letters in file:/// urls
* improved date output syntax: ISO-8601 prefix, then human-friendly suffix
src/subversion/build-outputs.mk view on Meta::CPAN
tools/dev/svnraisetreeconflict/svnraisetreeconflict$(EXEEXT): $(svnraisetreeconflict_DEPS)
cd tools/dev/svnraisetreeconflict && $(LINK) $(svnraisetreeconflict_LDFLAGS) -o svnraisetreeconflict$(EXEEXT) $(svnraisetreeconflict_OBJECTS) ../../../subversion/libsvn_wc/libsvn_wc-1.la ../../../subversion/libsvn_subr/libsvn_subr-1.la $(SVN_APRUTI...
svnrdump_PATH = subversion/svnrdump
svnrdump_DEPS = subversion/svnrdump/dump_editor.lo subversion/svnrdump/load_editor.lo subversion/svnrdump/svnrdump.lo subversion/svnrdump/util.lo subversion/libsvn_client/libsvn_client-1.la subversion/libsvn_ra/libsvn_ra-1.la subversion/libsvn_repos...
svnrdump_OBJECTS = dump_editor.lo load_editor.lo svnrdump.lo util.lo
subversion/svnrdump/svnrdump$(EXEEXT): $(svnrdump_DEPS)
cd subversion/svnrdump && $(LINK) $(svnrdump_LDFLAGS) -o svnrdump$(EXEEXT) $(svnrdump_OBJECTS) ../../subversion/libsvn_client/libsvn_client-1.la ../../subversion/libsvn_ra/libsvn_ra-1.la ../../subversion/libsvn_repos/libsvn_repos-1.la ../../subvers...
svnserve_PATH = subversion/svnserve
svnserve_DEPS = subversion/svnserve/cyrus_auth.lo subversion/svnserve/log-escape.lo subversion/svnserve/serve.lo subversion/svnserve/svnserve.lo subversion/svnserve/winservice.lo subversion/libsvn_repos/libsvn_repos-1.la subversion/libsvn_fs/libsvn_...
svnserve_OBJECTS = cyrus_auth.lo log-escape.lo serve.lo svnserve.lo winservice.lo
subversion/svnserve/svnserve$(EXEEXT): $(svnserve_DEPS)
cd subversion/svnserve && $(LINK) $(svnserve_LDFLAGS) -o svnserve$(EXEEXT) $(svnserve_OBJECTS) ../../subversion/libsvn_repos/libsvn_repos-1.la ../../subversion/libsvn_fs/libsvn_fs-1.la ../../subversion/libsvn_delta/libsvn_delta-1.la ../../subversio...
svnsync_PATH = subversion/svnsync
svnsync_DEPS = subversion/svnsync/svnsync.lo subversion/svnsync/sync.lo subversion/libsvn_ra/libsvn_ra-1.la subversion/libsvn_delta/libsvn_delta-1.la subversion/libsvn_subr/libsvn_subr-1.la
svnsync_OBJECTS = svnsync.lo sync.lo
subversion/svnsync/svnsync$(EXEEXT): $(svnsync_DEPS)
cd subversion/svnsync && $(LINK) $(svnsync_LDFLAGS) -o svnsync$(EXEEXT) $(svnsync_OBJECTS) ../../subversion/libsvn_ra/libsvn_ra-1.la ../../subversion/libsvn_delta/libsvn_delta-1.la ../../subversion/libsvn_subr/libsvn_subr-1.la $(SVN_APR_LIBS) $(LIB...
svnversion_PATH = subversion/svnversion
src/subversion/build-outputs.mk view on Meta::CPAN
subversion/svnrdump/dump_editor.lo: subversion/svnrdump/dump_editor.c subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_editor.h subversion/include/private/svn_subr_private.h subversion/...
subversion/svnrdump/load_editor.lo: subversion/svnrdump/load_editor.c subversion/include/private/svn_debug.h subversion/include/private/svn_editor.h subversion/include/private/svn_fspath.h subversion/include/private/svn_mergeinfo_private.h subversion...
subversion/svnrdump/svnrdump.lo: subversion/svnrdump/svnrdump.c subversion/include/private/svn_cmdline_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_editor.h subversion/include/private/svn_ra_private.h subversion/inc...
subversion/svnrdump/util.lo: subversion/svnrdump/util.c subversion/include/private/svn_debug.h subversion/include/private/svn_editor.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/...
subversion/svnserve/cyrus_auth.lo: subversion/svnserve/cyrus_auth.c subversion/include/private/ra_svn_sasl.h subversion/include/private/svn_atomic.h subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include...
subversion/svnserve/log-escape.lo: subversion/svnserve/log-escape.c subversion/include/private/svn_debug.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_ctype.h subversion/include/svn_delta.h subversion/incl...
subversion/svnserve/serve.lo: subversion/svnserve/serve.c subversion/include/private/svn_debug.h subversion/include/private/svn_editor.h subversion/include/private/svn_fspath.h subversion/include/private/svn_log.h subversion/include/private/svn_merge...
subversion/svnserve/svnserve.lo: subversion/svnserve/svnserve.c subversion/include/private/svn_atomic.h subversion/include/private/svn_cmdline_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/inc...
subversion/svnserve/winservice.lo: subversion/svnserve/winservice.c subversion/include/private/svn_debug.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_types.h subversion/svn_private_config.h subversion/s...
subversion/svnsync/svnsync.lo: subversion/svnsync/svnsync.c subversion/include/private/svn_cmdline_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_editor.h subversion/include/private/svn_opt_private.h subversion/includ...
subversion/svnsync/sync.lo: subversion/svnsync/sync.c subversion/include/private/svn_debug.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_cmdline.h subversion/include/svn_config.h subversion/include/svn_delta...
src/subversion/build/generator/ezt.py view on Meta::CPAN
# Various unicode whitespace
if sys.version_info[0] >= 3:
# Python >=3.0
REPLACE_JS_UNICODE_MAP = (
('\u0085', r'\u0085'), ('\u2028', r'\u2028'), ('\u2029', r'\u2029')
)
else:
# Python <3.0
REPLACE_JS_UNICODE_MAP = eval("((u'\u0085', r'\u0085'), (u'\u2028', r'\u2028'), (u'\u2029', r'\u2029'))")
# Why not cgi.escape? It doesn't do single quotes which are occasionally
# used to contain HTML attributes and event handler definitions (unfortunately)
REPLACE_HTML_MAP = (
('&', '&'), ('<', '<'), ('>', '>'),
('"', '"'), ('\'', '''),
)
def _js_escape(s):
s = _replace(s, REPLACE_JS_MAP)
### perhaps attempt to coerce the string to unicode and then replace?
if isinstance(s, unicode):
s = _replace(s, REPLACE_JS_UNICODE_MAP)
return s
def _html_escape(s):
return _replace(s, REPLACE_HTML_MAP)
def _url_escape(s):
### quote_plus barfs on non-ASCII characters. According to
### http://www.w3.org/International/O-URL-code.html URIs should be
### UTF-8 encoded first.
if isinstance(s, unicode):
s = s.encode('utf8')
return urllib_parse_quote_plus(s)
FORMATTERS = {
FORMAT_RAW: None,
FORMAT_HTML: _html_escape,
FORMAT_XML: _html_escape, ### use the same quoting as HTML for now
FORMAT_JS: _js_escape,
FORMAT_URL: _url_escape,
}
def _parse_format(format_string=FORMAT_RAW):
format_funcs = []
try:
for fspec in format_string.split(','):
format_func = FORMATTERS[fspec]
if format_func is not None:
format_funcs.append(format_func)
except KeyError:
src/subversion/build/generator/gen_make.py view on Meta::CPAN
# link against the library
libs.append(build_path_join(retreat, link_dep.filename))
elif isinstance(link_dep, gen_base.ObjectFile):
# link in the object file
objects.append(link_dep.filename)
for dep in self.graph.get_sources(gen_base.DT_OBJECT, link_dep, gen_base.SourceFile):
object_srcs.append(
build_path_join('$(abs_srcdir)', dep.filename))
elif isinstance(link_dep, gen_base.HeaderFile):
# link in the header file
# N.B. that filename_win contains the '_'-escaped class name
headers.append(link_dep.filename_win)
header_classes.append(link_dep.classname)
for dep in self.graph.get_sources(gen_base.DT_OBJECT, link_dep, gen_base.ObjectFile):
header_class_filenames.append(dep.filename)
else:
### we don't know what this is, so we don't know what to do with it
raise UnknownDependency
for nonlib in self.graph.get_sources(gen_base.DT_NONLIB, target_ob.name):
if isinstance(nonlib, gen_base.TargetLinked):
src/subversion/build/generator/gen_win.py view on Meta::CPAN
def write(self):
"Override me when creating a new project type"
raise NotImplementedError
def _find_perl(self):
"Find the right perl library name to link swig bindings with"
self.perl_includes = []
self.perl_libdir = None
fp = os.popen('perl -MConfig -e ' + escape_shell_arg(
'print "$Config{PERL_REVISION}$Config{PERL_VERSION}"'), 'r')
try:
line = fp.readline()
if line:
msg = 'Found installed perl version number.'
self.perl_lib = 'perl' + line.rstrip() + '.lib'
else:
msg = 'Could not detect perl version.'
self.perl_lib = 'perl56.lib'
print('%s\n Perl bindings will be linked with %s\n'
% (msg, self.perl_lib))
finally:
fp.close()
fp = os.popen('perl -MConfig -e ' + escape_shell_arg(
'print $Config{archlib}'), 'r')
try:
line = fp.readline()
if line:
self.perl_libdir = os.path.join(line, 'CORE')
self.perl_includes = [os.path.join(line, 'CORE')]
finally:
fp.close()
def _find_ruby(self):
"Find the right Ruby library name to link swig bindings with"
self.ruby_includes = []
self.ruby_libdir = None
self.ruby_version = None
self.ruby_major_version = None
self.ruby_minor_version = None
# Pass -W0 to stifle the "-e:1: Use RbConfig instead of obsolete
# and deprecated Config." warning if we are using Ruby 1.9.
proc = os.popen('ruby -rrbconfig -W0 -e ' + escape_shell_arg(
"puts Config::CONFIG['ruby_version'];"
"puts Config::CONFIG['LIBRUBY'];"
"puts Config::CONFIG['archdir'];"
"puts Config::CONFIG['libdir'];"), 'r')
try:
rubyver = proc.readline()[:-1]
if rubyver:
self.ruby_version = rubyver
self.ruby_major_version = string.atoi(self.ruby_version[0])
self.ruby_minor_version = string.atoi(self.ruby_version[2])
src/subversion/build/generator/gen_win.py view on Meta::CPAN
class ProjectItem:
"A generic item class for holding sources info, config info, etc for a project"
def __init__(self, **kw):
vars(self).update(kw)
# ============================================================================
# This is a cut-down and modified version of code from:
# subversion/subversion/bindings/swig/python/svn/core.py
#
if sys.platform == "win32":
_escape_shell_arg_re = re.compile(r'(\\+)(\"|$)')
def escape_shell_arg(arg):
# The (very strange) parsing rules used by the C runtime library are
# described at:
# http://msdn.microsoft.com/library/en-us/vclang/html/_pluslang_Parsing_C.2b2b_.Command.2d.Line_Arguments.asp
# double up slashes, but only if they are followed by a quote character
arg = re.sub(_escape_shell_arg_re, r'\1\1\2', arg)
# surround by quotes and escape quotes inside
arg = '"' + arg.replace('"', '"^""') + '"'
return arg
else:
def escape_shell_arg(str):
return "'" + str.replace("'", "'\\''") + "'"
# ============================================================================
FILTER_LIBS = 1
FILTER_PROJECTS = 2
class POFile:
"Item class for holding po file info"
def __init__(self, base):
src/subversion/build/libtool.m4 view on Meta::CPAN
m4_require([_LT_CMD_RELOAD])dnl
m4_require([_LT_CHECK_MAGIC_METHOD])dnl
m4_require([_LT_CHECK_SHAREDLIB_FROM_LINKLIB])dnl
m4_require([_LT_CMD_OLD_ARCHIVE])dnl
m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
m4_require([_LT_WITH_SYSROOT])dnl
m4_require([_LT_CMD_TRUNCATE])dnl
_LT_CONFIG_LIBTOOL_INIT([
# See if we are running on zsh, and set the options that allow our
# commands through without removal of \ escapes INIT.
if test -n "\${ZSH_VERSION+set}"; then
setopt NO_GLOB_SUBST
fi
])
if test -n "${ZSH_VERSION+set}"; then
setopt NO_GLOB_SUBST
fi
_LT_CHECK_OBJDIR
src/subversion/build/libtool.m4 view on Meta::CPAN
# --------------------------
# Define a few sed substitution that help us do robust quoting.
m4_defun([_LT_PREPARE_SED_QUOTE_VARS],
[# Backslashify metacharacters that are still active within
# double-quoted strings.
sed_quote_subst='s/\([["`$\\]]\)/\\\1/g'
# Same as above, but do not quote variable references.
double_quote_subst='s/\([["`\\]]\)/\\\1/g'
# Sed substitution to delay expansion of an escaped shell variable in a
# double_quote_subst'ed string.
delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
# Sed substitution to delay expansion of an escaped single quote.
delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
# Sed substitution to avoid accidental globbing in evaled expressions
no_glob_subst='s/\*/\\\*/g'
])
# _LT_PROG_LTMAIN
# ---------------
# Note that this code is called both from 'configure', and 'config.status'
# now that we use AC_CONFIG_COMMANDS to generate libtool. Notably,
src/subversion/build/libtool.m4 view on Meta::CPAN
## ------------------------ ##
## FIXME: Eliminate VARNAME ##
## ------------------------ ##
# _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?])
# -------------------------------------------------------------------
# CONFIGNAME is the name given to the value in the libtool script.
# VARNAME is the (base) name used in the configure script.
# VALUE may be 0, 1 or 2 for a computed quote escaped value based on
# VARNAME. Any other value will be used directly.
m4_define([_LT_DECL],
[lt_if_append_uniq([lt_decl_varnames], [$2], [, ],
[lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name],
[m4_ifval([$1], [$1], [$2])])
lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3])
m4_ifval([$4],
[lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])])
lt_dict_add_subkey([lt_decl_dict], [$2],
[tagged?], [m4_ifval([$5], [yes], [no])])])
src/subversion/build/libtool.m4 view on Meta::CPAN
# _LT_TAGVAR(VARNAME, [TAGNAME])
# ------------------------------
m4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])])
# _LT_CONFIG_COMMANDS
# -------------------
# Send accumulated output to $CONFIG_STATUS. Thanks to the lists of
# variables for single and double quote escaping we saved from calls
# to _LT_DECL, we can put quote escaped variables declarations
# into 'config.status', and then the shell code to quote escape them in
# for loops in 'config.status'. Finally, any additional code accumulated
# from calls to _LT_CONFIG_LIBTOOL_INIT is expanded.
m4_defun([_LT_CONFIG_COMMANDS],
[AC_PROVIDE_IFELSE([LT_OUTPUT],
dnl If the libtool generation code has been placed in $CONFIG_LT,
dnl instead of duplicating it all over again into config.status,
dnl then we will have config.status run $CONFIG_LT later, so it
dnl needs to know what name is stored there:
[AC_CONFIG_COMMANDS([libtool],
[$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])],
src/subversion/build/libtool.m4 view on Meta::CPAN
# If TAG is the built-in tag, create an initial libtool script with a
# default configuration from the untagged config vars. Otherwise add code
# to config.status for appending the configuration named by TAG from the
# matching tagged config vars.
m4_defun([_LT_CONFIG],
[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
_LT_CONFIG_SAVE_COMMANDS([
m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl
m4_if(_LT_TAG, [C], [
# See if we are running on zsh, and set the options that allow our
# commands through without removal of \ escapes.
if test -n "${ZSH_VERSION+set}"; then
setopt NO_GLOB_SUBST
fi
cfgfile=${ofile}T
trap "$RM \"$cfgfile\"; exit 1" 1 2 15
$RM "$cfgfile"
cat <<_LT_EOF >> "$cfgfile"
#! $SHELL
src/subversion/build/ltmain.sh view on Meta::CPAN
# Same as above, but do not quote variable references.
sed_double_quote_subst='s/\(["`\\]\)/\\\1/g'
# Sed substitution that turns a string into a regex matching for the
# string literally.
sed_make_literal_regex='s|[].[^$\\*\/]|\\&|g'
# Sed substitution that converts a w32 file name or path
# that contains forward slashes, into one that contains
# (escaped) backslashes. A very naive implementation.
sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g'
# Re-'\' parameter expansions in output of sed_double_quote_subst that
# were '\'-ed in input to the same. If an odd number of '\' preceded a
# '$' in input to sed_double_quote_subst, that '$' was protected from
# expansion. Since each input '\' is now two '\'s, look for any number
# of runs of four '\'s followed by two '\'s and then a '$'. '\' that '$'.
_G_bs='\\'
_G_bs2='\\\\'
_G_bs4='\\\\\\\\'
src/subversion/build/ltmain.sh view on Meta::CPAN
{
$debug_cmd
test -t 1 && {
# COLORTERM and USE_ANSI_COLORS environment variables take
# precedence, because most terminfo databases neglect to describe
# whether color sequences are supported.
test -n "${COLORTERM+set}" && : ${USE_ANSI_COLORS="1"}
if test 1 = "$USE_ANSI_COLORS"; then
# Standard ANSI escape sequences
tc_reset='[0m'
tc_bold='[1m'; tc_standout='[7m'
tc_red='[31m'; tc_green='[32m'
tc_blue='[34m'; tc_cyan='[36m'
else
# Otherwise trust the terminfo database after all.
test -n "`tput sgr0 2>/dev/null`" && {
tc_reset=`tput sgr0`
test -n "`tput bold 2>/dev/null`" && tc_bold=`tput bold`
tc_standout=$tc_bold
src/subversion/build/ltmain.sh view on Meta::CPAN
{
$debug_cmd
$require_term_colors
_G_infix=$1; shift
_G_indent=$_G_infix
_G_prefix="$progname: $_G_infix: "
_G_message=$*
# Strip color escape sequences before counting printable length
for _G_tc in "$tc_reset" "$tc_bold" "$tc_standout" "$tc_red" "$tc_green" "$tc_blue" "$tc_cyan"
do
test -n "$_G_tc" && {
_G_esc_tc=`$ECHO "$_G_tc" | $SED "$sed_make_literal_regex"`
_G_indent=`$ECHO "$_G_indent" | $SED "s|$_G_esc_tc||g"`
}
done
_G_indent="$progname: "`echo "$_G_indent" | $SED 's|.| |g'`" " ## exclude from sc_prohibit_nested_quotes
func_echo_infix_1_IFS=$IFS
src/subversion/build/ltmain.sh view on Meta::CPAN
## --------------- ##
## Option parsing. ##
## --------------- ##
# In order to add your own option parsing hooks, you must accept the
# full positional parameter list in your hook function, remove any
# options that you action, and then pass back the remaining unprocessed
# options in '<hooked_function_name>_result', escaped suitably for
# 'eval'. Like this:
#
# my_options_prep ()
# {
# $debug_cmd
#
# # Extend the existing usage message.
# usage_message=$usage_message'
# -s, --silent don'\''t print informational messages
# '
src/subversion/build/ltmain.sh view on Meta::CPAN
({ OSVERSIONINFO v; v.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
GetVersionEx(&v);
v.dwPlatformId == VER_PLATFORM_WIN32_NT;
}) ? "cmd.exe" : "command.com").
Instead it simply concatenates the arguments, separated by ' ', and calls
CreateProcess(). We must quote the arguments since Win32 CreateProcess()
interprets characters like ' ', '\t', '\\', '"' (but not '<' and '>') in a
special way:
- Space and tab are interpreted as delimiters. They are not treated as
delimiters if they are surrounded by double quotes: "...".
- Unescaped double quotes are removed from the input. Their only effect is
that within double quotes, space and tab are treated like normal
characters.
- Backslashes not followed by double quotes are not special.
- But 2*n+1 backslashes followed by a double quote become
n backslashes followed by a double quote (n >= 0):
\" -> "
\\\" -> \"
\\\\\" -> \\"
*/
#define SHELL_SPECIAL_CHARS "\"\\ \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037"
src/subversion/build/transform_sql.py view on Meta::CPAN
r" THEN " +
r"CASE WHEN LENGTH(\1) = LENGTH(\2) THEN '' " +
r"WHEN SUBSTR((\2), LENGTH(\1)+1, 1) = '/' " +
r"THEN SUBSTR((\2), LENGTH(\1)+2) " +
r"END" +
r" END)",
line)
# Another preprocessing.
for symbol, string in self.token_map.iteritems():
# ### This doesn't sql-escape 'string'
line = re.sub(r'\b%s\b' % re.escape(symbol), "'%s'" % string, line)
if line.strip():
handled = False
for regex, handler in self._directives.iteritems():
match = regex.match(line)
if match:
handler(match)
handled = True
break
src/subversion/configure view on Meta::CPAN
ltmain=$ac_aux_dir/ltmain.sh
# Backslashify metacharacters that are still active within
# double-quoted strings.
sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
# Same as above, but do not quote variable references.
double_quote_subst='s/\(["`\\]\)/\\\1/g'
# Sed substitution to delay expansion of an escaped shell variable in a
# double_quote_subst'ed string.
delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
# Sed substitution to delay expansion of an escaped single quote.
delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
# Sed substitution to avoid accidental globbing in evaled expressions
no_glob_subst='s/\*/\\\*/g'
ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5
src/subversion/configure view on Meta::CPAN
;;
*)
eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
;;
esac
done
ac_aux_dir='$ac_aux_dir'
# See if we are running on zsh, and set the options that allow our
# commands through without removal of \ escapes INIT.
if test -n "\${ZSH_VERSION+set}"; then
setopt NO_GLOB_SUBST
fi
PACKAGE='$PACKAGE'
VERSION='$VERSION'
RM='$RM'
ofile='$ofile'
src/subversion/configure view on Meta::CPAN
:C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5
$as_echo "$as_me: executing $ac_file commands" >&6;}
;;
esac
case $ac_file$ac_mode in
"libtool":C)
# See if we are running on zsh, and set the options that allow our
# commands through without removal of \ escapes.
if test -n "${ZSH_VERSION+set}"; then
setopt NO_GLOB_SUBST
fi
cfgfile=${ofile}T
trap "$RM \"$cfgfile\"; exit 1" 1 2 15
$RM "$cfgfile"
cat <<_LT_EOF >> "$cfgfile"
#! $SHELL
src/subversion/subversion/bindings/javahl/native/JNIUtil.cpp view on Meta::CPAN
svn_error_t *JNIUtil::preprocessPath(const char *&path, apr_pool_t *pool)
{
/* URLs and wc-paths get treated differently. */
if (svn_path_is_url(path))
{
/* No need to canonicalize a URL's case or path separators. */
/* Convert to URI. */
path = svn_path_uri_from_iri(path, pool);
/* Auto-escape some ASCII characters. */
path = svn_path_uri_autoescape(path, pool);
/* The above doesn't guarantee a valid URI. */
if (! svn_path_is_uri_safe(path))
return svn_error_createf(SVN_ERR_BAD_URL, NULL,
_("URL '%s' is not properly URI-encoded"),
path);
/* Verify that no backpaths are present in the URL. */
if (svn_path_is_backpath_present(path))
return svn_error_createf(SVN_ERR_BAD_URL, NULL,
src/subversion/subversion/bindings/javahl/native/SVNBase.cpp view on Meta::CPAN
return 0;
return cppAddr;
}
}
void SVNBase::finalize()
{
// This object should've already been disposed of!
if (JNIUtil::getLogLevel() >= JNIUtil::errorLog)
JNIUtil::logMessage("An SVNBase object escaped disposal");
JNIUtil::enqueueForDeletion(this);
}
void SVNBase::dispose(jobject jthis, jfieldID *fid, const char *className)
{
delete this;
JNIEnv *env = JNIUtil::getEnv();
SVNBase::findCppAddrFieldID(fid, className, env);
if (*fid == 0)
src/subversion/subversion/bindings/swig/core.i view on Meta::CPAN
%ignore svn_path_is_backpath_present;
%ignore svn_path_is_child;
%ignore svn_path_is_ancestor;
%ignore svn_path_check_valid;
// svn_path_is_url;
// svn_path_is_uri_safe;
%ignore svn_path_uri_encode;
%ignore svn_path_uri_decode;
%ignore svn_path_url_add_component;
%ignore svn_path_uri_from_iri;
%ignore svn_path_uri_autoescape;
%ignore svn_path_cstring_from_utf8;
%ignore svn_path_cstring_to_utf8;
/* svn_dirent_uri.h: SWIG can't digest these functions yet, so ignore them
* for now. TODO: make them work.
*/
%ignore svn_dirent_join_many;
%ignore svn_dirent_condense_targets;
%ignore svn_uri_condense_targets;
%ignore svn_dirent_is_under_root;
src/subversion/subversion/bindings/swig/perl/native/core.c view on Meta::CPAN
fail:
if (alloc2 == SWIG_NEWOBJ) free((char*)buf2);
if (alloc3 == SWIG_NEWOBJ) free((char*)buf3);
SWIG_croak_null();
}
}
XS(_wrap_svn_path_illegal_path_escape) {
{
char *arg1 = (char *) 0 ;
apr_pool_t *arg2 = (apr_pool_t *) 0 ;
apr_pool_t *_global_pool ;
int res1 ;
char *buf1 = 0 ;
int alloc1 = 0 ;
int argvi = 0;
char *result = 0 ;
dXSARGS;
{
_global_pool = arg2 = svn_swig_pl_make_pool (ST(items-1));
}
if ((items < 1) || (items > 2)) {
SWIG_croak("Usage: svn_path_illegal_path_escape(path,pool);");
}
res1 = SWIG_AsCharPtrAndSize(ST(0), &buf1, NULL, &alloc1);
if (!SWIG_IsOK(res1)) {
SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "svn_path_illegal_path_escape" "', argument " "1"" of type '" "char const *""'");
}
arg1 = (char *)(buf1);
if (items > 1) {
}
{
result = (char *)svn_path_illegal_path_escape((char const *)arg1,arg2);
}
ST(argvi) = SWIG_FromCharPtr((const char *)result); argvi++ ;
if (alloc1 == SWIG_NEWOBJ) free((char*)buf1);
XSRETURN(argvi);
fail:
if (alloc1 == SWIG_NEWOBJ) free((char*)buf1);
src/subversion/subversion/bindings/swig/perl/native/core.c view on Meta::CPAN
{"SVN::_Core::svn_path_canonicalize", _wrap_svn_path_canonicalize},
{"SVN::_Core::svn_path_is_canonical", _wrap_svn_path_is_canonical},
{"SVN::_Core::svn_path_compare_paths", _wrap_svn_path_compare_paths},
{"SVN::_Core::svn_path_get_longest_ancestor", _wrap_svn_path_get_longest_ancestor},
{"SVN::_Core::svn_path_is_dotpath_present", _wrap_svn_path_is_dotpath_present},
{"SVN::_Core::svn_path_is_url", _wrap_svn_path_is_url},
{"SVN::_Core::svn_path_is_uri_safe", _wrap_svn_path_is_uri_safe},
{"SVN::_Core::svn_path_url_add_component2", _wrap_svn_path_url_add_component2},
{"SVN::_Core::svn_path_is_repos_relative_url", _wrap_svn_path_is_repos_relative_url},
{"SVN::_Core::svn_path_resolve_repos_relative_url", _wrap_svn_path_resolve_repos_relative_url},
{"SVN::_Core::svn_path_illegal_path_escape", _wrap_svn_path_illegal_path_escape},
{"SVN::_Core::svn_dirent_internal_style", _wrap_svn_dirent_internal_style},
{"SVN::_Core::svn_dirent_local_style", _wrap_svn_dirent_local_style},
{"SVN::_Core::svn_relpath__internal_style", _wrap_svn_relpath__internal_style},
{"SVN::_Core::svn_dirent_join", _wrap_svn_dirent_join},
{"SVN::_Core::svn_relpath_join", _wrap_svn_relpath_join},
{"SVN::_Core::svn_dirent_basename", _wrap_svn_dirent_basename},
{"SVN::_Core::svn_dirent_dirname", _wrap_svn_dirent_dirname},
{"SVN::_Core::svn_dirent_split", _wrap_svn_dirent_split},
{"SVN::_Core::svn_relpath_split", _wrap_svn_relpath_split},
{"SVN::_Core::svn_relpath_basename", _wrap_svn_relpath_basename},
src/subversion/subversion/bindings/swig/python/core.c view on Meta::CPAN
}
return resultobj;
fail:
{
Py_XDECREF(_global_py_pool);
}
return NULL;
}
SWIGINTERN PyObject *_wrap_svn_path_illegal_path_escape(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
PyObject *resultobj = 0;
char *arg1 = (char *) 0 ;
apr_pool_t *arg2 = (apr_pool_t *) 0 ;
apr_pool_t *_global_pool = NULL ;
PyObject *_global_py_pool = NULL ;
PyObject * obj1 = 0 ;
char *result = 0 ;
if (svn_swig_py_get_pool_arg(args, SWIGTYPE_p_apr_pool_t,
&_global_py_pool, &_global_pool))
SWIG_fail;
arg2 = _global_pool;
if (!PyArg_ParseTuple(args,(char *)"s|O:svn_path_illegal_path_escape",&arg1,&obj1)) SWIG_fail;
if (obj1) {
/* Verify that the user supplied a valid pool */
if (obj1 != Py_None && obj1 != _global_py_pool) {
SWIG_Python_TypeError(SWIG_TypePrettyName(SWIGTYPE_p_apr_pool_t), obj1);
SWIG_arg_fail(svn_argnum_obj1);
SWIG_fail;
}
}
{
svn_swig_py_release_py_lock();
result = (char *)svn_path_illegal_path_escape((char const *)arg1,arg2);
svn_swig_py_acquire_py_lock();
}
resultobj = SWIG_FromCharPtr((const char *)result);
{
Py_XDECREF(_global_py_pool);
}
return resultobj;
fail:
src/subversion/subversion/bindings/swig/python/core.c view on Meta::CPAN
{ (char *)"svn_path_canonicalize", _wrap_svn_path_canonicalize, METH_VARARGS, (char *)"svn_path_canonicalize(char const * path, apr_pool_t pool) -> char const *"},
{ (char *)"svn_path_is_canonical", _wrap_svn_path_is_canonical, METH_VARARGS, (char *)"svn_path_is_canonical(char const * path, apr_pool_t pool) -> svn_boolean_t"},
{ (char *)"svn_path_compare_paths", _wrap_svn_path_compare_paths, METH_VARARGS, (char *)"svn_path_compare_paths(char const * path1, char const * path2) -> int"},
{ (char *)"svn_path_get_longest_ancestor", _wrap_svn_path_get_longest_ancestor, METH_VARARGS, (char *)"svn_path_get_longest_ancestor(char const * path1, char const * path2, apr_pool_t pool) -> char *"},
{ (char *)"svn_path_is_dotpath_present", _wrap_svn_path_is_dotpath_present, METH_VARARGS, (char *)"svn_path_is_dotpath_present(char const * path) -> svn_boolean_t"},
{ (char *)"svn_path_is_url", _wrap_svn_path_is_url, METH_VARARGS, (char *)"svn_path_is_url(char const * path) -> svn_boolean_t"},
{ (char *)"svn_path_is_uri_safe", _wrap_svn_path_is_uri_safe, METH_VARARGS, (char *)"svn_path_is_uri_safe(char const * path) -> svn_boolean_t"},
{ (char *)"svn_path_url_add_component2", _wrap_svn_path_url_add_component2, METH_VARARGS, (char *)"svn_path_url_add_component2(char const * url, char const * component, apr_pool_t pool) -> char const *"},
{ (char *)"svn_path_is_repos_relative_url", _wrap_svn_path_is_repos_relative_url, METH_VARARGS, (char *)"svn_path_is_repos_relative_url(char const * path) -> svn_boolean_t"},
{ (char *)"svn_path_resolve_repos_relative_url", _wrap_svn_path_resolve_repos_relative_url, METH_VARARGS, (char *)"svn_path_resolve_repos_relative_url(char const * relative_url, char const * repos_root_url, apr_pool_t pool) -> svn_error_t"},
{ (char *)"svn_path_illegal_path_escape", _wrap_svn_path_illegal_path_escape, METH_VARARGS, (char *)"svn_path_illegal_path_escape(char const * path, apr_pool_t pool) -> char const *"},
{ (char *)"svn_dirent_internal_style", _wrap_svn_dirent_internal_style, METH_VARARGS, (char *)"svn_dirent_internal_style(char const * dirent, apr_pool_t result_pool) -> char const *"},
{ (char *)"svn_dirent_local_style", _wrap_svn_dirent_local_style, METH_VARARGS, (char *)"svn_dirent_local_style(char const * dirent, apr_pool_t result_pool) -> char const *"},
{ (char *)"svn_relpath__internal_style", _wrap_svn_relpath__internal_style, METH_VARARGS, (char *)"svn_relpath__internal_style(char const * relpath, apr_pool_t result_pool) -> char const *"},
{ (char *)"svn_dirent_join", _wrap_svn_dirent_join, METH_VARARGS, (char *)"svn_dirent_join(char const * base, char const * component, apr_pool_t result_pool) -> char *"},
{ (char *)"svn_relpath_join", _wrap_svn_relpath_join, METH_VARARGS, (char *)"svn_relpath_join(char const * base, char const * component, apr_pool_t result_pool) -> char *"},
{ (char *)"svn_dirent_basename", _wrap_svn_dirent_basename, METH_VARARGS, (char *)"svn_dirent_basename(char const * dirent, apr_pool_t result_pool) -> char const *"},
{ (char *)"svn_dirent_dirname", _wrap_svn_dirent_dirname, METH_VARARGS, (char *)"svn_dirent_dirname(char const * dirent, apr_pool_t result_pool) -> char *"},
{ (char *)"svn_dirent_split", _wrap_svn_dirent_split, METH_VARARGS, (char *)"svn_dirent_split(char const * dirent, apr_pool_t result_pool)"},
{ (char *)"svn_relpath_split", _wrap_svn_relpath_split, METH_VARARGS, (char *)"svn_relpath_split(char const * relpath, apr_pool_t result_pool)"},
{ (char *)"svn_relpath_basename", _wrap_svn_relpath_basename, METH_VARARGS, (char *)"svn_relpath_basename(char const * relpath, apr_pool_t result_pool) -> char const *"},
src/subversion/subversion/bindings/swig/python/core.py view on Meta::CPAN
return _core.svn_path_url_add_component2(*args)
def svn_path_is_repos_relative_url(*args):
"""svn_path_is_repos_relative_url(char const * path) -> svn_boolean_t"""
return _core.svn_path_is_repos_relative_url(*args)
def svn_path_resolve_repos_relative_url(*args):
"""svn_path_resolve_repos_relative_url(char const * relative_url, char const * repos_root_url, apr_pool_t pool) -> svn_error_t"""
return _core.svn_path_resolve_repos_relative_url(*args)
def svn_path_illegal_path_escape(*args):
"""svn_path_illegal_path_escape(char const * path, apr_pool_t pool) -> char const *"""
return _core.svn_path_illegal_path_escape(*args)
def svn_dirent_internal_style(*args):
"""svn_dirent_internal_style(char const * dirent, apr_pool_t result_pool) -> char const *"""
return _core.svn_dirent_internal_style(*args)
def svn_dirent_local_style(*args):
"""svn_dirent_local_style(char const * dirent, apr_pool_t result_pool) -> char const *"""
return _core.svn_dirent_local_style(*args)
def svn_relpath__internal_style(*args):
src/subversion/subversion/bindings/swig/python/svn/core.py view on Meta::CPAN
# ============================================================================
# Variations on this code are used in other places:
# - subversion/build/generator/gen_win.py
# - cvs2svn/cvs2svn
# Names that are not to be exported
import sys as _sys
if _sys.platform == "win32":
import re as _re
_escape_shell_arg_re = _re.compile(r'(\\+)(\"|$)')
def escape_shell_arg(arg):
# The (very strange) parsing rules used by the C runtime library are
# described at:
# http://msdn.microsoft.com/library/en-us/vclang/html/_pluslang_Parsing_C.2b2b_.Command.2d.Line_Arguments.asp
# double up slashes, but only if they are followed by a quote character
arg = _re.sub(_escape_shell_arg_re, r'\1\1\2', arg)
# surround by quotes and escape quotes inside
arg = '"' + arg.replace('"', '"^""') + '"'
return arg
def argv_to_command_string(argv):
"""Flatten a list of command line arguments into a command string.
The resulting command string is expected to be passed to the system
shell which os functions like popen() and system() invoke internally.
"""
# According cmd's usage notes (cmd /?), it parses the command line by
# "seeing if the first character is a quote character and if so, stripping
# the leading character and removing the last quote character."
# So to prevent the argument string from being changed we add an extra set
# of quotes around it here.
return '"' + " ".join(map(escape_shell_arg, argv)) + '"'
else:
def escape_shell_arg(str):
return "'" + str.replace("'", "'\\''") + "'"
def argv_to_command_string(argv):
"""Flatten a list of command line arguments into a command string.
The resulting command string is expected to be passed to the system
shell which os functions like popen() and system() invoke internally.
"""
return " ".join(map(escape_shell_arg, argv))
# ============================================================================
# Deprecated functions
def apr_initialize():
"""Deprecated. APR is now initialized automatically. This is
a compatibility wrapper providing the interface of the
Subversion 1.2.x and earlier bindings."""
pass
def apr_terminate():
src/subversion/subversion/bindings/swig/ruby/core.c view on Meta::CPAN
target = _global_vresult_address == &vresult ? self : vresult;
if (!svn_swig_rb_set_pool(target, _global_svn_swig_rb_pool))
svn_swig_rb_destroy_pool(_global_svn_swig_rb_pool);
svn_swig_rb_pop_pool(_global_svn_swig_rb_pool);
}
return Qnil;
}
SWIGINTERN VALUE
_wrap_svn_path_illegal_path_escape(int argc, VALUE *argv, VALUE self) {
char *arg1 = (char *) 0 ;
apr_pool_t *arg2 = (apr_pool_t *) 0 ;
VALUE _global_svn_swig_rb_pool ;
apr_pool_t *_global_pool ;
int res1 ;
char *buf1 = 0 ;
int alloc1 = 0 ;
char *result = 0 ;
VALUE vresult = Qnil;
{
svn_swig_rb_get_pool(argc, argv, self, &_global_svn_swig_rb_pool, &arg2);
_global_pool = arg2;
svn_swig_rb_push_pool(_global_svn_swig_rb_pool);
}
if ((argc < 1) || (argc > 2)) {
rb_raise(rb_eArgError, "wrong # of arguments(%d for 1)",argc); SWIG_fail;
}
res1 = SWIG_AsCharPtrAndSize(argv[0], &buf1, NULL, &alloc1);
if (!SWIG_IsOK(res1)) {
SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "char const *","svn_path_illegal_path_escape", 1, argv[0] ));
}
arg1 = (char *)(buf1);
if (argc > 1) {
}
{
result = (char *)svn_path_illegal_path_escape((char const *)arg1,arg2);
}
{
if (result) {
vresult = rb_str_new2(result);
} else {
vresult = Qnil;
}
src/subversion/subversion/bindings/swig/ruby/core.c view on Meta::CPAN
rb_define_module_function(mCore, "svn_path_canonicalize", _wrap_svn_path_canonicalize, -1);
rb_define_module_function(mCore, "svn_path_is_canonical", _wrap_svn_path_is_canonical, -1);
rb_define_module_function(mCore, "svn_path_compare_paths", _wrap_svn_path_compare_paths, -1);
rb_define_module_function(mCore, "svn_path_get_longest_ancestor", _wrap_svn_path_get_longest_ancestor, -1);
rb_define_module_function(mCore, "svn_path_is_dotpath_present", _wrap_svn_path_is_dotpath_present, -1);
rb_define_module_function(mCore, "svn_path_is_url", _wrap_svn_path_is_url, -1);
rb_define_module_function(mCore, "svn_path_is_uri_safe", _wrap_svn_path_is_uri_safe, -1);
rb_define_module_function(mCore, "svn_path_url_add_component2", _wrap_svn_path_url_add_component2, -1);
rb_define_module_function(mCore, "svn_path_is_repos_relative_url", _wrap_svn_path_is_repos_relative_url, -1);
rb_define_module_function(mCore, "svn_path_resolve_repos_relative_url", _wrap_svn_path_resolve_repos_relative_url, -1);
rb_define_module_function(mCore, "svn_path_illegal_path_escape", _wrap_svn_path_illegal_path_escape, -1);
rb_define_module_function(mCore, "svn_dirent_internal_style", _wrap_svn_dirent_internal_style, -1);
rb_define_module_function(mCore, "svn_dirent_local_style", _wrap_svn_dirent_local_style, -1);
rb_define_module_function(mCore, "svn_relpath__internal_style", _wrap_svn_relpath__internal_style, -1);
rb_define_module_function(mCore, "svn_dirent_join", _wrap_svn_dirent_join, -1);
rb_define_module_function(mCore, "svn_relpath_join", _wrap_svn_relpath_join, -1);
rb_define_module_function(mCore, "svn_dirent_basename", _wrap_svn_dirent_basename, -1);
rb_define_module_function(mCore, "svn_dirent_dirname", _wrap_svn_dirent_dirname, -1);
rb_define_module_function(mCore, "svn_dirent_split", _wrap_svn_dirent_split, -1);
rb_define_module_function(mCore, "svn_relpath_split", _wrap_svn_relpath_split, -1);
rb_define_module_function(mCore, "svn_relpath_basename", _wrap_svn_relpath_basename, -1);
src/subversion/subversion/bindings/swig/ruby/svn/commit-mailer.rb view on Meta::CPAN
base_rss.items.each do |item|
item.setup_maker(maker)
end
end
diff_info.each do |name, infos|
infos.each do |desc, link|
item = maker.items.new_item
item.title = name
item.description = @info.log
item.content_encoded = "<pre>#{RSS::Utils.html_escape(desc)}</pre>"
item.link = link
item.dc_date = @info.date
item.dc_creator = @info.author
end
end
maker.items.do_sort = true
maker.items.max_size = 15
end
end
src/subversion/subversion/bindings/swig/ruby/svn/synchronizer.rb view on Meta::CPAN
@opened_root = false
end
def open_root(base_revision)
@opened_root = true
super
end
def add_directory(path, parent_baton, copy_from_path, copy_from_rev)
if copy_from_path
copy_from_path = "#{@dest_url}#{CGI.escape(copy_from_path)}"
end
super(path, parent_baton, copy_from_path, copy_from_rev)
end
def add_file(path, parent_baton, copy_from_path, copy_from_rev)
if copy_from_path
copy_from_path = "#{@dest_url}#{CGI.escape(copy_from_path)}"
end
super(path, parent_baton, copy_from_path, copy_from_rev)
end
def close_edit
unless @opened_root
baton = @wrapped_editor.open_root(@base_revision)
@wrapped_editor.close_directory(baton)
end
super
src/subversion/subversion/bindings/swig/ruby/test/test-unit-ext/priority.rb view on Meta::CPAN
end
end
private
def previous_test_success?
File.exist?(passed_file)
end
def result_dir
dir = File.join(File.dirname($0), ".test-result",
self.class.name, escaped_method_name)
dir = File.expand_path(dir)
FileUtils.mkdir_p(dir)
dir
end
def passed_file
File.join(result_dir, "passed")
end
def escaped_method_name
@method_name.to_s.gsub(/[!?]$/) do |matched|
case matched
when "!"
".destructive"
when "?"
".predicate"
end
end
end
end
src/subversion/subversion/bindings/swig/ruby/test/windows_util.rb view on Meta::CPAN
require 'fileutils'
module SvnTestUtil
module Windows
module Svnserve
def service_name
"test-svn-server--port-#{@svnserve_port}"
end
class << self
def escape_value(value)
escaped_value = value.gsub(/"/, '\\"') # "
"\"#{escaped_value}\""
end
end
def service_control(command, args={})
args = args.collect do |key, value|
"#{key}= #{Svnserve.escape_value(value)}"
end.join(" ")
result = `sc #{command} #{service_name} #{args}`
if result.match(/FAILED/)
raise "Failed to #{command} #{service_name}: #{args}"
end
/^\s*STATE\s*:\s\d+\s*(.*?)\s*$/ =~ result
$1
end
def grant_everyone_full_access(dir)
dir = dir.tr(File::SEPARATOR, File::ALT_SEPARATOR)
`cacls #{Svnserve.escape_value(dir)} /T /E /P Everyone:F`
end
def service_exists?
begin
service_control("query")
true
rescue
false
end
end
src/subversion/subversion/bindings/swig/ruby/test/windows_util.rb view on Meta::CPAN
unless targets.empty?
raise "can't find libraries to work svnserve: #{targets.join(' ')}"
end
grant_everyone_full_access(svnserve_dir)
svnserve_path = File.join(svnserve_dir, "svnserve.exe")
svnserve_path = svnserve_path.tr(File::SEPARATOR,
File::ALT_SEPARATOR)
svnserve_path = Svnserve.escape_value(svnserve_path)
root = @full_repos_path.tr(File::SEPARATOR, File::ALT_SEPARATOR)
args = ["--service", "--root", Svnserve.escape_value(root),
"--listen-host", @svnserve_host,
"--listen-port", @svnserve_port]
user = ENV["USERNAME"] || Etc.getlogin
service_control('create',
[["binPath", "#{svnserve_path} #{args.join(' ')}"],
["DisplayName", service_name],
["type", "own"]])
end
service_control('start')
true
src/subversion/subversion/bindings/swig/ruby/test/windows_util.rb view on Meta::CPAN
module SetupEnvironment
def setup_test_environment(top_dir, base_dir, ext_dir)
@@top_dir = top_dir
build_type = ENV["BUILD_TYPE"] || "Release"
FileUtils.mkdir_p(ext_dir)
relative_base_dir =
base_dir.sub(/^#{Regexp.escape(top_dir + File::SEPARATOR)}/, '')
build_base_dir = File.join(top_dir, build_type, relative_base_dir)
dll_dir = File.expand_path(build_base_dir)
subversion_dir = File.join(build_base_dir, "..", "..", "..")
subversion_dir = File.expand_path(subversion_dir)
util_name = "util"
build_conf = File.join(top_dir, "build.conf")
File.open(File.join(ext_dir, "#{util_name}.rb" ), 'w') do |util|
setup_dll_wrapper_util(dll_dir, util)
src/subversion/subversion/include/private/svn_opt_private.h view on Meta::CPAN
*
* If PEG_REVISION is not NULL, return the peg revision in *PEG_REVISION.
* *PEG_REVISION will be an empty string if no peg revision is found.
* Return the true target portion in *TRUE_TARGET.
*
* UTF8_TARGET need not be canonical. *TRUE_TARGET will not be canonical
* unless UTF8_TARGET is.
*
* It is an error if *TRUE_TARGET results in the empty string after the
* split, which happens in case UTF8_TARGET has a leading '@' character
* with no additional '@' characters to escape the first '@'.
*
* Note that *PEG_REVISION will still contain the '@' symbol as the first
* character if a peg revision was found. If a trailing '@' symbol was
* used to escape other '@' characters in UTF8_TARGET, *PEG_REVISION will
* point to the string "@", containing only a single character.
*
* All allocations are done in POOL.
*/
svn_error_t *
svn_opt__split_arg_at_peg_revision(const char **true_target,
const char **peg_revision,
const char *utf8_target,
apr_pool_t *pool);
/* Attempt to transform URL_IN, which is a URL-like user input, into a
* valid URL:
* - escape IRI characters and some other non-URI characters
* - check that no back-path ("..") components are present
* - call svn_uri_canonicalize()
* URL_IN is in UTF-8 encoding and has no peg revision specifier.
* Set *URL_OUT to the result, allocated from POOL.
*/
svn_error_t *
svn_opt__arg_canonicalize_url(const char **url_out,
const char *url_in,
apr_pool_t *pool);
src/subversion/subversion/include/svn_error_codes.h view on Meta::CPAN
SVN_ERRDEF(SVN_ERR_XML_UNKNOWN_ENCODING,
SVN_ERR_XML_CATEGORY_START + 2,
"Unrecognized binary data encoding; can't decode")
SVN_ERRDEF(SVN_ERR_XML_MALFORMED,
SVN_ERR_XML_CATEGORY_START + 3,
"XML data was not well-formed")
SVN_ERRDEF(SVN_ERR_XML_UNESCAPABLE_DATA,
SVN_ERR_XML_CATEGORY_START + 4,
"Data cannot be safely XML-escaped")
/* io errors */
SVN_ERRDEF(SVN_ERR_IO_INCONSISTENT_EOL,
SVN_ERR_IO_CATEGORY_START + 0,
"Inconsistent line ending style")
SVN_ERRDEF(SVN_ERR_IO_UNKNOWN_EOL,
SVN_ERR_IO_CATEGORY_START + 1,
"Unrecognized line ending style")
src/subversion/subversion/include/svn_path.h view on Meta::CPAN
* @since New in 1.1.
*/
const char *
svn_path_uri_from_iri(const char *iri, apr_pool_t *pool);
/**
* URI-encode certain characters in @a uri that are not valid in an URI, but
* doesn't have any special meaning in @a uri at their positions. If no
* characters need escaping, just return @a uri.
*
* @note Currently, this function escapes <, >, ", space, {, }, |, \, ^, and `.
* This may be extended in the future to do context-dependent escaping.
*
* @since New in 1.1.
*/
const char *
svn_path_uri_autoescape(const char *uri, apr_pool_t *pool);
/** @} */
/** Charset conversion stuff
*
* @defgroup svn_path_charset_stuff Charset conversion
* @{
*/
/** Convert @a path_utf8 from UTF-8 to the internal encoding used by APR. */
src/subversion/subversion/include/svn_path.h view on Meta::CPAN
*
* @since New in 1.8.
*/
svn_error_t *
svn_path_resolve_repos_relative_url(const char **absolute_url,
const char *relative_url,
const char *repos_root_url,
apr_pool_t *pool);
/* Return a copy of @a path, allocated from @a pool, for which control
* characters have been escaped using the form \NNN (where NNN is the
* octal representation of the byte's ordinal value).
*
* @since New in 1.8. */
const char *
svn_path_illegal_path_escape(const char *path, apr_pool_t *pool);
/** @} */
#ifdef __cplusplus
}
#endif /* __cplusplus */
#endif /* SVN_PATH_H */
src/subversion/subversion/include/svn_utf.h view on Meta::CPAN
* Improvement is possible, even imminent. The original problem was
* that if you converted a UTF-8 string (say, a log message) into a
* locale that couldn't represent all the characters, you'd just get a
* static placeholder saying "[unconvertible log message]". Then
* Justin Erenkrantz pointed out how on platforms that didn't support
* conversion at all, "svn log" would still fail completely when it
* encountered unconvertible data.
*
* Now for both cases, the caller can at least fall back on this
* function, which converts the message as best it can, substituting
* "?\\XXX" escape codes for the non-ascii characters.
*
* Ultimately, some callers may prefer the iconv "//TRANSLIT" option,
* so when we can detect that at configure time, things will change.
* Also, this should (?) be moved to apr/apu eventually.
*
* See http://subversion.tigris.org/issues/show_bug.cgi?id=807 for
* details.
*/
const char *
svn_utf_cstring_from_utf8_fuzzy(const char *src,
src/subversion/subversion/include/svn_xml.h view on Meta::CPAN
/** <tag ...>, no cosmetic newline */
svn_xml_protect_pcdata,
/** <tag .../> */
svn_xml_self_closing
};
/** Determine if a string of character @a data of length @a len is a
* safe bet for use with the svn_xml_escape_* functions found in this
* header.
*
* Return @c TRUE if it is, @c FALSE otherwise.
*
* Essentially, this function exists to determine whether or not
* simply running a string of bytes through the Subversion XML escape
* routines will produce legitimate XML. It should only be necessary
* for data which might contain bytes that cannot be safely encoded
* into XML (certain control characters, for example).
*/
svn_boolean_t
svn_xml_is_xml_safe(const char *data,
apr_size_t len);
/** Create or append in @a *outstr an xml-escaped version of @a string,
* suitable for output as character data.
*
* If @a *outstr is @c NULL, set @a *outstr to a new stringbuf allocated
* in @a pool, else append to the existing stringbuf there.
*/
void
svn_xml_escape_cdata_stringbuf(svn_stringbuf_t **outstr,
const svn_stringbuf_t *string,
apr_pool_t *pool);
/** Same as svn_xml_escape_cdata_stringbuf(), but @a string is an
* @c svn_string_t.
*/
void
svn_xml_escape_cdata_string(svn_stringbuf_t **outstr,
const svn_string_t *string,
apr_pool_t *pool);
/** Same as svn_xml_escape_cdata_stringbuf(), but @a string is a
* NULL-terminated C string.
*/
void
svn_xml_escape_cdata_cstring(svn_stringbuf_t **outstr,
const char *string,
apr_pool_t *pool);
/** Create or append in @a *outstr an xml-escaped version of @a string,
* suitable for output as an attribute value.
*
* If @a *outstr is @c NULL, set @a *outstr to a new stringbuf allocated
* in @a pool, else append to the existing stringbuf there.
*/
void
svn_xml_escape_attr_stringbuf(svn_stringbuf_t **outstr,
const svn_stringbuf_t *string,
apr_pool_t *pool);
/** Same as svn_xml_escape_attr_stringbuf(), but @a string is an
* @c svn_string_t.
*/
void
svn_xml_escape_attr_string(svn_stringbuf_t **outstr,
const svn_string_t *string,
apr_pool_t *pool);
/** Same as svn_xml_escape_attr_stringbuf(), but @a string is a
* NULL-terminated C string.
*/
void
svn_xml_escape_attr_cstring(svn_stringbuf_t **outstr,
const char *string,
apr_pool_t *pool);
/**
* Return UTF-8 string @a string if it contains no characters that are
* unrepresentable in XML. Else, return a copy of @a string,
* allocated in @a pool, with each unrepresentable character replaced
* by "?\uuu", where "uuu" is the three-digit unsigned decimal value
* of that character.
*
* Neither the input nor the output need be valid XML; however, the
* output can always be safely XML-escaped.
*
* @note The current implementation treats all Unicode characters as
* representable, except for most ASCII control characters (the
* exceptions being CR, LF, and TAB, which are valid in XML). There
* may be other UTF-8 characters that are invalid in XML; see
* http://subversion.tigris.org/servlets/ReadMsg?list=dev&msgNo=90591
* and its thread for details.
*
* @since New in 1.2.
*/
const char *
svn_xml_fuzzy_escape(const char *string,
apr_pool_t *pool);
/*---------------------------------------------------------------*/
/* Generalized Subversion XML Parsing */
/** A generalized Subversion XML parser object */
typedef struct svn_xml_parser_t svn_xml_parser_t;
src/subversion/subversion/libsvn_client/cmdline.c view on Meta::CPAN
/* Attempt to find the repository root url for TARGET, possibly using CTX for
* authentication. If one is found and *ROOT_URL is not NULL, then just check
* that the root url for TARGET matches the value given in *ROOT_URL and
* return an error if it does not. If one is found and *ROOT_URL is NULL then
* set *ROOT_URL to the root url for TARGET, allocated from POOL.
* If a root url is not found for TARGET because it does not exist in the
* repository, then return with no error.
*
* TARGET is a UTF-8 encoded string that is fully canonicalized and escaped.
*/
static svn_error_t *
check_root_url_of_target(const char **root_url,
const char *target,
svn_client_ctx_t *ctx,
apr_pool_t *pool)
{
svn_error_t *err;
const char *tmp_root_url;
const char *truepath;
src/subversion/subversion/libsvn_diff/parse-diff.c view on Meta::CPAN
git_start(enum parse_state *new_state, char *line, svn_patch_t *patch,
apr_pool_t *result_pool, apr_pool_t *scratch_pool)
{
const char *old_path_start;
char *old_path_end;
const char *new_path_start;
const char *new_path_end;
char *new_path_marker;
const char *old_path_marker;
/* ### Add handling of escaped paths
* http://www.kernel.org/pub/software/scm/git/docs/git-diff.html:
*
* TAB, LF, double quote and backslash characters in pathnames are
* represented as \t, \n, \" and \\, respectively. If there is need for
* such substitution then the whole pathname is put in double quotes.
*/
/* Our line should look like this: 'diff --git a/path b/path'.
*
* If we find any deviations from that format, we return with state reset
src/subversion/subversion/libsvn_fs_fs/tree.c view on Meta::CPAN
/* Raise an error if PATH contains a newline because FSFS cannot handle
* such paths. See issue #4340. */
static svn_error_t *
check_newline(const char *path, apr_pool_t *pool)
{
char *c = strchr(path, '\n');
if (c)
return svn_error_createf(SVN_ERR_FS_PATH_SYNTAX, NULL,
_("Invalid control character '0x%02x' in path '%s'"),
(unsigned char)*c, svn_path_illegal_path_escape(path, pool));
return SVN_NO_ERROR;
}
/* Create a new directory named PATH in ROOT. The new directory has
no entries, and no properties. ROOT must be the root of a
transaction, not a revision. Do any necessary temporary allocation
in POOL. */
static svn_error_t *
fs_make_dir(svn_fs_root_t *root,