Alien-SVN

 view release on metacpan or  search on metacpan

src/subversion/CHANGES  view on Meta::CPAN

   * improve unit tests for some fs functions (r1051744, -5, -3185, -241)


Version 1.6.15
(26 Nov 2010, from /branches/1.6.x)
http://svn.apache.org/repos/asf/subversion/tags/1.6.15

  User-visible changes:
   * hide unreadable dirs in mod_dav_svn's GET response (r996884)
   * make 'svnmucc propsetf' actually work (r1005446)
   * limit memory fragmentation in svnserve (r1022675)
   * fix 'svn export' regression from 1.6.13 (r1032970)
   * fix 'svn export' mistakenly uri-encodes paths (issue #3745)
   * fix server-side memory leaks triggered by 'blame -g' (r1032808)
            This has been tracked as CVE-2010-4644
   * prevent crash in mod_dav_svn when using SVNParentPath (r1033166)
            This has been tracked as CVE-2010-4539
   * allow 'log -g' to continue in the face of invalid mergeinfo (issue #3270)
   * filter unreadable paths for 'svn ls' and 'svn co' (r997026, -070, -474)
   * fix abort in 'svn blame -g' (issue #3666)
   * fix file handle leak in ruby bindings (issue #3512)

src/subversion/CHANGES  view on Meta::CPAN

  * resolve symlinks when checking for ~/.subversion (r36023)
  * make default depth of 'svn merge' infinity (r37156)
  * don't allow foreign merges to add foreign mergeinfo (issue #3383)
  * error if attempting to reintegrate to/from the repo root (r37385)
  * let 'svnadmin load' tolerate mergeinfo with "\r\n" (r37768)
  * improve memory performance in 'svn merge' (issue #3393)
  * fixed: 'SVNPathAuthz short_circuit' unsolicited read access (issue #3695)
           See CVE-2010-3315, and descriptive advisory at
           http://subversion.apache.org/security/CVE-2010-3315-advisory.txt
  * prevent crash in mod_dav_svn when using SVNParentPath (r1033166)
  * limit memory fragmentation in svnserve (r1022675)
  * fix server-side memory leaks triggered by 'blame -g' (r1032808)
  * perform MIME type matching case-insensitively (issue #3479)
  * respect Apache's ServerSignature directive (r880082)
  * error early if attempting to use Serf >= 0.4.0 (r1041545)

 Developer-visible changes:
  * fix pointer dereference (r36783)
  * fix error leak (r36860)
  * make basic_tests 12 compatible with Windows and Python 2.5+ (r35930)

src/subversion/build/libtool.m4  view on Meta::CPAN

    [[The coded name of the library, if different from the real name]])
_LT_DECL([], [install_override_mode], [1],
    [Permission mode override for installation of shared libraries])
_LT_DECL([], [postinstall_cmds], [2],
    [Command to use after installation of a shared archive])
_LT_DECL([], [postuninstall_cmds], [2],
    [Command to use after uninstallation of a shared archive])
_LT_DECL([], [finish_cmds], [2],
    [Commands used to finish a libtool library installation in a directory])
_LT_DECL([], [finish_eval], [1],
    [[As "finish_cmds", except a single script fragment to be evaled but
    not shown]])
_LT_DECL([], [hardcode_into_libs], [0],
    [Whether we should hardcode library paths into libraries])
_LT_DECL([], [sys_lib_search_path_spec], [2],
    [Compile-time system search path for libraries])
_LT_DECL([], [sys_lib_dlsearch_path_spec], [2],
    [Run-time system search path for libraries])
])# _LT_SYS_DYNAMIC_LINKER


src/subversion/build/libtool.m4  view on Meta::CPAN

      ;;

    interix[[3-9]]*)
      _LT_TAGVAR(hardcode_direct, $1)=no
      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
      _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
      # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
      # Instead, shared libraries are loaded at an image base (0x10000000 by
      # default) and relocated if they conflict, which is a slow very memory
      # consuming and fragmenting process.  To avoid this, we pick a random,
      # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
      # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
      _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
      _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ...
      ;;

    gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
      tmp_diet=no
      if test linux-dietlibc = "$host_os"; then
	case $cc_basename in

src/subversion/build/libtool.m4  view on Meta::CPAN

        ;;

      interix[[3-9]]*)
	_LT_TAGVAR(hardcode_direct, $1)=no
	_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
	_LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
	# Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
	# Instead, shared libraries are loaded at an image base (0x10000000 by
	# default) and relocated if they conflict, which is a slow very memory
	# consuming and fragmenting process.  To avoid this, we pick a random,
	# 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
	# time.  Moving up from 0x10000000 also allows more sbrk(2) space.
	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
	_LT_TAGVAR(archive_expsym_cmds, $1)='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RAN...
	;;
      irix5* | irix6*)
        case $cc_basename in
          CC*)
	    # SGI C++
	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_loca...

src/subversion/configure  view on Meta::CPAN

      ;;

    interix[3-9]*)
      hardcode_direct=no
      hardcode_shlibpath_var=no
      hardcode_libdir_flag_spec='$wl-rpath,$libdir'
      export_dynamic_flag_spec='$wl-E'
      # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
      # Instead, shared libraries are loaded at an image base (0x10000000 by
      # default) and relocated if they conflict, which is a slow very memory
      # consuming and fragmenting process.  To avoid this, we pick a random,
      # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
      # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
      archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
      archive_expsym_cmds='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4...
      ;;

    gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
      tmp_diet=no
      if test linux-dietlibc = "$host_os"; then
	case $cc_basename in

src/subversion/configure  view on Meta::CPAN

        ;;

      interix[3-9]*)
	hardcode_direct_CXX=no
	hardcode_shlibpath_var_CXX=no
	hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir'
	export_dynamic_flag_spec_CXX='$wl-E'
	# Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
	# Instead, shared libraries are loaded at an image base (0x10000000 by
	# default) and relocated if they conflict, which is a slow very memory
	# consuming and fragmenting process.  To avoid this, we pick a random,
	# 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
	# time.  Moving up from 0x10000000 also allows more sbrk(2) space.
	archive_cmds_CXX='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
	archive_expsym_cmds_CXX='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 40...
	;;
      irix5* | irix6*)
        case $cc_basename in
          CC*)
	    # SGI C++
	    archive_cmds_CXX='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $li...

src/subversion/configure  view on Meta::CPAN


# Command to use after installation of a shared archive.
postinstall_cmds=$lt_postinstall_cmds

# Command to use after uninstallation of a shared archive.
postuninstall_cmds=$lt_postuninstall_cmds

# Commands used to finish a libtool library installation in a directory.
finish_cmds=$lt_finish_cmds

# As "finish_cmds", except a single script fragment to be evaled but
# not shown.
finish_eval=$lt_finish_eval

# Whether we should hardcode library paths into libraries.
hardcode_into_libs=$hardcode_into_libs

# Compile-time system search path for libraries.
sys_lib_search_path_spec=$lt_sys_lib_search_path_spec

# Run-time system search path for libraries.

src/subversion/doc/doxygen.conf  view on Meta::CPAN


INHERIT_DOCS           = YES

# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce
# a new page for each member. If set to NO, the documentation of a member will
# be part of the file/class/namespace that contains it.

SEPARATE_MEMBER_PAGES  = NO

# The TAB_SIZE tag can be used to set the number of spaces in a tab.
# Doxygen uses this value to replace tabs by spaces in code fragments.

TAB_SIZE               = 8

# This tag can be used to specify a number of aliases that acts
# as commands in the documentation. An alias has the form "name=value".
# For example adding "sideeffect=\par Side Effects:\n" will allow you to
# put the command \sideeffect (or @sideeffect) in the documentation, which
# will result in a user-defined paragraph with heading "Side Effects:".
# You can put \n's in the value part of an alias to insert newlines.

src/subversion/doc/doxygen.conf  view on Meta::CPAN


# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names
# (namespaces, classes, functions, etc.) that should be excluded from the
# output. The symbol name can be a fully qualified name, a word, or if the
# wildcard * is used, a substring. Examples: ANamespace, AClass,
# AClass::ANamespace, ANamespace::*Test

EXCLUDE_SYMBOLS        =

# The EXAMPLE_PATH tag can be used to specify one or more files or
# directories that contain example code fragments that are included (see
# the \include command).

EXAMPLE_PATH           =

# If the value of the EXAMPLE_PATH tag contains directories, you can use the
# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
# and *.h) to filter out the source-files in the directories. If left
# blank all files are included.

EXAMPLE_PATTERNS       =

src/subversion/doc/doxygen.conf  view on Meta::CPAN


SOURCE_BROWSER         = YES

# Setting the INLINE_SOURCES tag to YES will include the body
# of functions and classes directly in the documentation.

INLINE_SOURCES         = NO

# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct
# doxygen to hide any special comment blocks from generated source code
# fragments. Normal C and C++ comments will always remain visible.

STRIP_CODE_COMMENTS    = NO

# If the REFERENCED_BY_RELATION tag is set to YES
# then for each documented function all documented
# functions referencing it will be listed.

REFERENCED_BY_RELATION = YES

# If the REFERENCES_RELATION tag is set to YES

src/subversion/doc/programmer/WritingChangeLogs.txt  view on Meta::CPAN

changes that have no effect on the source, like formatting tweaks.

In order to keep the ChangeLog a manageable size, at the beginning of
each year, the ChangeLog should be renamed to "ChangeLog-YYYY", and a
fresh ChangeLog file started.


How to write ChangeLog entries
------------------------------

ChangeLog entries should be full sentences, not sentence fragments.
Fragments are more often ambiguous, and it takes only a few more
seconds to write out what you mean.  Fragments like `New file' or `New
function' are acceptable, because they are standard idioms, and all
further details should appear in the source code.

The log entry should mention every file changed.  It should also
mention by name every function, variable, macro, makefile target,
grammar rule, etc. you changed.  However, there are common-sense
exceptions:

src/subversion/doc/user/lj_article.txt  view on Meta::CPAN

opens an authenticated session with a particular repository.  It then
asks the repository for a certain tree, and sends this tree into the
working-copy library, which then writes a full working copy to disk
(SVN/ directories and all.)

The client library is designed to be used by any application.  While
the Subversion source code includes a standard command-line client, it
should be very easy to write any number of GUI clients on top of the
client library.  Hopefully, these GUIs should someday prove to be much
better than the current crop of CVS GUI applications (the majority of
which are no more than fragile "wrappers" around the CVS command-line
client.)

In addition, proper SWIG bindings (www.swig.org) should make
the Subversion API available to any number of languages:  java, perl,
python, guile, and so on.  In order to Subvert CVS, it helps to be
ubiquitous! 


Subversion's Future
-------------------

src/subversion/subversion/bindings/swig/core.i  view on Meta::CPAN

#endif

/* ----------------------------------------------------------------------- */

%include svn_error_codes_h.swg
%include svn_time_h.swg
%include svn_types_h.swg
%include svn_pools_h.swg
%include svn_version_h.swg

/* The constant SVN_PROP_REVISION_ALL_PROPS is a C fragment, not a single
   data value, so the SWIG parser will raise a 305 warning if we don't
   suppress it. */
#pragma SWIG nowarn=305
%include svn_props_h.swg
#pragma SWIG nowarn=+305

%include svn_opt_h.swg
%include svn_cmdline_h.swg
%include svn_auth_h.swg
%include svn_config_h.swg

src/subversion/subversion/bindings/swig/include/svn_global.swg  view on Meta::CPAN

#define svn_argnum_obj38 39
#define svn_argnum_obj39 40
%}

/* Python format specifiers. Use Python instead of SWIG to parse
   these basic types, because Python reports better error messages
   (with correct argument numbers). */
%typemap (in, parse="s")
  char *, char const *, char * const, char const * const "";
%typemap (in, parse="c") char "";
%typemap (in, fragment=SWIG_As_frag(long)) long
{
  $1 = ($1_ltype)SWIG_As(long)($input);
  if (SWIG_arg_fail($svn_argnum)) {
    SWIG_fail;
  }
}
%typemap (in, fragment=SWIG_As_frag(unsigned long)) unsigned long
{
  $1 = ($1_ltype)SWIG_As(unsigned long)($input);
  if (SWIG_arg_fail($svn_argnum)) {
    SWIG_fail;
  }
}
%apply long { short, int, ssize_t, enum SWIGTYPE, svn_boolean_t,
              apr_seek_where_t, apr_fileperms_t }
%apply unsigned long { unsigned char, unsigned short, unsigned int, size_t }

src/subversion/subversion/bindings/swig/include/svn_swigcompat.swg  view on Meta::CPAN

 *    under the License.
 * ====================================================================
 *
 * svn_swigcompat.swg: Definitions providing compatibility with old
 *   SWIG version.
 */

/* %append_output(obj) */
#if SWIG_VERSION <= 0x010327
#ifdef SWIGPYTHON
%fragment("t_output_helper");
#define %append_output(obj) $result = t_output_helper($result, obj)
#endif

#ifdef SWIGPERL
#define %append_output(obj) \
  if (argvi >= items) EXTEND(sp,1); $result = obj; argvi++
#endif

#ifdef SWIGRUBY
%fragment("output_helper");
#define %append_output(obj) $result = output_helper($result, obj)
#endif
#endif


/* %set_constant(name, value) */
#if SWIG_VERSION <= 0x010327
#ifdef SWIGPYTHON
%define %set_constant(name, value)
PyDict_SetItemString(d, name, value);

src/subversion/subversion/bindings/swig/include/svn_swigcompat.swg  view on Meta::CPAN

#endif
  $1 = ($1_ltype)temp;
}
#endif

#if SWIG_VERSION <= 0x010324
/* for SWIG bug */
%define OUTPUT_TYPEMAP(type, converter, convtype)
%typemap(in, numinputs=0) type *OUTPUT ($*1_ltype temp),
                          type &OUTPUT ($*1_ltype temp) "$1 = &temp;";
%typemap(argout, fragment="output_helper") type *OUTPUT, type &OUTPUT {
   VALUE o = converter(convtype (*$1));
   $result = output_helper($result, o);
}
%enddef

OUTPUT_TYPEMAP(long, INT2NUM, (long));
OUTPUT_TYPEMAP(long long, LL2NUM, (apr_int64_t));
OUTPUT_TYPEMAP(unsigned long, UINT2NUM, (unsigned long));
OUTPUT_TYPEMAP(unsigned long long, ULL2NUM, (apr_uint64_t));

src/subversion/subversion/libsvn_fs_fs/fs_fs.c  view on Meta::CPAN

"### be switched on and off at will, but for best space-saving results"      NL
"### should be enabled consistently over the life of the repository."        NL
"### 'svnadmin verify' will check the rep-cache regardless of this setting." NL
"### rep-sharing is enabled by default."                                     NL
"# " CONFIG_OPTION_ENABLE_REP_SHARING " = true"                              NL
""                                                                           NL
"[" CONFIG_SECTION_DELTIFICATION "]"                                         NL
"### To conserve space, the filesystem stores data as differences against"   NL
"### existing representations.  This comes at a slight cost in performance," NL
"### as calculating differences can increase commit times.  Reading data"    NL
"### will also create higher CPU load and the data will be fragmented."      NL
"### Since deltification tends to save significant amounts of disk space,"   NL
"### the overall I/O load can actually be lower."                            NL
"###"                                                                        NL
"### The options in this section allow for tuning the deltification"         NL
"### strategy.  Their effects on data size and server performance may vary"  NL
"### from one repository to another.  Versions prior to 1.8 will ignore"     NL
"### this section."                                                          NL
"###"                                                                        NL
"### The following parameter enables deltification for directories. It can"  NL
"### be switched on and off at will, but for best space-saving results"      NL

src/subversion/subversion/libsvn_fs_fs/structure  view on Meta::CPAN

  The old pack file is being read and the new revprops serialized.
  If they fit into the same pack file, a temp file with the new
  content gets written and moved into place just like an non-packed
  revprop file would. No name change or manifest update required.

  If they don't fit into the same pack file,  i.e. exceed the pack
  size limit,  the pack will be split into 2 or 3 new packs just
  before and / or after the modified revision.

  In the current implementation, they will never be merged again.
  To minimize fragmentation, the initial packing process will only
  use about 90% of the limit, i.e. leave some room for growth.

  When a pack file gets split, its counter is being increased
  creating a new file and leaving the old content in place and
  available for concurrent readers.  Only after the new manifest
  file got moved into place, will the old pack files be deleted. 

  Write access to revprops is being serialized by the global
  filesystem write lock.  We only need to build a few retries into
  the reader code to gracefully handle manifest changes and pack

src/subversion/subversion/libsvn_wc/externals.c  view on Meta::CPAN

    return svn_error_createf(SVN_ERR_BAD_URL, 0,
                             _("Illegal parent directory URL '%s'"),
                             parent_dir_url);

  /* If the parent directory URL is at the server root, then the URL
     may have no / after the hostname so apr_uri_parse() will leave
     the URL's path as NULL. */
  if (! parent_dir_uri.path)
    parent_dir_uri.path = apr_pstrmemdup(scratch_pool, "/", 1);
  parent_dir_uri.query = NULL;
  parent_dir_uri.fragment = NULL;

  /* Handle URLs relative to the current directory or to the
     repository root.  The backpaths may only remove path elements,
     not the hostname.  This allows an external to refer to another
     repository in the same server relative to the location of this
     repository, say using SVNParentPath. */
  if ((0 == strncmp("../", url, 3)) ||
      (0 == strncmp("^/", url, 2)))
    {
      apr_array_header_t *base_components;

src/subversion/subversion/po/de.po  view on Meta::CPAN

# update       aktualisieren
# usage        Aufruf
# working copy (WC) Arbeitskopie (AK)
# ------
# Verwende den 'Indikativ' anstelle des 'Imperativ'. Zum Beispiel:
# "Gibt die Daten aus" anstatt "Gib die Daten aus"
# "Stellt die Arbeitskopie um" anstatt "Stelle die Arbeitskopie um"
# Alternativ kann auch der Infinitiv verwendet werden. Zum Beispiel:
# ------
# Original:  "do no interactive prompting"
# Infinitiv: "Keine interaktiven Rückfragen ausgeben"
# Indikativ: "Gibt keine interaktiven Rückfragen aus"
msgid ""
msgstr ""
"Project-Id-Version: subversion 1.8\n"
"Report-Msgid-Bugs-To: dev@subversion.apache.org\n"
"POT-Creation-Date: 2014-11-08 21:44+0000\n"
"PO-Revision-Date: 2013-07-11 20:22+0100\n"
"Last-Translator: Subversion Developers <dev@subversion.apache.org>\n"
"Language-Team: German <dev@subversion.apache.org>\n"
"Language: de\n"
"MIME-Version: 1.0\n"

src/subversion/subversion/po/de.po  view on Meta::CPAN

#: ../include/svn_error_codes.h:1258
msgid "Unknown changelist"
msgstr "Unbekannte Änderungsliste"

#: ../include/svn_error_codes.h:1263
msgid "Reserved directory name in command line arguments"
msgstr "Kommandozeilenparameter enthalten reservierten Verzeichnisnamen"

#: ../include/svn_error_codes.h:1268
msgid "Inquiry about unknown capability"
msgstr "Nachfrage nach unbekannter Eigenschaft"

#: ../include/svn_error_codes.h:1273
msgid "Test skipped"
msgstr "Test übersprungen"

#: ../include/svn_error_codes.h:1278
msgid "APR memcache library not available"
msgstr "Die APR-memcache-Bibliothek ist nicht verfügbar"

#: ../include/svn_error_codes.h:1283

src/subversion/subversion/po/de.po  view on Meta::CPAN

msgstr "Basis-Prüfsummenfehler bei »%s«"

#: ../libsvn_client/revisions.c:113 ../libsvn_client/revisions.c:138
#, c-format
msgid "Path '%s' has no committed revision"
msgstr "Pfad »%s« hat keine übertragene Revision"

#: ../libsvn_client/revisions.c:166
#, c-format
msgid "Unrecognized revision type requested for '%s'"
msgstr "Unbekannter Revisionstyp für »%s« angefragt"

#: ../libsvn_client/status.c:407 ../libsvn_client/status.c:586
#: ../libsvn_wc/lock.c:564 ../libsvn_wc/lock.c:856 ../libsvn_wc/lock.c:1542
#: ../libsvn_wc/wc_db.c:13269 ../libsvn_wc/wc_db_wcroot.c:630
#, c-format
msgid "'%s' is not a working copy"
msgstr "»%s« ist keine Arbeitskopie"

#: ../libsvn_client/status.c:454
#, c-format

src/subversion/subversion/po/de.po  view on Meta::CPAN

msgstr "Knotenrevision #»%s« behauptet, Zusammenführungsinformationen zu haben, hat aber keine"

#: ../libsvn_fs_fs/tree.c:3924
#, c-format
msgid "Node-revision '%s@%ld' claims to have mergeinfo but doesn't"
msgstr "Knotenrevision »%s@%ld« behauptet, Zusammenführungsinformationen zu haben, hat aber keine"

#: ../libsvn_fs_fs/tree.c:4124
#, c-format
msgid "Querying mergeinfo requires version %d of the FSFS filesystem schema; filesystem '%s' uses only version %d"
msgstr "Abfrage der Zusammenführungsinformationen erfordert Version %d des FSFS-Dateisystem-Schemas; Dateisystem »%s« verwendet nur Version %d"

#: ../libsvn_fs_util/fs-util.c:154
msgid "Filesystem object has not been opened yet"
msgstr "Dateisystemobjekt ist noch nicht geöffnet"

#: ../libsvn_fs_util/fs-util.c:157
msgid "Filesystem object already open"
msgstr "Dateisystemobjekt ist bereits geöffnet"

#: ../libsvn_ra/compat.c:182

src/subversion/subversion/po/de.po  view on Meta::CPAN

msgid "Unrecognized URL scheme '%s'"
msgstr "Unbekanntes URL-Schema »%s«"

#: ../libsvn_ra/util.c:55
msgid "<repository>"
msgstr "<Projektarchiv>"

#: ../libsvn_ra/util.c:73
#, c-format
msgid "Retrieval of mergeinfo unsupported by '%s'"
msgstr "Abfrage der Zusammenführungsinformationen wird von »%s« nicht unterstützt"

#: ../libsvn_ra/util.c:99
#, c-format
msgid "The '%s' feature is not supported by '%s'"
msgstr "Die Funktion »%s« wird von »%s« nicht unterstützt"

#: ../libsvn_ra/util.c:142
#, c-format
msgid "Lock was stolen by '%s'; unable to remove it"
msgstr "Sperre durch »%s« gestohlen; Kann nicht entfernt werden"

src/subversion/subversion/po/de.po  view on Meta::CPAN

msgstr "Fehler beim Schreiben der aktualisierten Datei"

#: ../libsvn_ra_serf/commit.c:1421 ../libsvn_ra_serf/commit.c:1511
#, c-format
msgid "%s of '%s': %d %s (%s://%s)"
msgstr "%s von »%s«: %d %s (%s://%s)"

#: ../libsvn_ra_serf/commit.c:1431
#, c-format
msgid "POST request did not return transaction information"
msgstr "POST-Anfrage lieferte keine Transaktionsinformationen zurück"

#: ../libsvn_ra_serf/commit.c:1475
msgid "The OPTIONS response did not include the requested activity-collection-set value"
msgstr "Die OPTIONS-Antwort enthielt nicht den angeforderten Wert »activity-collection-set«"

#: ../libsvn_ra_serf/commit.c:1718 ../libsvn_ra_serf/commit.c:2127
#: ../libsvn_ra_serf/update.c:2619
#, c-format
msgid "Unable to parse URL '%s'"
msgstr "Konnte die URL »%s« nicht zerlegen"

src/subversion/subversion/po/de.po  view on Meta::CPAN

msgstr "Hinzufügen eines Verzeichnisses schlug fehl: %s auf %s (%d %s)"

#: ../libsvn_ra_serf/commit.c:1979
#, c-format
msgid "File '%s' already exists"
msgstr "Datei »%s« existiert bereits"

#: ../libsvn_ra_serf/commit.c:2250
#, c-format
msgid "MERGE request failed: returned %d (during commit)"
msgstr "»MERGE«-Anfrage fehlgeschlagen; gab während der Übertragung %d zurück"

#: ../libsvn_ra_serf/commit.c:2324
#, fuzzy, c-format
msgid "DELETE returned unexpected status: %d"
msgstr "GET-Anfrage gab eine nicht erwartete Delta-Basis zurück: %s"

#: ../libsvn_ra_serf/commit.c:2518
msgid "DAV request failed; it's possible that the repository's pre-revprop-change hook either failed or is non-existent"
msgstr "DAV-Anfrage schlug fehl; möglicherweise ist entweder die Aktion »pre-revprop-change« gescheitert oder sie fehlt"

#: ../libsvn_ra_serf/get_deleted_rev.c:173
#, c-format
msgid "'%s' REPORT not implemented"
msgstr "»%s« REPORT nicht implementiert"

#: ../libsvn_ra_serf/inherited_props.c:171 ../libsvn_ra_serf/property.c:279
#: ../libsvn_ra_serf/update.c:2468
#, c-format
msgid "Got unrecognized encoding '%s'"

src/subversion/subversion/po/de.po  view on Meta::CPAN

msgstr "Eine MERGE-Antwort für »%s« ist kein Kind des Ziels (»%s«)"

#: ../libsvn_ra_serf/options.c:658
#, c-format
msgid "Don't know how to handle '%s' for capability '%s'"
msgstr "Es ist unklar, wie mit »%s« für Eigenschaft »%s« verfahren werden soll"

#: ../libsvn_ra_serf/options.c:682
#, c-format
msgid "Attempt to fetch capability '%s' resulted in '%s'"
msgstr "Der Versuch, die Eigenschaft »%s« abzufragen, führte zu »%s«"

#: ../libsvn_ra_serf/property.c:700
msgid "The PROPFIND response did not include the requested properties"
msgstr "Die PROPFIND-Antwort enthielt nicht den angeforderten Eigenschaften"

#: ../libsvn_ra_serf/property.c:993
msgid "The PROPFIND response did not include the requested baseline-collection value"
msgstr "Die PROPFIND-Antwort enthielt nicht den angeforderten Wert »baseline-collection«"

#: ../libsvn_ra_serf/property.c:1005

src/subversion/subversion/po/de.po  view on Meta::CPAN

#, c-format
msgid "Missing name attr in %s element"
msgstr "Fehlendes Namensattribut in Element %s"

#: ../libsvn_ra_serf/replay.c:578
msgid "Error writing stream: unexpected EOF"
msgstr "Fehler beim Schreiben in Datenstrom: unerwartetes EOF"

#: ../libsvn_ra_serf/sb_bucket.c:65
msgid "Failed to read the request"
msgstr "Konnte die Anfrage nicht lesen"

#: ../libsvn_ra_serf/serf.c:62
msgid "Module for accessing a repository via WebDAV protocol using serf."
msgstr "Modul zum Zugriff auf ein Projektarchiv über das Protokoll WebDAV mittels serf."

#: ../libsvn_ra_serf/serf.c:65
#, c-format
msgid ""
"Module for accessing a repository via WebDAV protocol using serf.\n"
"  - using serf %d.%d.%d"

src/subversion/subversion/po/de.po  view on Meta::CPAN

msgstr "Nicht unterstützte Zugriffsmodul-Laderversion (%d) für ra_serf"

#: ../libsvn_ra_serf/serf.c:1304
#, c-format
msgid "ra_serf was compiled for serf %d.%d.%d but loaded an incompatible %d.%d.%d library"
msgstr "ra_serv wurde für serf %d.%d.%d übersetzt, lud aber die nicht kompatible Version %d.%d.%d der Bibliothek"

#: ../libsvn_ra_serf/update.c:1115
#, c-format
msgid "GET request returned unexpected delta base: %s"
msgstr "GET-Anfrage gab eine nicht erwartete Delta-Basis zurück: %s"

#: ../libsvn_ra_serf/update.c:1133
#, c-format
msgid "GET request failed: %d %s"
msgstr "GET-Anfrage schlug fehl: %d %s"

#: ../libsvn_ra_serf/update.c:1919
msgid "Missing name attr in absent-directory element"
msgstr "Fehlendes Namensattribut in Element »absent-directory«"

#: ../libsvn_ra_serf/update.c:1944
msgid "Missing name attr in absent-file element"
msgstr "Fehlendes Namensattribut in Element »absent-file«"

#: ../libsvn_ra_serf/update.c:2012 ../libsvn_ra_serf/update.c:2119

src/subversion/subversion/po/de.po  view on Meta::CPAN

"Keine weiteren Zugangsdaten oder zu viele Versuche.\n"
"Anmeldung fehlgeschlagen"

#: ../libsvn_ra_serf/util.c:1976
msgid "Proxy authentication failed"
msgstr "Proxy-Anmeldung schlug fehl"

#: ../libsvn_ra_serf/util.c:2029
#, c-format
msgid "%s request on '%s' failed"
msgstr "%s-Anfrage auf »%s« schlug fehl"

#: ../libsvn_ra_serf/util.c:2101
#, c-format
msgid "Premature EOF seen from server (http status=%d)"
msgstr "Vorzeitiges EOF vom Server (http Status=%d)"

#: ../libsvn_ra_serf/util.c:2170
#, c-format
msgid "%s request on '%s' failed: %d %s"
msgstr "%s-Anfrage auf »%s« schlug fehl: %d %s"

#: ../libsvn_ra_serf/util.c:2492
msgid "The PROPFIND response did not include the requested version-controlled-configuration value"
msgstr "Die PROPFIND-Antwort enthielt nicht den angeforderten Wert »version-controlled-configuration«"

#: ../libsvn_ra_serf/util.c:2594
#, c-format
msgid "Repository moved permanently to '%s'; please relocate"
msgstr "Das Projektarchiv wurde permanent nach »%s« verschoben; bitte umplatzieren"

src/subversion/subversion/po/de.po  view on Meta::CPAN

msgstr "Das Projektarchiv wurde zeitweilig nach »%s« verschoben; bitte umplatzieren"

#: ../libsvn_ra_serf/util.c:2607
#, c-format
msgid "'%s': no lock token available"
msgstr "»%s«: Keine Sperrmarke verfügbar"

#: ../libsvn_ra_serf/util.c:2611
#, c-format
msgid "DAV request failed: 411 Content length required. The server or an intermediate proxy does not accept chunked encoding. Try setting 'http-chunked-requests' to 'auto' or 'no' in your client configuration."
msgstr "DAV-Anfrage fehlgeschlagen: 411 Angabe zur Länge des Inhalts erforderlich. Der Server oder ein dazwischengeschalteter Proxy-Server akzeptiert Kodierung in Teilstücken nicht. Versuchen Sie »http-chunked-requests« auf »auto« oder »no« i...

#: ../libsvn_ra_serf/util.c:2617
#, c-format
msgid "The requested feature is not supported by '%s'"
msgstr "Die angeforderte Funktion wird von »%s« nicht unterstützt"

#: ../libsvn_ra_serf/util.c:2623
#, c-format
msgid "Unexpected HTTP status %d '%s' on '%s'\n"
msgstr "Unerwarteter HTTP-Status %d »%s« auf »%s«\n"

src/subversion/subversion/po/de.po  view on Meta::CPAN

#, c-format
msgid "Unsupported report depth '%s'"
msgstr "Nicht unterstützte Reporttiefe »%s«"

#: ../libsvn_repos/reporter.c:1527
msgid "Depth 'exclude' not supported for link"
msgstr "Tiefe »exclude« wird für Links nicht unterstützt"

#: ../libsvn_repos/reporter.c:1584
msgid "Request depth 'exclude' not supported"
msgstr "Angefragte Tiefe »exclude« wird nicht unterstützt"

#: ../libsvn_repos/repos.c:188
#, c-format
msgid "'%s' exists and is non-empty"
msgstr "»%s« existiert und ist nicht leer"

#: ../libsvn_repos/repos.c:234
msgid "Creating db logs lock file"
msgstr "Erzeuge Sperrdatei für Datenbanklogs"

src/subversion/subversion/po/de.po  view on Meta::CPAN

msgid "Unknown memcached error while writing"
msgstr "Unbekannter »memcached«-Fehler beim Schreiben"

#: ../libsvn_subr/cache-memcache.c:344
msgid "Can't iterate a memcached cache"
msgstr "Kann keinen »memcached«-Zwischenspeicher durchlaufen"

#: ../libsvn_subr/cache-memcache.c:444
#, c-format
msgid "Error parsing memcache server '%s'"
msgstr "Fehler beim Abfragen des »memcache«-Servers »%s«"

#: ../libsvn_subr/cache-memcache.c:452
#, c-format
msgid "Scope not allowed in memcache server '%s'"
msgstr "Bereich ist im »memcache«-Server »%s« nicht erlaubt"

#: ../libsvn_subr/cache-memcache.c:460
#, c-format
msgid "Must specify host and port for memcache server '%s'"
msgstr "Der Rechner und Port muss für den »memcache«-Server »%s« festgelegt werden"

src/subversion/subversion/po/de.po  view on Meta::CPAN

msgstr "Code (%d), Ursache (\"%s\"), Meldung (\"%s\")"

#: ../libsvn_subr/crypto.c:134
#, c-format
msgid "Fetching error from APR"
msgstr "Hole Fehler von APR"

#: ../libsvn_subr/crypto.c:154
#, c-format
msgid "Error obtaining random data"
msgstr "Fehler bei der Abfrage von Zufallsdaten"

#: ../libsvn_subr/crypto.c:224
msgid "OpenSSL crypto driver error"
msgstr "Fehler im OpenSSL Kryptologietreiber"

#: ../libsvn_subr/crypto.c:228
msgid "Bad return value while loading crypto driver"
msgstr "Fehlerhafter Rückgabewert beim Laden des Kryptologietreibers"

#: ../libsvn_subr/crypto.c:234

src/subversion/subversion/po/de.po  view on Meta::CPAN

msgid "do not cache authentication tokens"
msgstr "Anmeldeinformationen nicht zwischenspeichern"

#: ../svn/svn.c:229 ../svnrdump/svnrdump.c:154 ../svnsync/svnsync.c:198
msgid ""
"accept SSL server certificates from unknown\n"
"                             certificate authorities without prompting (but only\n"
"                             with '--non-interactive')"
msgstr ""
"akzeptiert SSL-Zertifikate von unbekannten\n"
"                             Ausstellern ohne Nachfrage (aber nur\n"
"                             mit »--non-interactive«)"

#: ../svn/svn.c:235 ../svnrdump/svnrdump.c:132 ../svnsync/svnsync.c:180
msgid ""
"do no interactive prompting (default is to prompt\n"
"                             only if standard input is a terminal device)"
msgstr ""
"verhindert interaktive Nachfragen (Standard sind Nachfragen\n"
"                             nur wenn die Standardeingabe ein Terminal ist)"

#: ../svn/svn.c:239 ../svnrdump/svnrdump.c:136 ../svnsync/svnsync.c:184
msgid ""
"do interactive prompting even if standard input\n"
"                             is not a terminal device"
msgstr ""
"erzwingt interaktive Nachfragen auch wenn die\n"
"                             Standardeingabe kein Terminal ist"

#: ../svn/svn.c:243
msgid "try operation but make no changes"
msgstr "Operation testen, aber keine Änderungen durchführen"

#: ../svn/svn.c:245
msgid "disable merge tracking; diff nodes as if related"
msgstr "deaktiviert Zusammenführungsverfolgung; erzeugt Unterschiede als ob Knoten verwandt wären"

src/subversion/subversion/po/de.po  view on Meta::CPAN

#: ../svn/svn.c:283
msgid "don't delete changelists after commit"
msgstr "Änderungslisten nach Übertragung nicht löschen"

#: ../svn/svn.c:284
msgid "keep path in working copy"
msgstr "Pfad in Arbeitskopie beibehalten"

#: ../svn/svn.c:286
msgid "retrieve all revision properties"
msgstr "alle Revisionseigenschaften abfragen"

#: ../svn/svn.c:288
msgid "retrieve no revision properties"
msgstr "keine Revisionseigenschaften abfragen"

#: ../svn/svn.c:290
msgid ""
"set revision property ARG in new revision\n"
"                             using the name[=value] format"
msgstr ""
"Revisionseigenschaft PAR in neuer Revision\n"
"                             unter Verwendung des Formats name[=Wert] setzen"

#: ../svn/svn.c:293

src/subversion/subversion/po/de.po  view on Meta::CPAN

"Also commit file and dir externals reached by\n"
"                             recursion. This does not include externals with a\n"
"                             fixed revision. (See the svn:externals property)"
msgstr ""
"Überträgt auch externe Verweise auf Dateien und Verzeichnisse, die durch\n"
"                             Rekursion erreicht werden. Dies schließt externe Verweise\n"
"                             mit fixen Revisionen aus. (siehe Eigenschaft »svn:externals«)"

#: ../svn/svn.c:378
msgid "retrieve target's inherited properties"
msgstr "Geerbte Eigenschaften des Ziels abfragen"

#: ../svn/svn.c:380
msgid "use ARG as search pattern (glob syntax)"
msgstr "PAR als Suchmuster verwenden (mit Platzhaltern)"

#: ../svn/svn.c:382
msgid "combine ARG with the previous search pattern"
msgstr "PAR mit dem vorherigen Suchmuster kombinieren"

#: ../svn/svn.c:430

src/subversion/subversion/po/de.po  view on Meta::CPAN

"\n"
"  Mehrere »-c«- oder »-r«-Optionen dürfen angegeben werden (aber keine\n"
"  Kombination von »-c« und »-r«) und das Mischen von vor- und\n"
"  rückwärtigen Bereichen ist erlaubt.\n"
"\n"
"  Mit »-v« werden auch die betroffenen Pfade mit jeder Logmeldung ausgegeben.\n"
"  Mit »-q« wird die Logmeldung selbst nicht ausgegeben (Hinweis: Diese Option\n"
"  ist kompatibel mit »-v«).\n"
"\n"
"  Jede Logmeldung wird nur einmal ausgegeben, selbst wenn mehr als einer\n"
"  der betroffenen Pfade explizit angefragt wurde. Logs folgen per Vorgabe\n"
"  der Historie von Kopien. Benutzen Sie »--stop-on-copy«, um dieses Verhalten,\n"
"  z.B. zum Auffinden von Verzweigungen, zu deaktivieren.\n"
"\n"
"  Die Option »--depth« ist nur in Verbindung mit der Option »--diff« gültig\n"
"  und begrenzt den Umfang der ausgegebenen Unterschiede auf die\n"
"  angegebene Tiefe.\n"
"\n"
"  Wenn die Option »--search« verwendet wird, werden Logmeldungen nur\n"
"  angezeigt, wenn sie dem Suchmuster in den Feldern Autor, Datum oder\n"
"  Meldung (nur ohne »--quiet«), oder, falls »--verbose« angegeben ist,\n"

src/subversion/subversion/po/de.po  view on Meta::CPAN

"      svn log ^/trunk@50 datei.c programm.c\n"
"\n"
"    Ausgabe der Logmeldungen für Änderungen an datei.c, die bei der\n"
"    nächsten Ausführung von »svn update« empfangen werden:      svn log -r BASE:HEAD datei.c\n"
"\n"
"    Ausgabe der Logmeldung für die Revision die »/branches/zweig» erzeugte:\n"
"      svn log --stop-on-copy --limit 1 -r0:HEAD ^/branches/zweig\n"

#: ../svn/svn.c:755
msgid "retrieve revision property ARG"
msgstr "Revisionseigenschaft PAR abfragen"

#: ../svn/svn.c:756
msgid "the change made in revision ARG"
msgstr "die in Revision PAR durchgeführte Änderung"

#. For this large section, let's keep it unindented for easier
#. * viewing/editing. It has been vim-treated with a textwidth=75 and 'gw'
#. * (with quotes and newlines removed).
#: ../svn/svn.c:762
msgid ""

src/subversion/subversion/po/de.po  view on Meta::CPAN

"  The --accept=ARG option prevents interactive prompting and forces\n"
"  conflicts on PATH to be resolved in the manner specified by ARG.\n"
"  In this mode, the command is not recursive by default (depth 'empty').\n"
msgstr ""
"Löst Konflikte von Dateien oder Verzeichnissen in der Arbeitskopie auf.\n"
"Aufruf: resolve [PFAD...]\n"
"\n"
"  Ohne weitere Angabe wird die interaktive Konfliktlösung ausgeführt. In\n"
"  diesem Fall arbeitet das Programm als Vorgabe rekursiv. (Tiefe »infinity«)\n"
"\n"
"  Die Option »--accept=PAR« verhindert interaktive Nachfragen und erzwingt\n"
"  die Konfliktlösung von PFAD in der durch PAR angegebenen Weise. Damit\n"
"  arbeitet das Programm als Vorgabe nicht rekursiv. (Tiefe »empty«)\n"

#: ../svn/svn.c:1390
msgid ""
"specify automatic conflict resolution source\n"
"                             ('base', 'working', 'mine-conflict',\n"
"                             'theirs-conflict', 'mine-full', 'theirs-full')"
msgstr ""
"Gibt Quelle für automatische Konfliktauflösungsaktion an\n"

src/subversion/subversion/po/de.po  view on Meta::CPAN

#, c-format
msgid "Try 'svn help %s' for more information"
msgstr "Versuchen Sie »svn help %s« für weitere Informationen"

#: ../svn/svn.c:2894
msgid "Please see the 'svn upgrade' command"
msgstr "Siehe Kommando »svn upgrade«"

#: ../svn/svn.c:2900 ../svnmucc/svnmucc.c:1457 ../svnrdump/svnrdump.c:1175
msgid "Authentication failed and interactive prompting is disabled; see the --force-interactive option"
msgstr "Authentifizierung schlug fehl und interaktives Nachfragen ist deaktiviert; Siehe Option »--force-interactive«"

#: ../svn/svn.c:2905
msgid "Reading file from standard input because of -F option; this can interfere with interactive prompting"
msgstr "Einlesen der Datei von der Standardeingabe wegen Option -F; dies kann interaktive Nachfragen stören"

#: ../svn/svn.c:2916
msgid "Run 'svn cleanup' to remove locks (type 'svn help cleanup' for details)"
msgstr "Starten Sie »svn cleanup«, um die Sperren zu entfernen (Aufruf: »svn help cleanup« für Details)"

#: ../svn/svn.c:2923
msgid "Another process is blocking the working copy database, or the underlying filesystem does not support file locking; if the working copy is on a network filesystem, make sure file locking has been enabled on the file server"
msgstr "Ein anderer Vorgang blockiert die Datenbank der Arbeitskopie, oder das darunterliegende Dateisystem unterstützt das Sperren von Dateien nicht; falls sich die Arbeitskopie auf einem Netzwerkdateisystem befindet, stellen Sie sicher, dass Datei...

#: ../svn/svn.c:2936

src/subversion/subversion/po/de.po  view on Meta::CPAN

"Gültige Optionen:\n"
"  -h, -? [--help]           : zeigt diesen Text an\n"
"  -m [--message] PAR        : verwendet PAR als Logmeldung\n"
"  -F [--file] PAR           : liest Logmeldung aus Datei PAR\n"
"  -u [--username] PAR       : überträgt Änderungen mit Benutzername PAR\n"
"  -p [--password] PAR       : verwendet PAR als Kennwort\n"
"  -U [--root-url] PAR       : interpretiert alle URLs für Aktionen relativ zu PAR\n"
"  -r [--revision] PAR       : verwendet Revision PAR als Basis für Änderungen\n"
"  --with-revprop PAR        : setzt Revisionseigenschaft im folgenden Format:\n"
"                              NAME[=WERT]\n"
"  --non-interactive         : unterdrückt interaktive Nachfragen (Vorgabe ist nur\n"
"                              nachfragen, wenn Standardeingabe ein Terminal ist)\n"
"  --force-interactive       : erzwingt interaktives Nachfragen, auch wenn\n"
"                              Standardeingabe kein Terminal ist)\n"
"  --trust-server-cert       : akzeptiert SSL-Serverzertifikate von unbekannten\n"
"                              Zertifizierungsstellen ohne Nachfrage (aber nur mit\n"
"                              »--non-interactive«)\n"
"  -X [--extra-args] PAR     : liest weitere Arguments aus Datei PAR (zeilenweise;\n"
"                            : Die Angabe von \"-\" liest von der Standardeingabe)\n"
"  --config-dir PAR          : verwendet ARG als Konfigurationsverzeichnis\n"
"  --config-option PAR       : verwendet ARG als Konfigurationsoption\n"
"  --no-auth-cache           : speichert Anmeldeinformationen nicht zwischen\n"
"  --version                 : gibt Versionsinformationen aus\n"

#: ../svnmucc/svnmucc.c:1003
msgid "--message (-m), --file (-F), and --with-revprop=svn:log are mutually exclusive"

src/subversion/subversion/po/fr.po  view on Meta::CPAN

msgstr "Différentiation de la révision %ld..."

#: ../svnadmin/main.c:680 ../svnadmin/main.c:730 ../svnadmin/main.c:745
#, c-format
msgid "done.\n"
msgstr "fait.\n"

#: ../svnadmin/main.c:724
#, c-format
msgid "Packing revisions in shard %s..."
msgstr "Compaction des révisions du fragment %s..."

#: ../svnadmin/main.c:739
#, c-format
msgid "Packing revprops in shard %s..."
msgstr "Compaction des propriétés de révision du fragment %s..."

#: ../svnadmin/main.c:816
#, c-format
msgid "<<< Skipped original revision %ld\n"
msgstr "<<< Saut de la révision initiale %ld\n"

#: ../svnadmin/main.c:833
#, c-format
msgid ""
"Repository lock acquired.\n"

src/subversion/subversion/tests/README  view on Meta::CPAN

5.  Upon finishing a test, the program reports the results in a format
    which is both machine-readable (for the benefit of automatic
    regression tracking scripts), and human-readable (for the sake of
    painstaking grovelling by hand in the dead of night):

      (PASS | FAIL): (argv[0]) (argv[1]): (description)

For example,

  [sussman@newton:~] ./frobtest 2
  PASS: frobtest 2: frobnicating fragile data
  [sussman@newton:~] 

Note that no particular programming language is required to write a
set of tests;  they just needs to export this user interface.



How to write new C tests
------------------------

src/subversion/subversion/tests/cmdline/README  view on Meta::CPAN

Finally, try copying-and-pasting a simple test and then edit from
there.  Don't forget to add your test to the 'test_list' variable at
the bottom of the file. To avoid renumbering of existing tests, you
should add new tests to the end of the list.


Testing Compatability With Previous Release
===========================================

You can run the Python test suite against older installed versions of
the Subversion servers.  This mail fragment introduces the ability:

   Message-ID: <1ea387f60804091828q48c9d18ah7bf8d89ef7d39461@mail.gmail.com>
   Date: Wed, 9 Apr 2008 18:28:40 -0700
   From: "David Glasser" <glasser@davidglasser.net>
   To: "Subversion Developers" <dev@subversion.tigris.org>
   Subject:  backwards-compatibility testing!
   
   I've updated the expectations on trunk so that you can cleanly run the
   test suite against 1.4.x svnserve or DAV.  You do this by adding
   SERVER_MINOR_VERSION=4 with make check, or --server-minor-version 4 to

src/subversion/subversion/tests/cmdline/update_tests.py  view on Meta::CPAN

#   $ svn mv a b
#   $ svn ci
# and a later revision that modifies b.  We then try a fresh checkout.  If
# the server happens to send us 'b' first, then when it later gets 'c'
# (with a copyfrom of 'b') it might try to use the 'b' in the wc as the
# copyfrom base.  This is wrong, because 'b' was changed later; however,
# due to a bug, the setting of svn:entry:committed-rev on 'b' is not being
# properly seen by the client, and it chooses the wrong base.  Corruption!
#
# Note that because this test depends on the order that the server sends
# changes, it is very fragile; even changing the file names can avoid
# triggering the bug.

def update_copied_from_replaced_and_changed(sbox):
  "update chooses right copyfrom for double move"

  sbox.build()
  wc_dir = sbox.wc_dir

  fn1_relpath = 'A/B/E/aardvark'
  fn2_relpath = 'A/B/E/alpha'

src/subversion/tools/client-side/server-version.py  view on Meta::CPAN

  from http.client import HTTPSConnection as http_client_HTTPSConnection
  from urllib.parse import urlparse as urllib_parse_urlparse
except ImportError:
  # Python <3.0
  from httplib import HTTPConnection as http_client_HTTPConnection
  from httplib import HTTPSConnection as http_client_HTTPSConnection
  from urlparse import urlparse as urllib_parse_urlparse


def print_version(url):
  scheme, netloc, path, params, query, fragment = urllib_parse_urlparse(url)
  if scheme == 'http':
    conn = http_client_HTTPConnection(netloc)
  elif scheme == 'https':
    conn = http_client_HTTPSConnection(netloc)
  else:
    print('ERROR: this script only supports "http" and "https" URLs')
    sys.exit(1)
  conn.putrequest('OPTIONS', path)
  conn.putheader('Host', netloc)
  conn.endheaders()

src/subversion/tools/dev/fsfs-reorg.c  view on Meta::CPAN

#ifndef _
#define _(x) x
#endif

#define ERROR_TAG "fsfs-reporg: "

/* forward declarations */
typedef struct noderev_t noderev_t;
typedef struct revision_info_t revision_info_t;

/* A FSFS rev file is sequence of fragments and unused space (the latter
 * only being inserted by this tool and not during ordinary SVN operation).
 *
 * This type defines the type of any fragment.
 *
 * Please note that the classification as "property", "dir" or "file"
 * fragments is only to be used while determining the future placement
 * of a representation.  If the rep is shared, the same rep may be used
 * as *any* of the 3 kinds.
 */
enum fragment_kind_t
{
  /* the 2 number line containing changes and root node offsets */
  header_fragment,

  /* list of all changes in a revision */
  changes_fragment,

  /* (the textual representation of) a noderev */
  noderev_fragment,

  /* a property rep (including PLAIN / DELTA header) */
  property_fragment,

  /* a directory rep (including PLAIN / DELTA header) */
  dir_fragment,

  /* a file rep (including PLAIN / DELTA header) */
  file_fragment
};

/* A fragment.  This is used to represent the final ordering, i.e. there
 * will be an array containing elements of this type that basically put
 * a fragment at some location in the target file.
 */
typedef struct fragment_t
{
  /* position in the target file */
  apr_size_t position;

  /* kind of fragment */
  enum fragment_kind_t kind;

  /* pointer to the  fragment struct; type depends on KIND */
  void *data;
} fragment_t;

/* Location info for a single revision.
 */
typedef struct revision_location_t
{
  /* pack file offset (manifest value), 0 for non-packed files */
  apr_size_t offset;

  /* offset of the changes list relative to OFFSET */
  apr_size_t changes;

src/subversion/tools/dev/fsfs-reorg.c  view on Meta::CPAN


  /* MD5 of the textual representation. Will be set lazily as a side-effect
   * of determining the length of this dir's textual representation. */
  unsigned char target_md5[16];

  /* (expanded) length of the textual representation.
   * Determined lazily during the write process. */
  apr_size_t size;
} directory_t;

/* A representation fragment.
 */
typedef struct representation_t
{
  /* location in the source file */
  location_t original;

  /* location in the reordered target file */
  location_t target;

  /* length of the PLAIN / DELTA line in the source file in bytes */

src/subversion/tools/dev/fsfs-reorg.c  view on Meta::CPAN

/* Represents a packed revision file.
 */
typedef struct revision_pack_t
{
  /* first revision in the pack file */
  svn_revnum_t base;

  /* revision_info_t* of all revisions in the pack file; in revision order. */
  apr_array_header_t *info;

  /* list of fragments to place in the target pack file; in target order. */
  apr_array_header_t *fragments;

  /* source pack file length */
  apr_size_t filesize;

  /* temporary value. Equal to the number of bytes in the target pack file
   * already allocated to fragments. */
  apr_size_t target_offset;
} revision_pack_t;

/* Cache for revision source content.  All content is stored in DATA and
 * the HASH maps revision number to an svn_string_t instance whose data
 * member points into DATA.
 *
 * Once TOTAL_SIZE exceeds LIMIT, all content will be discarded.  Similarly,
 * the hash gets cleared every 10000 insertions to keep the HASH_POOL
 * memory usage in check.

src/subversion/tools/dev/fsfs-reorg.c  view on Meta::CPAN

  svn_stringbuf_t *file_content;
  revision_pack_t *revisions;
  const char *pack_folder = get_pack_folder(fs, base, local_pool);

  /* read the whole pack file into memory */
  SVN_ERR(read_rev_or_pack_file(&file_content, fs, base, local_pool));

  /* create the revision container */
  revisions = apr_pcalloc(pool, sizeof(*revisions));
  revisions->base = base;
  revisions->fragments = NULL;
  revisions->info = apr_array_make(pool,
                                   fs->max_files_per_dir,
                                   sizeof(revision_info_t*));
  revisions->filesize = file_content->len;
  APR_ARRAY_PUSH(fs->packs, revision_pack_t*) = revisions;

  /* parse the manifest file */
  SVN_ERR(read_manifest(&manifest, fs, pack_folder, local_pool));
  if (manifest->nelts != fs->max_files_per_dir)
    return svn_error_create(SVN_ERR_FS_CORRUPT, NULL, NULL);

src/subversion/tools/dev/fsfs-reorg.c  view on Meta::CPAN

                               info->original.end,
                               local_pool));

  /* put it into our containers */
  APR_ARRAY_PUSH(fs->revisions, revision_info_t*) = info;

  /* create a pseudo-pack file container for just this rev to keep our
   * data structures as uniform as possible.
   */
  revisions->base = revision;
  revisions->fragments = NULL;
  revisions->info = apr_array_make(pool, 1, sizeof(revision_info_t*));
  revisions->filesize = file_content->len;
  APR_ARRAY_PUSH(revisions->info, revision_info_t*) = info;
  APR_ARRAY_PUSH(fs->packs, revision_pack_t*) = revisions;

  /* cache the revision content */
  rev_content.data = file_content->data + info->original.offset;
  rev_content.len = info->original.end - info->original.offset;
  set_cached_content(fs->cache, info->revision, &rev_content);

src/subversion/tools/dev/fsfs-reorg.c  view on Meta::CPAN


  while (max_future_size > 0)
    {
      ++result;
      max_future_size /= 10;
    }

  return result;
}

/* Create the fragments container in PACK and add revision header fragments
 * to it.  Use POOL for allocations.
 */
static svn_error_t *
add_revisions_pack_heads(revision_pack_t *pack,
                         apr_pool_t *pool)
{
  int i;
  revision_info_t *info;
  apr_size_t offset_len = get_max_offset_len(pack);
  fragment_t fragment;

  /* allocate fragment arrays */

  int fragment_count = 1;
  for (i = 0; i < pack->info->nelts; ++i)
    {
      info = APR_ARRAY_IDX(pack->info, i, revision_info_t*);
      fragment_count += info->node_revs->nelts
                      + info->representations->nelts
                      + 2;
    }

  pack->target_offset = pack->info->nelts > 1 ? 64 : 0;
  pack->fragments = apr_array_make(pool,
                                   fragment_count,
                                   sizeof(fragment_t));

  /* put revision headers first */

  for (i = 0; i < pack->info->nelts - 1; ++i)
    {
      info = APR_ARRAY_IDX(pack->info, i, revision_info_t*);
      info->target.offset = pack->target_offset;

      fragment.data = info;
      fragment.kind = header_fragment;
      fragment.position = pack->target_offset;
      APR_ARRAY_PUSH(pack->fragments, fragment_t) = fragment;

      pack->target_offset += 2 * offset_len + 3;
    }

  info = APR_ARRAY_IDX(pack->info, pack->info->nelts - 1, revision_info_t*);
  info->target.offset = pack->target_offset;

  /* followed by the changes list */

  for (i = 0; i < pack->info->nelts; ++i)
    {
      info = APR_ARRAY_IDX(pack->info, i, revision_info_t*);

      info->target.changes = pack->target_offset - info->target.offset;
      info->target.changes_len = info->original.changes_len;

      fragment.data = info;
      fragment.kind = changes_fragment;
      fragment.position = pack->target_offset;
      APR_ARRAY_PUSH(pack->fragments, fragment_t) = fragment;

      pack->target_offset += info->original.changes_len;
    }

  return SVN_NO_ERROR;
}

/* For the revision given by INFO in FS, return the fragment container in
 * *FRAGMENTS and the current placement offset in *CURRENT_POS.
 */
static svn_error_t *
get_target_offset(apr_size_t **current_pos,
                  apr_array_header_t **fragments,
                  fs_fs_t *fs,
                  revision_info_t *info)
{
  int i;
  revision_pack_t *pack;
  svn_revnum_t revision = info->revision;

  /* identify the pack object */
  if (fs->min_unpacked_rev > revision)
    {

src/subversion/tools/dev/fsfs-reorg.c  view on Meta::CPAN

    }
  else
    {
      i = (fs->min_unpacked_rev - fs->start_revision) / fs->max_files_per_dir;
      i += revision - fs->min_unpacked_rev;
    }

  /* extract the desired info from it */
  pack = APR_ARRAY_IDX(fs->packs, i, revision_pack_t*);
  *current_pos = &pack->target_offset;
  *fragments = pack->fragments;

  return SVN_NO_ERROR;
}

/* forward declaration */
static svn_error_t *
add_noderev_recursively(fs_fs_t *fs,
                        noderev_t *node,
                        apr_pool_t *pool);

/* Place fragments for the given REPRESENTATION of the given KIND, iff it
 * has not been covered, yet.  Place the base reps along the deltification
 * chain as far as those reps have not been covered, yet.  If REPRESENTATION
 * is a directory, recursively place its elements.
 *
 * Use POOL for allocations.
 */
static svn_error_t *
add_representation_recursively(fs_fs_t *fs,
                               representation_t *representation,
                               enum fragment_kind_t kind,
                               apr_pool_t *pool)
{
  apr_size_t *current_pos;
  apr_array_header_t *fragments;
  fragment_t fragment;

  /* place REPRESENTATION only once and only if it exists and will not
   * be covered later as a directory. */
  if (   representation == NULL
      || representation->covered
      || (representation->dir && kind != dir_fragment)
      || representation == fs->null_base)
    return SVN_NO_ERROR;

  /* add and place a fragment for REPRESENTATION */
  SVN_ERR(get_target_offset(&current_pos, &fragments,
                            fs, representation->revision));
  representation->target.offset = *current_pos;
  representation->covered = TRUE;

  fragment.data = representation;
  fragment.kind = kind;
  fragment.position = *current_pos;
  APR_ARRAY_PUSH(fragments, fragment_t) = fragment;

  /* determine the size of data to be added to the target file */
  if (   kind != dir_fragment
      && representation->delta_base && representation->delta_base->dir)
    {
      /* base rep is a dir -> would change -> need to store it as fulltext
       * in our target file */
      apr_pool_t *text_pool = svn_pool_create(pool);
      svn_stringbuf_t *content;

      SVN_ERR(get_combined_window(&content, fs, representation, text_pool));
      representation->target.size = content->len;
      *current_pos += representation->target.size + 13;

      svn_pool_destroy(text_pool);
    }
  else
    if (   kind == dir_fragment
        || (representation->delta_base && representation->delta_base->dir))
      {
        /* deltified directories may grow considerably */
        if (representation->original.size < 50)
          *current_pos += 300;
        else
          *current_pos += representation->original.size * 3 + 150;
      }
    else
      {

src/subversion/tools/dev/fsfs-reorg.c  view on Meta::CPAN

        {
          direntry_t *entry = APR_ARRAY_IDX(entries, i, direntry_t *);
          if (entry->node)
            SVN_ERR(add_noderev_recursively(fs, entry->node, pool));
        }
    }

  return SVN_NO_ERROR;
}

/* Place fragments for the given NODE in FS, iff it has not been covered,
 * yet.  Place the reps (text, props) immediately after the node.
 *
 * Use POOL for allocations.
 */
static svn_error_t *
add_noderev_recursively(fs_fs_t *fs,
                        noderev_t *node,
                        apr_pool_t *pool)
{
  apr_size_t *current_pos;
  apr_array_header_t *fragments;
  fragment_t fragment;

  /* don't add it twice */
  if (node->covered)
    return SVN_NO_ERROR;

  /* add and place a fragment for NODE */
  SVN_ERR(get_target_offset(&current_pos, &fragments, fs, node->revision));
  node->covered = TRUE;
  node->target.offset = *current_pos;

  fragment.data = node;
  fragment.kind = noderev_fragment;
  fragment.position = *current_pos;
  APR_ARRAY_PUSH(fragments, fragment_t) = fragment;

  /* size may slightly increase */
  *current_pos += node->original.size + 40;

  /* recurse into representations */
  if (node->text && node->text->dir)
    SVN_ERR(add_representation_recursively(fs, node->text, dir_fragment, pool));
  else
    SVN_ERR(add_representation_recursively(fs, node->text, file_fragment, pool));

  SVN_ERR(add_representation_recursively(fs, node->props, property_fragment, pool));

  return SVN_NO_ERROR;
}

/* Place a fragment for the last revision in PACK. Use POOL for allocations.
 */
static svn_error_t *
add_revisions_pack_tail(revision_pack_t *pack,
                        apr_pool_t *pool)
{
  int i;
  revision_info_t *info;
  apr_size_t offset_len = get_max_offset_len(pack);
  fragment_t fragment;

  /* put final revision header last and fix up revision lengths */

  info = APR_ARRAY_IDX(pack->info, pack->info->nelts-1, revision_info_t*);

  fragment.data = info;
  fragment.kind = header_fragment;
  fragment.position = pack->target_offset;
  APR_ARRAY_PUSH(pack->fragments, fragment_t) = fragment;

  pack->target_offset += 2 * offset_len + 3;

  /* end of target file reached.  Store that info in all revs. */
  for (i = 0; i < pack->info->nelts; ++i)
    {
      info = APR_ARRAY_IDX(pack->info, i, revision_info_t*);
      info->target.end = pack->target_offset;
    }

  return SVN_NO_ERROR;
}

/* Place all fragments for all revisions / packs in FS.
 * Use POOL for allocations.
 */
static svn_error_t *
reorder_revisions(fs_fs_t *fs,
                  apr_pool_t *pool)
{
  int i, k;

  /* headers and changes */

src/subversion/tools/dev/fsfs-reorg.c  view on Meta::CPAN

    {
      revision_pack_t *pack = APR_ARRAY_IDX(fs->packs, i, revision_pack_t*);
      SVN_ERR(add_revisions_pack_tail(pack, pool));
    }

  return SVN_NO_ERROR;
}

/* forward declaration */
static svn_error_t *
get_fragment_content(svn_string_t **content,
                     fs_fs_t *fs,
                     fragment_t *fragment,
                     apr_pool_t *pool);

/* Directory content may change and with it, the deltified representations
 * may significantly.  This function causes all directory target reps in
 * PACK of FS to be built and their new MD5 as well as rep sizes be updated.
 * We must do that before attempting to write noderevs.
 *
 * Use POOL for allocations.
 */
static svn_error_t *
update_noderevs(fs_fs_t *fs,
                revision_pack_t *pack,
                apr_pool_t *pool)
{
  int i;
  apr_pool_t *itempool = svn_pool_create(pool);

  for (i = 0; i < pack->fragments->nelts; ++i)
    {
      fragment_t *fragment = &APR_ARRAY_IDX(pack->fragments, i, fragment_t);
      if (fragment->kind == dir_fragment)
        {
          svn_string_t *content;

          /* request updated rep content but ignore the result.
           * We are only interested in the MD5, content and rep size updates. */
          SVN_ERR(get_fragment_content(&content, fs, fragment, itempool));
          svn_pool_clear(itempool);
        }
    }

  svn_pool_destroy(itempool);

  return SVN_NO_ERROR;
}

/* Determine the target size of the FRAGMENT in FS and return the value
 * in *LENGTH.  If ADD_PADDING has been set, slightly fudge the numbers
 * to account for changes in offset lengths etc.  Use POOL for temporary
 * allocations.
 */
static svn_error_t *
get_content_length(apr_size_t *length,
                   fs_fs_t *fs,
                   fragment_t *fragment,
                   svn_boolean_t add_padding,
                   apr_pool_t *pool)
{
  svn_string_t *content;

  SVN_ERR(get_fragment_content(&content, fs, fragment, pool));
  if (add_padding)
    switch (fragment->kind)
      {
        case dir_fragment:
          *length = content->len + 16;
          break;
        case noderev_fragment:
          *length = content->len + 3;
          break;
        default:
          *length = content->len;
          break;
      }
  else
    *length = content->len;

  return SVN_NO_ERROR;
}

/* Move the FRAGMENT to global file offset NEW_POSITION.  Update the target
 * location info of the underlying object as well.
 */
static void
move_fragment(fragment_t *fragment,
              apr_size_t new_position)
{
  revision_info_t *info;
  representation_t *representation;
  noderev_t *node;

  /* move the fragment */
  fragment->position = new_position;

  /* move the underlying object */
  switch (fragment->kind)
    {
      case header_fragment:
        info = fragment->data;
        info->target.offset = new_position;
        break;

      case changes_fragment:
        info = fragment->data;
        info->target.changes = new_position - info->target.offset;
        break;

      case property_fragment:
      case file_fragment:
      case dir_fragment:
        representation = fragment->data;
        representation->target.offset = new_position;
        break;

      case noderev_fragment:
        node = fragment->data;
        node->target.offset = new_position;
        break;
    }
}

/* Move the fragments in PACK's target fragment list to their final offsets.
 * This may require several iterations if the fudge factors turned out to
 * be insufficient.  Use POOL for allocations.
 */
static svn_error_t *
pack_revisions(fs_fs_t *fs,
               revision_pack_t *pack,
               apr_pool_t *pool)
{
  int i;
  fragment_t *fragment, *next;
  svn_boolean_t needed_to_expand;
  revision_info_t *info;
  apr_size_t current_pos, len, old_len;

  apr_pool_t *itempool = svn_pool_create(pool);

  /* update all directory reps. Chances are that most of the target rep
   * sizes are now close to accurate. */
  SVN_ERR(update_noderevs(fs, pack, pool));

  /* compression phase: pack all fragments tightly with only a very small
   * fudge factor.  This should cause offsets to shrink, thus all the
   * actual fragment rate should tend to be even smaller afterwards. */
  current_pos = pack->info->nelts > 1 ? 64 : 0;
  for (i = 0; i + 1 < pack->fragments->nelts; ++i)
    {
      fragment = &APR_ARRAY_IDX(pack->fragments, i, fragment_t);
      SVN_ERR(get_content_length(&len, fs, fragment, TRUE, itempool));
      move_fragment(fragment, current_pos);
      current_pos += len;

      svn_pool_clear(itempool);
    }

  /* don't forget the final fragment (last revision's revision header) */
  fragment = &APR_ARRAY_IDX(pack->fragments, pack->fragments->nelts-1, fragment_t);
  fragment->position = current_pos;

  /* expansion phase: check whether all fragments fit into their allotted
   * slots.  Grow them geometrically if they don't fit.  Retry until they
   * all do fit.
   * Note: there is an upper limit to which fragments can grow.  So, this
   * loop will terminate.  Often, no expansion will be necessary at all. */
  do
    {
      needed_to_expand = FALSE;
      current_pos = pack->info->nelts > 1 ? 64 : 0;

      for (i = 0; i + 1 < pack->fragments->nelts; ++i)
        {
          fragment = &APR_ARRAY_IDX(pack->fragments, i, fragment_t);
          next = &APR_ARRAY_IDX(pack->fragments, i + 1, fragment_t);
          old_len = next->position - fragment->position;

          SVN_ERR(get_content_length(&len, fs, fragment, FALSE, itempool));

          if (len > old_len)
            {
              len = (apr_size_t)(len * 1.1) + 10;
              needed_to_expand = TRUE;
            }
          else
            len = old_len;

          if (i == pack->info->nelts - 1)
            {
              info = APR_ARRAY_IDX(pack->info, pack->info->nelts - 1, revision_info_t*);
              info->target.offset = current_pos;
            }

          move_fragment(fragment, current_pos);
          current_pos += len;

          svn_pool_clear(itempool);
        }

      fragment = &APR_ARRAY_IDX(pack->fragments, pack->fragments->nelts-1, fragment_t);
      fragment->position = current_pos;

      /* update the revision
       * sizes (they all end at the end of the pack file now) */
      SVN_ERR(get_content_length(&len, fs, fragment, FALSE, itempool));
      current_pos += len;

      for (i = 0; i < pack->info->nelts; ++i)
        {
          info = APR_ARRAY_IDX(pack->info, i, revision_info_t*);
          info->target.end = current_pos;
        }
    }
  while (needed_to_expand);

src/subversion/tools/dev/fsfs-reorg.c  view on Meta::CPAN

}

/* Write reorg'ed target content for PACK in FS.  Use POOL for allocations.
 */
static svn_error_t *
write_revisions(fs_fs_t *fs,
                revision_pack_t *pack,
                apr_pool_t *pool)
{
  int i;
  fragment_t *fragment = NULL;
  svn_string_t *content;

  apr_pool_t *itempool = svn_pool_create(pool);
  apr_pool_t *iterpool = svn_pool_create(pool);

  apr_file_t *file;
  apr_size_t current_pos = 0;
  svn_stringbuf_t *null_buffer = svn_stringbuf_create_empty(iterpool);

  /* create the target file */

src/subversion/tools/dev/fsfs-reorg.c  view on Meta::CPAN

                                  pack->info->nelts > 1 ? ".pack" : "");
  SVN_ERR(svn_io_make_dir_recursively(dir, pool));
  SVN_ERR(svn_io_file_open(&file,
                            pack->info->nelts > 1
                              ? apr_psprintf(iterpool, "%s/pack", dir)
                              : apr_psprintf(iterpool, "%s/%ld", dir, pack->base),
                            APR_WRITE | APR_CREATE | APR_BUFFERED,
                            APR_OS_DEFAULT,
                            iterpool));

  /* write all fragments */
  for (i = 0; i < pack->fragments->nelts; ++i)
    {
      apr_size_t padding;

      /* get fragment content to write */
      fragment = &APR_ARRAY_IDX(pack->fragments, i, fragment_t);
      SVN_ERR(get_fragment_content(&content, fs, fragment, itempool));
      SVN_ERR_ASSERT(fragment->position >= current_pos);

      /* number of bytes between this and the previous fragment */
      if (   fragment->kind == header_fragment
          && i+1 < pack->fragments->nelts)
        /* special case: header fragments are aligned to the slot end */
        padding = APR_ARRAY_IDX(pack->fragments, i+1, fragment_t).position -
                  content->len - current_pos;
      else
        /* standard case: fragments are aligned to the slot start */
        padding = fragment->position - current_pos;

      /* write padding between fragments */
      if (padding)
        {
          while (null_buffer->len < padding)
            svn_stringbuf_appendbyte(null_buffer, 0);

          SVN_ERR(svn_io_file_write_full(file,
                                         null_buffer->data,
                                         padding,
                                         NULL,
                                         itempool));
          current_pos += padding;
        }

      /* write fragment content */
      SVN_ERR(svn_io_file_write_full(file,
                                     content->data,
                                     content->len,
                                     NULL,
                                     itempool));
      current_pos += content->len;

      svn_pool_clear(itempool);
    }

src/subversion/tools/dev/fsfs-reorg.c  view on Meta::CPAN

}

/* Get the target content (data block as to be written to the file) for
 * the given FRAGMENT in FS.  Return the content in *CONTENT.  Use POOL
 * for allocations.
 *
 * Note that, as a side-effect, this will update the target rep. info for
 * directories.
 */
static svn_error_t *
get_fragment_content(svn_string_t **content,
                     fs_fs_t *fs,
                     fragment_t *fragment,
                     apr_pool_t *pool)
{
  revision_info_t *info;
  representation_t *representation;
  noderev_t *node;
  svn_string_t *revision_content, *base_content;
  svn_stringbuf_t *header, *node_rev, *text;
  apr_size_t header_size;
  svn_checksum_t *checksum = NULL;

  switch (fragment->kind)
    {
      /* revision headers can be constructed from target position info */
      case header_fragment:
        info = fragment->data;
        *content = svn_string_createf(pool,
                                      "\n%" APR_SIZE_T_FMT " %" APR_SIZE_T_FMT "\n",
                                      info->root_noderev->target.offset - info->target.offset,
                                      info->target.changes);
        return SVN_NO_ERROR;

      /* The changes list remains untouched */
      case changes_fragment:
        info = fragment->data;
        SVN_ERR(get_content(&revision_content, fs, info->revision, pool));

        *content = svn_string_create_empty(pool);
        (*content)->data = revision_content->data + info->original.changes;
        (*content)->len = info->target.changes_len;
        return SVN_NO_ERROR;

      /* property and file reps get new headers any need to be rewritten,
       * iff the base rep is a directory.  The actual (deltified) content
       * remains unchanged, though.  MD5 etc. do not change. */
      case property_fragment:
      case file_fragment:
        representation = fragment->data;
        SVN_ERR(get_content(&revision_content, fs,
                            representation->revision->revision, pool));

        if (representation->delta_base)
          if (representation->delta_base->dir)
            {
              /* if the base happens to be a directory, reconstruct the
               * full text and represent it as PLAIN rep. */
              SVN_ERR(get_combined_window(&text, fs, representation, pool));
              representation->target.size = text->len;

src/subversion/tools/dev/fsfs-reorg.c  view on Meta::CPAN

                                  revision_content->data +
                                  representation->original.offset +
                                  header_size,
                                  representation->original.size);
        svn_stringbuf_appendcstr(header, "ENDREP\n");
        *content = svn_stringbuf__morph_into_string(header);
        return SVN_NO_ERROR;

      /* directory reps need to be rewritten (and deltified) completely.
       * As a side-effect, update the MD5 and target content size. */
      case dir_fragment:
        /* construct new content and update MD5 */
        representation = fragment->data;
        SVN_ERR(get_updated_dir(&revision_content, fs, representation,
                                pool, pool));
        SVN_ERR(svn_checksum(&checksum, svn_checksum_md5,
                             revision_content->data, revision_content->len,
                             pool));
        memcpy(representation->dir->target_md5,
               checksum->digest,
               sizeof(representation->dir->target_md5));

        /* deltify against the base rep if necessary */

src/subversion/tools/dev/fsfs-reorg.c  view on Meta::CPAN

            /* no delta base (not even a dummy) -> PLAIN rep */
            representation->target.size = revision_content->len;
            representation->dir->size = revision_content->len;
            *content = svn_string_createf(pool, "PLAIN\n%sENDREP\n",
                                          revision_content->data);
          }

        return SVN_NO_ERROR;

      /* construct the new noderev content.  No side-effects.*/
      case noderev_fragment:
        /* get the original noderev as string */
        node = fragment->data;
        SVN_ERR(get_content(&revision_content, fs,
                            node->revision->revision, pool));
        node_rev = svn_stringbuf_ncreate(revision_content->data +
                                         node->original.offset,
                                         node->original.size,
                                         pool);

        /* update the values that may have hanged for target */
        update_id(node_rev, "id: ", node);
        update_id(node_rev, "pred: ", node->predecessor);

src/subversion/tools/server-side/fsfs-stats.c  view on Meta::CPAN

  /* a properties on file rep  */
  file_property_rep,

  /* a directory rep  */
  dir_rep,

  /* a file rep  */
  file_rep
} rep_kind_t;

/* A representation fragment.
 */
typedef struct representation_t
{
  /* absolute offset in the file */
  apr_size_t offset;

  /* item length in bytes */
  apr_size_t size;

  /* item length after de-deltification */

src/subversion/tools/server-side/svnpubsub/svnpubsub/client.py  view on Meta::CPAN


    self.url = url
    parsed_url = urlparse.urlsplit(url)
    if parsed_url.scheme != 'http':
      raise ValueError("URL scheme must be http: '%s'" % url)
    host = parsed_url.hostname
    port = parsed_url.port
    resource = parsed_url.path
    if parsed_url.query:
      resource += "?%s" % parsed_url.query
    if parsed_url.fragment:
      resource += "#%s" % parsed_url.fragment

    self.event_callback = event_callback

    self.parser = JSONRecordHandler(commit_callback, event_callback)

    # Wait for the end of headers. Then we start parsing JSON.
    self.set_terminator(b'\r\n\r\n')
    self.skipping_headers = True

    self.create_socket(socket.AF_INET, socket.SOCK_STREAM)



( run in 4.037 seconds using v1.01-cache-2.11-cpan-b16cb0d3907 )