[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

[PATCH] More po updates

From: Nicol醩 Lichtmaier <nick_at_reloco.com.ar>
Date: 2004-05-23 02:49:52 CEST

When I'm bored I do this:

More updates for i18n.

  * Added more _()'s everywhere.

Index: subversion/libsvn_wc/adm_files.c
===================================================================
--- subversion/libsvn_wc/adm_files.c (revisi贸n: 9860)
+++ subversion/libsvn_wc/adm_files.c (copia de trabajo)
@@ -900,8 +900,8 @@
           && !(entry->schedule == svn_wc_schedule_delete && revision == 0))
         return
           svn_error_createf (SVN_ERR_WC_OBSTRUCTED_UPDATE, NULL,
- "Revision %ld doesn't match existing revision %ld"
- " in '%s'",
+ _("Revision %ld doesn't match existing revision %ld"
+ " in '%s'"),
                              revision, entry->revision, path);
 
       /** ### comparing URLs, should they be canonicalized first? */
Index: subversion/libsvn_wc/update_editor.c
===================================================================
--- subversion/libsvn_wc/update_editor.c (revisi贸n: 9860)
+++ subversion/libsvn_wc/update_editor.c (copia de trabajo)
@@ -858,7 +858,8 @@
   SVN_ERR_W (svn_io_file_write_full (log_fp, log_item->data,
                                      log_item->len, NULL, pool),
              apr_psprintf (pool,
- _("Error writing log file for '%s'"), parent_path));
+ _("Error writing log file for '%s'"),
+ parent_path));
 
   SVN_ERR (svn_wc__close_adm_file (log_fp,
                                    parent_path,
@@ -1537,8 +1538,8 @@
             {
               return svn_error_createf
                 (SVN_ERR_WC_CORRUPT_TEXT_BASE, NULL,
- _("Checksum mismatch for '%s'; recorded: '%s', actual: '%s'"),
- tb, ent->checksum, hex_digest);
+ _("Checksum mismatch for '%s'; recorded: '%s', "
+ "actual: '%s'"), tb, ent->checksum, hex_digest);
             }
         }
     }
Index: subversion/libsvn_client/export.c
===================================================================
--- subversion/libsvn_client/export.c (revisi贸n: 9860)
+++ subversion/libsvn_client/export.c (copia de trabajo)
@@ -259,7 +259,7 @@
                      "(local)" since we can't always determine the
                      current user's username */
                   fmt = "%ldM";
- author = "(local)";
+ author = _("(local)");
                 }
               else
                 {
Index: subversion/libsvn_client/status.c
===================================================================
--- subversion/libsvn_client/status.c (revisi贸n: 9860)
+++ subversion/libsvn_client/status.c (copia de trabajo)
@@ -37,6 +37,7 @@
 #include "svn_test.h"
 #include "svn_io.h"
 
+#include "svn_private_config.h"
 
 
 /*** Getting update information ***/
@@ -116,7 +117,7 @@
     svn_path_split (path, &anchor, &target, pool);
   else
     return svn_error_createf (SVN_ERR_UNVERSIONED_RESOURCE, NULL,
- "'%s' is not under version control", path);
+ _("'%s' is not under version control"), path);
   
   /* Close up our ADM area. We'll be re-opening soon. */
   SVN_ERR (svn_wc_adm_close (adm_access));
@@ -165,11 +166,11 @@
       if (! entry)
         return svn_error_createf
           (SVN_ERR_UNVERSIONED_RESOURCE, NULL,
- "'%s' is not under version control", anchor);
+ _("'%s' is not under version control"), anchor);
       if (! entry->url)
         return svn_error_createf
           (SVN_ERR_ENTRY_MISSING_URL, NULL,
- "Entry '%s' has no URL", anchor);
+ _("Entry '%s' has no URL"), anchor);
       URL = apr_pstrdup (pool, entry->url);
 
       /* Get the RA library that handles URL. */
Index: subversion/libsvn_client/checkout.c
===================================================================
--- subversion/libsvn_client/checkout.c (revisi贸n: 9860)
+++ subversion/libsvn_client/checkout.c (copia de trabajo)
@@ -37,6 +37,7 @@
 #include "svn_time.h"
 #include "client.h"
 
+#include "svn_private_config.h"
 
 
 /*** Public Interfaces. ***/
@@ -93,10 +94,10 @@
       SVN_ERR (ra_lib->check_path (session, "", revnum, &kind, pool));
       if (kind == svn_node_none)
         return svn_error_createf (SVN_ERR_RA_ILLEGAL_URL, NULL,
- "URL '%s' doesn't exist", URL);
+ _("URL '%s' doesn't exist"), URL);
       else if (kind == svn_node_file)
         return svn_error_createf (SVN_ERR_UNSUPPORTED_FEATURE , NULL,
- "URL '%s' refers to a file, not a directory",
+ _("URL '%s' refers to a file, not a directory"),
                                   URL);
 
       /* Get the repos UUID. */
@@ -151,10 +152,10 @@
               const char *errmsg;
               errmsg = apr_psprintf
                 (pool,
- "'%s' is already a working copy for a different URL", path);
+ _("'%s' is already a working copy for a different URL"), path);
               if (entry->incomplete)
                 errmsg = apr_pstrcat
- (pool, errmsg, "; run 'svn update' to complete it.", NULL);
+ (pool, errmsg, _("; run 'svn update' to complete it."), NULL);
 
               return svn_error_create (SVN_ERR_WC_OBSTRUCTED_UPDATE, NULL,
                                        errmsg);
@@ -163,7 +164,7 @@
       else
         {
           return svn_error_createf (SVN_ERR_WC_NODE_KIND_CHANGE, NULL,
- "'%s' is already a file/something else",
+ _("'%s' is already a file/something else"),
                                     path);
         }
 
Index: subversion/libsvn_client/cat.c
===================================================================
--- subversion/libsvn_client/cat.c (revisi贸n: 9860)
+++ subversion/libsvn_client/cat.c (copia de trabajo)
@@ -32,6 +32,8 @@
 #include "svn_path.h"
 #include "client.h"
 
+#include "svn_private_config.h"
+
 
 /*** Code. ***/
 
@@ -60,7 +62,7 @@
   SVN_ERR (ra_lib->check_path (session, "", rev, &url_kind, pool));
   if (url_kind == svn_node_dir)
     return svn_error_createf(SVN_ERR_CLIENT_IS_DIRECTORY, NULL,
- "URL '%s' refers to a directory", url);
+ _("URL '%s' refers to a directory"), url);
 
   /* Grab some properties we need to know in order to figure out if anything
      special needs to be done with this file. */
@@ -100,7 +102,7 @@
       /* rewind our stream. */
       apr_err = apr_file_seek (tmp_file, APR_SET, &off);
       if (apr_err)
- return svn_error_wrap_apr (apr_err, "Can't seek in '%s'",
+ return svn_error_wrap_apr (apr_err, _("Can't seek in '%s'"),
                                    tmp_filename);
 
       if (eol_style)
Index: subversion/libsvn_client/diff.c
===================================================================
--- subversion/libsvn_client/diff.c (revisi贸n: 9860)
+++ subversion/libsvn_client/diff.c (copia de trabajo)
@@ -89,8 +89,8 @@
   int i;
 
   SVN_ERR (file_printf_from_utf8 (file,
- APR_EOL_STR "Property changes on: %s"
- APR_EOL_STR, path));
+ _("%sProperty changes on: %s%s"),
+ APR_EOL_STR, APR_EOL_STR, path));
 
   /* ### todo [issue #1533]: Use file_printf_from_utf8() to convert this
      line of dashes to native encoding, at least conditionally? Or is
@@ -111,8 +111,8 @@
       else
         original_value = NULL;
       
- SVN_ERR (file_printf_from_utf8 (file, "Name: %s" APR_EOL_STR,
- propchange->name));
+ SVN_ERR (file_printf_from_utf8 (file, _("Name: %s%s"),
+ propchange->name, APR_EOL_STR));
 
       /* For now, we have a rather simple heuristic: if this is an
          "svn:" property, then assume the value is UTF-8 and must
@@ -379,7 +379,7 @@
 
       SVN_ERR (svn_stream_printf
                (os, subpool,
- "Cannot display: file marked as a binary type."
+ _("Cannot display: file marked as a binary type.%s"),
                 APR_EOL_STR));
       
       if (mt1_binary && !mt2_binary)
@@ -654,12 +654,12 @@
 {
   struct merge_cmd_baton *merge_b = baton;
   apr_pool_t *subpool = svn_pool_create (merge_b->pool);
- const char *target_label = ".working";
+ const char *target_label = _(".working");
   const char *left_label = apr_psprintf (subpool,
- ".merge-left.r%ld",
+ _(".merge-left.r%ld"),
                                          older_rev);
   const char *right_label = apr_psprintf (subpool,
- ".merge-right.r%ld",
+ _(".merge-right.r%ld"),
                                           yours_rev);
   svn_boolean_t has_local_mods;
   svn_boolean_t merge_required = TRUE;
Index: subversion/libsvn_client/copy.c
===================================================================
--- subversion/libsvn_client/copy.c (revisi贸n: 9860)
+++ subversion/libsvn_client/copy.c (copia de trabajo)
@@ -36,6 +36,8 @@
 
 #include "client.h"
 
+#include "svn_private_config.h"
+
 
 /*** Code. ***/
 
@@ -78,7 +80,7 @@
   SVN_ERR (svn_io_check_path (src_path, &src_kind, pool));
   if (src_kind == svn_node_none)
     return svn_error_createf (SVN_ERR_NODE_UNKNOWN_KIND, NULL,
- "Path '%s' does not exist", src_path);
+ _("Path '%s' does not exist"), src_path);
 
   /* If DST_PATH does not exist, then its basename will become a new
      file or dir added to its parent (possibly an implicit '.'). If
@@ -97,7 +99,7 @@
     }
   else
     return svn_error_createf (SVN_ERR_ENTRY_EXISTS, NULL,
- "File '%s' already exists", dst_path);
+ _("File '%s' already exists"), dst_path);
 
   if (is_move)
     {
@@ -138,7 +140,7 @@
       if (!force)
         /* Ensure there are no "awkward" files. */
         SVN_ERR_W (svn_client__can_delete (src_path, ctx, pool),
- "Move will not be attempted unless forced");
+ _("Move will not be attempted unless forced"));
     }
   else
     {
@@ -319,7 +321,7 @@
   /* We can't move something into itself, period. */
   if (svn_path_is_empty (src_rel) && is_move)
     return svn_error_createf (SVN_ERR_UNSUPPORTED_FEATURE, NULL,
- "Cannot move URL '%s' into itself", src_url);
+ _("Cannot move URL '%s' into itself"), src_url);
 
   /* Get the RA vtable that matches URL. */
   SVN_ERR (svn_ra_init_ra_libs (&ra_baton, pool));
@@ -348,8 +350,8 @@
         {
           return svn_error_createf
             (SVN_ERR_UNSUPPORTED_FEATURE, NULL,
- "Source and dest appear not to be in the same repository "
- "(src: '%s'; dst: '%s')",
+ _("Source and dest appear not to be in the same repository "
+ "(src: '%s'; dst: '%s')"),
              src_url, dst_url);
         }
       else
@@ -392,7 +394,7 @@
     {
       /* We disallow the overwriting of files. */
       return svn_error_createf (SVN_ERR_FS_ALREADY_EXISTS, NULL,
- "Path '%s' already exists.", dst_rel);
+ _("Path '%s' already exists."), dst_rel);
     }
   else if (dst_kind == svn_node_dir)
     {
@@ -408,12 +410,12 @@
                                    &attempt_kind, pool));
       if (attempt_kind != svn_node_none)
         return svn_error_createf (SVN_ERR_FS_ALREADY_EXISTS, NULL,
- "Path '%s' already exists", dst_rel);
+ _("Path '%s' already exists"), dst_rel);
     }
   else
     {
       return svn_error_createf (SVN_ERR_NODE_UNKNOWN_KIND, NULL,
- "Unrecognized node kind of '%s'", dst_url);
+ _("Unrecognized node kind of '%s'"), dst_url);
     }
 
   /* Create a new commit item and add it to the array. */
@@ -536,7 +538,7 @@
   if (commit_err)
     {
       commit_err = svn_error_quick_wrap
- (commit_err, "Commit failed (details follow):");
+ (commit_err, _("Commit failed (details follow):"));
       err = commit_err;
     }
 
@@ -544,14 +546,14 @@
      that follow. */
   else
     err = svn_error_create (SVN_ERR_BASE, NULL,
- "Commit succeeded, but other errors follow:");
+ _("Commit succeeded, but other errors follow:"));
 
   /* If there was an unlock error... */
   if (unlock_err)
     {
       /* Wrap the error with some headers. */
       unlock_err = svn_error_quick_wrap
- (unlock_err, "Error unlocking locked dirs (details follow):");
+ (unlock_err, _("Error unlocking locked dirs (details follow):"));
 
       /* Append this error to the chain. */
       svn_error_compose (err, unlock_err);
@@ -562,7 +564,7 @@
     {
       /* Wrap the error with some headers. */
       cleanup_err = svn_error_quick_wrap
- (cleanup_err, "Error in post-commit clean-up (details follow):");
+ (cleanup_err, _("Error in post-commit clean-up (details follow):"));
 
       /* Append this error to the chain. */
       svn_error_compose (err, cleanup_err);
@@ -641,7 +643,7 @@
       /* DST_URL is an existing file, which can't be overwritten or
          used as a container, so error out. */
       return svn_error_createf (SVN_ERR_FS_ALREADY_EXISTS, NULL,
- "File '%s' already exists", dst_url);
+ _("File '%s' already exists"), dst_url);
     }
 
   /* Create a new commit item and add it to the array. */
@@ -792,7 +794,7 @@
       else
         return svn_error_createf
           (SVN_ERR_FS_NOT_FOUND, NULL,
- "Path '%s' not found in head revision", src_url);
+ _("Path '%s' not found in head revision"), src_url);
     }
 
   /* There are two interfering sets of cases to watch out for here:
@@ -829,7 +831,7 @@
   else if (dst_kind != svn_node_none) /* must be a file */
     {
       return svn_error_createf (SVN_ERR_ENTRY_EXISTS, NULL,
- "File '%s' already exists", dst_path);
+ _("File '%s' already exists"), dst_path);
     }
 
   /* Now that dst_path has possibly been reset, check that there's
@@ -837,7 +839,7 @@
   SVN_ERR (svn_io_check_path (dst_path, &dst_kind, pool));
   if (dst_kind != svn_node_none)
     return svn_error_createf (SVN_ERR_WC_OBSTRUCTED_UPDATE, NULL,
- "'%s' is in the way", dst_path);
+ _("'%s' is in the way"), dst_path);
 
   SVN_ERR (svn_wc_adm_probe_open2 (&adm_access, NULL, dst_path, TRUE,
                                    0, pool));
@@ -852,7 +854,7 @@
     if (ent && (ent->kind != svn_node_dir))
       return svn_error_createf
         (SVN_ERR_WC_OBSTRUCTED_UPDATE, NULL,
- "Entry for '%s' exists (though the working file is missing)",
+ _("Entry for '%s' exists (though the working file is missing)"),
          dst_path);
   }
 
@@ -941,8 +943,8 @@
           
           return svn_error_createf
             (SVN_ERR_UNSUPPORTED_FEATURE, NULL,
- "Source URL '%s' is from foreign repository; "
- "leaving it as a disjoint WC", src_url);
+ _("Source URL '%s' is from foreign repository; "
+ "leaving it as a disjoint WC"), src_url);
         }
     } /* end directory case */
 
@@ -1017,7 +1019,7 @@
       && svn_path_is_child (src_path, dst_path, pool))
     return svn_error_createf
       (SVN_ERR_UNSUPPORTED_FEATURE, NULL,
- "Cannot copy path '%s' into its own child '%s'",
+ _("Cannot copy path '%s' into its own child '%s'"),
        src_path, dst_path);
 
   if (is_move)
@@ -1027,7 +1029,7 @@
           if (strcmp (src_path, dst_path) == 0)
             return svn_error_createf
               (SVN_ERR_UNSUPPORTED_FEATURE, NULL,
- "Cannot move path '%s' into itself",
+ _("Cannot move path '%s' into itself"),
                src_path);
         }
       else
@@ -1035,7 +1037,7 @@
           /* Disallow moves between the working copy and the repository. */
           return svn_error_create
             (SVN_ERR_UNSUPPORTED_FEATURE, NULL,
- "No support for repos <--> working copy moves");
+ _("No support for repos <--> working copy moves"));
         }
 
       /* It doesn't make sense to specify revisions in a move. */
@@ -1050,7 +1052,7 @@
         {
           return svn_error_create
             (SVN_ERR_UNSUPPORTED_FEATURE, NULL,
- "Cannot specify revisions with move operations");
+ _("Cannot specify revisions with move operations"));
         }
     }
   else
@@ -1074,12 +1076,12 @@
               if (! entry)
                 return svn_error_createf
                   (SVN_ERR_UNVERSIONED_RESOURCE, NULL,
- "'%s' is not under version control", src_path);
+ _("'%s' is not under version control"), src_path);
 
               if (! entry->url)
                 return svn_error_createf
                   (SVN_ERR_ENTRY_MISSING_URL, NULL,
- "'%s' does not seem to have a URL associated with it",
+ _("'%s' does not seem to have a URL associated with it"),
                    src_path);
 
               src_path = entry->url;
Index: subversion/libsvn_client/ls.c
===================================================================
--- subversion/libsvn_client/ls.c (revisi贸n: 9860)
+++ subversion/libsvn_client/ls.c (copia de trabajo)
@@ -24,6 +24,8 @@
 #include "svn_client.h"
 #include "svn_path.h"
 
+#include "svn_private_config.h"
+
 static svn_error_t *
 get_dir_contents (apr_hash_t *dirents,
                   const char *dir,
@@ -43,7 +45,7 @@
                               NULL, NULL, pool));
   else
     return svn_error_create (SVN_ERR_RA_NOT_IMPLEMENTED, NULL,
- "No get_dir() available for URL schema");
+ _("No get_dir() available for URL schema"));
 
   for (hi = apr_hash_first (pool, tmpdirents);
        hi;
@@ -117,21 +119,21 @@
                                   NULL, NULL, pool));
       else
         return svn_error_create (SVN_ERR_RA_NOT_IMPLEMENTED, NULL,
- "No get_dir() available for URL schema");
+ _("No get_dir() available for URL schema"));
 
       /* Copy the relevant entry into the caller's hash. */
       *dirents = apr_hash_make (pool);
       the_ent = apr_hash_get (parent_ents, base_name, APR_HASH_KEY_STRING);
       if (the_ent == NULL)
         return svn_error_createf (SVN_ERR_FS_NOT_FOUND, NULL,
- "URL '%s' non-existent in that revision",
+ _("URL '%s' non-existent in that revision"),
                                   url);
 
       apr_hash_set (*dirents, base_name, APR_HASH_KEY_STRING, the_ent);
     }
   else
     return svn_error_createf (SVN_ERR_FS_NOT_FOUND, NULL,
- "URL '%s' non-existent in that revision",
+ _("URL '%s' non-existent in that revision"),
                               url);
 
   return SVN_NO_ERROR;
Index: subversion/libsvn_client/blame.c
===================================================================
--- subversion/libsvn_client/blame.c (revisi贸n: 9860)
+++ subversion/libsvn_client/blame.c (copia de trabajo)
@@ -29,6 +29,8 @@
 #include "svn_path.h"
 #include "svn_sorts.h"
 
+#include "svn_private_config.h"
+
 /* The metadata associated with a particular revision. */
 struct rev
 {
@@ -319,13 +321,13 @@
   if (end_revnum < start_revnum)
     return svn_error_create
       (SVN_ERR_CLIENT_BAD_REVISION, NULL,
- "Start revision must precede end revision");
+ _("Start revision must precede end revision"));
 
   SVN_ERR (ra_lib->check_path (session, "", end_revnum, &kind, pool));
 
   if (kind == svn_node_dir)
     return svn_error_createf (SVN_ERR_CLIENT_IS_DIRECTORY, NULL,
- "URL '%s' refers to a directory", url);
+ _("URL '%s' refers to a directory"), url);
 
   condensed_targets = apr_array_make (pool, 1, sizeof (const char *));
   (*((const char **)apr_array_push (condensed_targets))) = "";
@@ -443,7 +445,7 @@
           if (svn_mime_type_is_binary (mimetype->data))
             return svn_error_createf
               (SVN_ERR_CLIENT_IS_BINARY_FILE, 0,
- "Cannot calculate blame information for binary file '%s'",
+ _("Cannot calculate blame information for binary file '%s'"),
                target);
         }
 
@@ -475,7 +477,7 @@
 
   apr_err = apr_file_open (&file, last, APR_READ, APR_OS_DEFAULT, lastpool);
   if (apr_err != APR_SUCCESS)
- return svn_error_wrap_apr (apr_err, "Can't open '%s'", last);
+ return svn_error_wrap_apr (apr_err, _("Can't open '%s'"), last);
   apr_pool_cleanup_register (lastpool, file, cleanup_tempfile,
                              apr_pool_cleanup_null);
 
Index: subversion/libsvn_client/commit_util.c
===================================================================
--- subversion/libsvn_client/commit_util.c (revisi贸n: 9860)
+++ subversion/libsvn_client/commit_util.c (copia de trabajo)
@@ -34,8 +34,8 @@
 #include <assert.h>
 #include <stdlib.h> /* for qsort() */
 
+#include "svn_private_config.h"
 
-
 /*** Uncomment this to turn on commit driver debugging. ***/
 /*
 #define SVN_CLIENT_COMMIT_DEBUG
@@ -208,7 +208,7 @@
      entry was written. */
   if ((entry->kind != svn_node_file) && (entry->kind != svn_node_dir))
     return svn_error_createf
- (SVN_ERR_NODE_UNKNOWN_KIND, NULL, "Unknown entry kind for '%s'", path);
+ (SVN_ERR_NODE_UNKNOWN_KIND, NULL, _("Unknown entry kind for '%s'"), path);
 
   SVN_ERR (svn_io_check_path (path, &kind, pool));
 
@@ -217,7 +217,7 @@
       && (kind != svn_node_none))
     {
       return svn_error_createf
- (SVN_ERR_NODE_UNKNOWN_KIND, NULL, "Unknown entry kind for '%s'", path);
+ (SVN_ERR_NODE_UNKNOWN_KIND, NULL, _("Unknown entry kind for '%s'"), path);
     }
 
   /* Get a fully populated entry for PATH if we can, and check for
@@ -267,7 +267,7 @@
   /* Bail now if any conflicts exist for the ENTRY. */
   if (tc || pc)
     return svn_error_createf (SVN_ERR_WC_FOUND_CONFLICT, NULL,
- "Aborting commit: '%s' remains in conflict",
+ _("Aborting commit: '%s' remains in conflict"),
                               path);
 
   /* If we have our own URL, and we're NOT in COPY_MODE, it wins over
@@ -323,7 +323,7 @@
       else if (! copy_mode)
         return svn_error_createf
           (SVN_ERR_WC_CORRUPT, NULL,
- "Did not expect '%s' to be a working copy root", path);
+ _("Did not expect '%s' to be a working copy root"), path);
 
       /* If the ENTRY's revision differs from that of its parent, we
          have to explicitly commit ENTRY as a copy. */
@@ -340,7 +340,7 @@
           else /* ### See issue #830 */
             return svn_error_createf
               (SVN_ERR_BAD_URL, NULL,
- "Commit item '%s' has copy flag but no copyfrom URL\n", path);
+ _("Commit item '%s' has copy flag but no copyfrom URL\n"), path);
         }
     }
 
@@ -586,10 +586,10 @@
       SVN_ERR (svn_wc_entry (&entry, target, adm_access, FALSE, subpool));
       if (! entry)
         return svn_error_createf (SVN_ERR_ENTRY_NOT_FOUND, NULL,
- "'%s' is not under version control", target);
+ _("'%s' is not under version control"), target);
       if (! entry->url)
         return svn_error_createf (SVN_ERR_WC_CORRUPT, NULL,
- "Entry for '%s' has no URL", target);
+ _("Entry for '%s' has no URL"), target);
 
       /* We have to be especially careful around entries scheduled for
          addition or replacement. */
@@ -620,7 +620,7 @@
           if (! p_entry)
             return svn_error_createf
               (SVN_ERR_WC_CORRUPT, NULL,
- "'%s' is scheduled for addition within unversioned parent",
+ _("'%s' is scheduled for addition within unversioned parent"),
                target);
           if ((p_entry->schedule == svn_wc_schedule_add)
               || (p_entry->schedule == svn_wc_schedule_replace))
@@ -640,9 +640,9 @@
       if ((entry->copied) && (entry->schedule == svn_wc_schedule_normal))
         return svn_error_createf
           (SVN_ERR_ILLEGAL_TARGET, NULL,
- "Entry for '%s' is marked as 'copied' but is not itself scheduled\n"
- "for addition. Perhaps you're committing a target that this\n"
- "inside of an unversioned (or not-yet-versioned) directory?",
+ _("Entry for '%s' is marked as 'copied' but is not itself scheduled\n"
+ "for addition. Perhaps you're committing a target that this\n"
+ "inside of an unversioned (or not-yet-versioned) directory?"),
            target);
 
       /* Handle our TARGET. */
@@ -680,9 +680,9 @@
           {
             return svn_error_createf
               (SVN_ERR_ILLEGAL_TARGET, NULL,
- "'%s' is not under version control "
- "and is not part of the commit, "
- "yet its child '%s' is part of the commit",
+ _("'%s' is not under version control "
+ "and is not part of the commit, "
+ "yet its child '%s' is part of the commit"),
                dangling_parent, dangling_child);
           }
       }
@@ -711,7 +711,7 @@
   SVN_ERR (svn_wc_entry (&entry, target, adm_access, FALSE, pool));
   if (! entry)
     return svn_error_createf
- (SVN_ERR_ENTRY_NOT_FOUND, NULL, "'%s' is not under version control",
+ (SVN_ERR_ENTRY_NOT_FOUND, NULL, _("'%s' is not under version control"),
        target);
       
   /* Handle our TARGET. */
@@ -760,7 +760,7 @@
       if ((last_item) && (strcmp (last_item->url, url) == 0))
         return svn_error_createf
           (SVN_ERR_CLIENT_DUPLICATE_COMMIT_URL, NULL,
- "Cannot commit both '%s' and '%s' as they refer to the same URL",
+ _("Cannot commit both '%s' and '%s' as they refer to the same URL"),
            item->path, last_item->path);
 
       /* In the first iteration, our BASE_URL is just our only
@@ -904,11 +904,11 @@
       if (! copyfrom_url)
         return svn_error_createf
           (SVN_ERR_BAD_URL, NULL,
- "Commit item '%s' has copy flag but no copyfrom URL", path);
+ _("Commit item '%s' has copy flag but no copyfrom URL"), path);
       if (! SVN_IS_VALID_REVNUM (item->revision))
         return svn_error_createf
           (SVN_ERR_CLIENT_BAD_REVISION, NULL,
- "Commit item '%s' has copy flag but an invalid revision", path);
+ _("Commit item '%s' has copy flag but an invalid revision"), path);
     }
 
   /* If a feedback table was supplied by the application layer,
@@ -1334,10 +1334,10 @@
   const char *copystuffs = "";
   if (copyfrom_path && SVN_IS_VALID_REVNUM(copyfrom_revision))
     copystuffs = apr_psprintf (pool,
- " (copied from %s:%ld)",
+ _(" (copied from %s:%ld)"),
                                copyfrom_path,
                                copyfrom_revision);
- fprintf (stderr, " Adding : %s%s\n", path, copystuffs);
+ fprintf (stderr, _(" Adding : %s%s\n"), path, copystuffs);
   *baton = new_baton;
   return (*db->eb->real_editor->add_file) (path, db->real_baton,
                                            copyfrom_path, copyfrom_revision,
@@ -1351,7 +1351,7 @@
               apr_pool_t *pool)
 {
   struct item_baton *db = parent_baton;
- fprintf (stderr, " Deleting: %s\n", path);
+ fprintf (stderr, _(" Deleting: %s\n"), path);
   return (*db->eb->real_editor->delete_entry) (path, revision,
                                                db->real_baton, pool);
 }
@@ -1365,7 +1365,7 @@
 {
   struct item_baton *db = parent_baton;
   struct item_baton *new_baton = make_baton (db->eb, NULL, path, pool);
- fprintf (stderr, " Opening : %s\n", path);
+ fprintf (stderr, _(" Opening : %s\n"), path);
   *baton = new_baton;
   return (*db->eb->real_editor->open_file) (path, db->real_baton,
                                             base_revision, pool,
@@ -1376,7 +1376,7 @@
 close_file (void *baton, const char *text_checksum, apr_pool_t *pool)
 {
   struct item_baton *fb = baton;
- fprintf (stderr, " Closing : %s\n", fb->path);
+ fprintf (stderr, _(" Closing : %s\n"), fb->path);
   return (*fb->eb->real_editor->close_file) (fb->real_baton,
                                              text_checksum, pool);
 }
@@ -1389,7 +1389,7 @@
                   apr_pool_t *pool)
 {
   struct item_baton *fb = file_baton;
- fprintf (stderr, " PropSet (%s=%s)\n", name, value ? value->data : "");
+ fprintf (stderr, _(" PropSet (%s=%s)\n"), name, value ? value->data : "");
   return (*fb->eb->real_editor->change_file_prop) (fb->real_baton,
                                                    name, value, pool);
 }
@@ -1402,7 +1402,7 @@
                  void **handler_baton)
 {
   struct item_baton *fb = file_baton;
- fprintf (stderr, " Transmitting text...\n");
+ fprintf (stderr, _(" Transmitting text...\n"));
   return (*fb->eb->real_editor->apply_textdelta) (fb->real_baton,
                                                   base_checksum, pool,
                                                   handler, handler_baton);
@@ -1412,7 +1412,7 @@
 close_edit (void *edit_baton, apr_pool_t *pool)
 {
   struct edit_baton *eb = edit_baton;
- fprintf (stderr, "TEST EDIT COMPLETED\n");
+ fprintf (stderr, _("TEST EDIT COMPLETED\n"));
   return (*eb->real_editor->close_edit) (eb->real_eb, pool);
 }
 
@@ -1429,10 +1429,10 @@
   const char *copystuffs = "";
   if (copyfrom_path && SVN_IS_VALID_REVNUM(copyfrom_revision))
     copystuffs = apr_psprintf (pool,
- " (copied from %s:%ld)",
+ _(" (copied from %s:%ld)"),
                                copyfrom_path,
                                copyfrom_revision);
- fprintf (stderr, " Adding : %s%s\n", path, copystuffs);
+ fprintf (stderr, _(" Adding : %s%s\n"), path, copystuffs);
   *baton = new_baton;
   return (*db->eb->real_editor->add_directory) (path,
                                                 db->real_baton,
@@ -1451,7 +1451,7 @@
 {
   struct item_baton *db = parent_baton;
   struct item_baton *new_baton = make_baton (db->eb, NULL, path, pool);
- fprintf (stderr, " Opening : %s\n", path);
+ fprintf (stderr, _(" Opening : %s\n"), path);
   *baton = new_baton;
   return (*db->eb->real_editor->open_directory) (path, db->real_baton,
                                                  base_revision, pool,
@@ -1465,7 +1465,7 @@
                  apr_pool_t *pool)
 {
   struct item_baton *db = dir_baton;
- fprintf (stderr, " PropSet (%s=%s)\n", name, value ? value->data : "");
+ fprintf (stderr, _(" PropSet (%s=%s)\n"), name, value ? value->data : "");
   return (*db->eb->real_editor->change_dir_prop) (db->real_baton,
                                                   name, value, pool);
 }
@@ -1474,7 +1474,7 @@
 close_directory (void *baton, apr_pool_t *pool)
 {
   struct item_baton *db = baton;
- fprintf (stderr, " Closing : %s\n", db->path);
+ fprintf (stderr, _(" Closing : %s\n"), db->path);
   return (*db->eb->real_editor->close_directory) (db->real_baton, pool);
 }
 
@@ -1482,7 +1482,7 @@
 abort_edit (void *edit_baton, apr_pool_t *pool)
 {
   struct edit_baton *eb = edit_baton;
- fprintf (stderr, "TEST EDIT ABORTED\n");
+ fprintf (stderr, _("TEST EDIT ABORTED\n"));
   return (*eb->real_editor->abort_edit) (eb->real_eb, pool);
 }
 
Index: subversion/libsvn_client/cleanup.c
===================================================================
--- subversion/libsvn_client/cleanup.c (revisi贸n: 9860)
+++ subversion/libsvn_client/cleanup.c (copia de trabajo)
@@ -31,6 +31,7 @@
 #include "svn_config.h"
 #include "client.h"
 
+#include "svn_private_config.h"
 
 
 /*** Code. ***/
@@ -50,7 +51,7 @@
   SVN_ERR (svn_io_check_path (dir, &kind, pool));
   if (kind != svn_node_dir)
     return svn_error_createf (SVN_ERR_WC_NOT_DIRECTORY, NULL,
- "Cannot cleanup '%s': not a directory",
+ _("Cannot cleanup '%s': not a directory"),
                               dir);
 
   svn_config_get (cfg, &diff3_cmd, SVN_CONFIG_SECTION_HELPERS,
Index: subversion/libsvn_client/add.c
===================================================================
--- subversion/libsvn_client/add.c (revisi贸n: 9860)
+++ subversion/libsvn_client/add.c (copia de trabajo)
@@ -35,7 +35,9 @@
 #include "svn_config.h"
 #include "client.h"
 
+#include "svn_private_config.h"
 
+
 
 /*** Code. ***/
 
@@ -306,7 +308,7 @@
     {
       return svn_error_createf
         (err->apr_err, err,
- "Error during recursive add of '%s'", dirname);
+ _("Error during recursive add of '%s'"), dirname);
     }
   else /* Yes, it exited cleanly, so close the dir. */
     {
@@ -316,7 +318,7 @@
       apr_err = apr_dir_close (dir);
       if (apr_err)
         return svn_error_wrap_apr
- (apr_err, "Can't close directory '%s'", dirname);
+ (apr_err, _("Can't close directory '%s'"), dirname);
     }
 
   /* Opened by svn_wc_add */
Index: subversion/libsvn_client/commit.c
===================================================================
--- subversion/libsvn_client/commit.c (revisi贸n: 9860)
+++ subversion/libsvn_client/commit.c (copia de trabajo)
@@ -43,6 +43,7 @@
 
 #include "client.h"
 
+#include "svn_private_config.h"
 
 /* Apply PATH's contents (as a delta against the empty string) to
    FILE_BATON in EDITOR. Use POOL for any temporary allocation.
@@ -439,7 +440,7 @@
     {
       return svn_error_create
         (SVN_ERR_NODE_UNKNOWN_KIND, NULL,
- "New entry name required when importing a file");
+ _("New entry name required when importing a file"));
     }
 
   /* Note that there is no need to check whether PATH's basename is
@@ -466,7 +467,7 @@
   else if (kind == svn_node_none)
     {
       return svn_error_createf (SVN_ERR_NODE_UNKNOWN_KIND, NULL,
- "'%s' does not exist", path);
+ _("'%s' does not exist"), path);
     }
 
   /* Close up shop; it's time to go home. */
@@ -527,7 +528,7 @@
                                       &kind, pool));
       if (kind == svn_node_none)
         return svn_error_createf (SVN_ERR_FS_NO_SUCH_ENTRY, NULL,
- "Path '%s' does not exist",
+ _("Path '%s' does not exist"),
                                   base_url);
     }
 
@@ -657,7 +658,7 @@
   if (kind == svn_node_file && (! new_entries->nelts))
     return svn_error_createf
       (SVN_ERR_ENTRY_EXISTS, NULL,
- "Path '%s' already exists", url);
+ _("Path '%s' already exists"), url);
 
   /* The repository doesn't know about the reserved administrative
      directory. */
@@ -667,7 +668,7 @@
                               const char *), SVN_WC_ADM_DIR_NAME) == 0))
     return svn_error_createf
       (SVN_ERR_CL_ADM_DIR_RESERVED, NULL,
- "'%s' is a reserved name and cannot be imported",
+ _("'%s' is a reserved name and cannot be imported"),
        SVN_WC_ADM_DIR_NAME);
 
 
@@ -745,7 +746,7 @@
   if (commit_err)
     {
       commit_err = svn_error_quick_wrap
- (commit_err, "Commit failed (details follow):");
+ (commit_err, _("Commit failed (details follow):"));
       err = commit_err;
     }
 
@@ -753,14 +754,14 @@
      that follow. */
   else
     err = svn_error_create (SVN_ERR_BASE, NULL,
- "Commit succeeded, but other errors follow:");
+ _("Commit succeeded, but other errors follow:"));
 
   /* If there was an unlock error... */
   if (unlock_err)
     {
       /* Wrap the error with some headers. */
       unlock_err = svn_error_quick_wrap
- (unlock_err, "Error unlocking locked dirs (details follow):");
+ (unlock_err, _("Error unlocking locked dirs (details follow):"));
 
       /* Append this error to the chain. */
       svn_error_compose (err, unlock_err);
@@ -771,7 +772,7 @@
     {
       /* Wrap the error with some headers. */
       bump_err = svn_error_quick_wrap
- (bump_err, "Error bumping revisions post-commit (details follow):");
+ (bump_err, _("Error bumping revisions post-commit (details follow):"));
 
       /* Append this error to the chain. */
       svn_error_compose (err, bump_err);
@@ -782,7 +783,7 @@
     {
       /* Wrap the error with some headers. */
       cleanup_err = svn_error_quick_wrap
- (cleanup_err, "Error in post-commit clean-up (details follow):");
+ (cleanup_err, _("Error in post-commit clean-up (details follow):"));
 
       /* Append this error to the chain. */
       svn_error_compose (err, cleanup_err);
@@ -1051,7 +1052,7 @@
       if (svn_path_is_url (target))
         return svn_error_createf
           (SVN_ERR_ILLEGAL_TARGET, NULL,
- "'%s' is a URL, but URLs cannot be commit targets", target);
+ _("'%s' is a URL, but URLs cannot be commit targets"), target);
     }
 
   /* Condense the target list. */
@@ -1236,7 +1237,7 @@
                                       pool));
       SVN_ERR_W (svn_wc_adm_probe_retrieve (&adm_access, base_dir_access,
                                             target, pool),
- "Are all the targets part of the same working copy?");
+ _("Are all the targets part of the same working copy?"));
     }
 
   /* Crawl the working copy for commit items. */
Index: subversion/clients/cmdline/merge-cmd.c
===================================================================
--- subversion/clients/cmdline/merge-cmd.c (revisi贸n: 9860)
+++ subversion/clients/cmdline/merge-cmd.c (copia de trabajo)
@@ -31,6 +31,8 @@
 #include "svn_types.h"
 #include "cl.h"
 
+#include "svn_private_config.h"
+
 
 /*** Code. ***/
 
@@ -59,7 +61,7 @@
           svn_opt_subcommand_help ("merge", svn_cl__cmd_table,
                                    svn_cl__options, pool);
           return svn_error_create (SVN_ERR_CL_INSUFFICIENT_ARGS, 0,
- "Second revision required");
+ _("Second revision required"));
         }
       using_alternate_syntax = TRUE;
     }
@@ -83,7 +85,7 @@
           svn_opt_subcommand_help ("merge", svn_cl__cmd_table,
                                    svn_cl__options, pool);
           return svn_error_create (SVN_ERR_CL_INSUFFICIENT_ARGS, 0,
- "Wrong number of paths given");
+ _("Wrong number of paths given"));
         }
 
       SVN_ERR (svn_opt_parse_path (&peg_revision, &sourcepath1,
@@ -108,7 +110,7 @@
           svn_opt_subcommand_help ("merge", svn_cl__cmd_table,
                                    svn_cl__options, pool);
           return svn_error_create (SVN_ERR_CL_INSUFFICIENT_ARGS, 0,
- "Wrong number of paths given");
+ _("Wrong number of paths given"));
         }
 
       /* the first two paths become the 'sources' */
@@ -126,7 +128,7 @@
            && ! svn_path_is_url (sourcepath2)))
         return svn_error_create
           (SVN_ERR_CLIENT_BAD_REVISION, 0,
- "A working copy merge source needs an explicit revision");
+ _("A working copy merge source needs an explicit revision"));
 
       /* decide where to apply the diffs, defaulting to '.' */
       if (targets->nelts == 3)
Index: subversion/clients/cmdline/propdel-cmd.c
===================================================================
--- subversion/clients/cmdline/propdel-cmd.c (revisi贸n: 9860)
+++ subversion/clients/cmdline/propdel-cmd.c (copia de trabajo)
@@ -34,6 +34,8 @@
 #include "svn_path.h"
 #include "cl.h"
 
+#include "svn_private_config.h"
+
 
 /*** Code. ***/
 
@@ -80,12 +82,12 @@
          which needs to be converted to a URL. */
       if (targets->nelts <= 0)
         return svn_error_create(SVN_ERR_CL_INSUFFICIENT_ARGS, NULL,
- "No URL target available");
+ _("No URL target available"));
       target = ((const char **) (targets->elts))[0];
       SVN_ERR (svn_client_url_from_path (&URL, target, pool));
       if (URL == NULL)
         return svn_error_create(SVN_ERR_UNVERSIONED_RESOURCE, NULL,
- "Either a URL or versioned item is required");
+ _("Either a URL or versioned item is required"));
 
       /* Let libsvn_client do the real work. */
       SVN_ERR (svn_client_revprop_set (pname_utf8, NULL,
@@ -103,7 +105,7 @@
     {
       return svn_error_createf
         (SVN_ERR_CL_ARG_PARSING_ERROR, NULL,
- "Cannot specify revision for deleting versioned property '%s'",
+ _("Cannot specify revision for deleting versioned property '%s'"),
          pname);
     }
   else /* operate on a normal, versioned property (not a revprop) */
Index: subversion/clients/cmdline/log-cmd.c
===================================================================
--- subversion/clients/cmdline/log-cmd.c (revisi贸n: 9860)
+++ subversion/clients/cmdline/log-cmd.c (copia de trabajo)
@@ -198,7 +198,8 @@
   if (rev == 0)
     {
       return svn_stream_printf (lb->out, pool,
- "No commit for revision 0." APR_EOL_STR);
+ _("No commit for revision 0.%s"),
+ APR_EOL_STR);
     }
 
   /* ### See http://subversion.tigris.org/issues/show_bug.cgi?id=807
@@ -252,8 +253,9 @@
     {
       lines = num_lines (msg_stdout);
       SVN_ERR (svn_stream_printf (lb->out, pool,
- " | %d line%s", lines,
- (lines > 1) ? "s" : ""));
+ (lines == 1) ?
+ _(" | %d line") : _(" | %d lines"),
+ lines));
     }
 
   SVN_ERR (svn_stream_printf (lb->out, pool, APR_EOL_STR));
@@ -268,7 +270,7 @@
                                      svn_sort_compare_items_as_paths, pool);
 
       SVN_ERR (svn_stream_printf (lb->out, pool,
- "Changed paths:" APR_EOL_STR));
+ _("Changed paths:%s"), APR_EOL_STR));
       for (i = 0; i < sorted_paths->nelts; i++)
         {
           svn_sort__item_t *item = &(APR_ARRAY_IDX (sorted_paths, i,
@@ -285,7 +287,7 @@
                        (&path_stdout, log_item->copyfrom_path, pool));
               copy_data
                 = apr_psprintf (pool,
- " (from %s:%ld)",
+ _(" (from %s:%ld)"),
                                 path_stdout,
                                 log_item->copyfrom_rev);
             }
Index: subversion/clients/cmdline/propset-cmd.c
===================================================================
--- subversion/clients/cmdline/propset-cmd.c (revisi贸n: 9860)
+++ subversion/clients/cmdline/propset-cmd.c (copia de trabajo)
@@ -34,6 +34,8 @@
 #include "svn_subst.h"
 #include "cl.h"
 
+#include "svn_private_config.h"
+
 
 /*** Code. ***/
 
@@ -81,7 +83,7 @@
     if (opt_state->encoding)
       return svn_error_create
         (SVN_ERR_UNSUPPORTED_FEATURE, NULL,
- "Bad encoding option: prop value not stored as UTF8");
+ _("Bad encoding option: prop value not stored as UTF8"));
   
   /* Suck up all the remaining arguments into a targets array */
   SVN_ERR (svn_opt_args_to_target_array (&targets, os,
@@ -110,7 +112,7 @@
          which needs to be converted to a URL. */
       if (targets->nelts <= 0)
         return svn_error_create(SVN_ERR_CL_INSUFFICIENT_ARGS, NULL,
- "No URL target available");
+ _("No URL target available"));
       target = ((const char **) (targets->elts))[0];
       SVN_ERR (svn_client_url_from_path (&URL, target, pool));
       if (URL == NULL)
@@ -134,7 +136,7 @@
     {
       return svn_error_createf
         (SVN_ERR_CL_ARG_PARSING_ERROR, NULL,
- "Cannot specify revision for setting versioned property '%s'",
+ _("Cannot specify revision for setting versioned property '%s'"),
          pname);
     }
   else /* operate on a normal, versioned property (not a revprop) */
@@ -166,14 +168,14 @@
             {
               return svn_error_createf
                 (SVN_ERR_CL_INSUFFICIENT_ARGS, NULL,
- "Explicit target required ('%s' interpreted as prop value)",
+ _("Explicit target required ('%s' interpreted as prop value)"),
                  propval->data);
             }
           else
             {
               return svn_error_create
                 (SVN_ERR_CL_INSUFFICIENT_ARGS, NULL,
- "Explicit target argument required");
+ _("Explicit target argument required"));
             }
         }
 
Index: subversion/clients/cmdline/import-cmd.c
===================================================================
--- subversion/clients/cmdline/import-cmd.c (revisi贸n: 9860)
+++ subversion/clients/cmdline/import-cmd.c (copia de trabajo)
@@ -30,6 +30,8 @@
 #include "svn_error.h"
 #include "cl.h"
 
+#include "svn_private_config.h"
+
 
 /*** Code. ***/
 
@@ -83,11 +85,11 @@
   if (targets->nelts < 1)
     return svn_error_create
       (SVN_ERR_CL_ARG_PARSING_ERROR, NULL,
- "Repository URL required when importing");
+ _("Repository URL required when importing"));
   else if (targets->nelts > 2)
     return svn_error_create
       (SVN_ERR_CL_ARG_PARSING_ERROR, NULL,
- "Too many arguments to import command");
+ _("Too many arguments to import command"));
   else if (targets->nelts == 1)
     {
       url = ((const char **) (targets->elts))[0];
@@ -102,7 +104,7 @@
   if (! svn_path_is_url (url))
     return svn_error_createf
       (SVN_ERR_CL_ARG_PARSING_ERROR, NULL,
- "Invalid URL '%s'", url);
+ _("Invalid URL '%s'"), url);
 
   if (! opt_state->quiet)
     svn_cl__get_notifier (&ctx->notify_func, &ctx->notify_baton,
Index: subversion/clients/cmdline/proplist-cmd.c
===================================================================
--- subversion/clients/cmdline/proplist-cmd.c (revisi贸n: 9860)
+++ subversion/clients/cmdline/proplist-cmd.c (copia de trabajo)
@@ -33,6 +33,8 @@
 #include "svn_path.h"
 #include "cl.h"
 
+#include "svn_private_config.h"
+
 
 /*** Code. ***/
 
@@ -74,12 +76,12 @@
          which needs to be converted to a URL. */
       if (targets->nelts <= 0)
         return svn_error_create(SVN_ERR_CL_INSUFFICIENT_ARGS, NULL,
- "No URL target available");
+ _("No URL target available"));
       target = ((const char **) (targets->elts))[0];
       SVN_ERR (svn_client_url_from_path (&URL, target, pool));
       if (URL == NULL)
         return svn_error_create(SVN_ERR_UNVERSIONED_RESOURCE, NULL,
- "Either a URL or versioned item is required");
+ _("Either a URL or versioned item is required"));
   
       /* Let libsvn_client do the real work. */
       SVN_ERR (svn_client_revprop_list (&proplist,
Index: subversion/clients/cmdline/propedit-cmd.c
===================================================================
--- subversion/clients/cmdline/propedit-cmd.c (revisi贸n: 9860)
+++ subversion/clients/cmdline/propedit-cmd.c (copia de trabajo)
@@ -36,6 +36,8 @@
 #include "svn_private_config.h"
 #include "cl.h"
 
+#include "svn_private_config.h"
+
 
 /*** Code. ***/
 
@@ -87,12 +89,12 @@
          which needs to be converted to a URL. */
       if (targets->nelts <= 0)
         return svn_error_create(SVN_ERR_CL_INSUFFICIENT_ARGS, NULL,
- "No URL target available");
+ _("No URL target available"));
       target = ((const char **) (targets->elts))[0];
       SVN_ERR (svn_client_url_from_path (&URL, target, pool));
       if (URL == NULL)
         return svn_error_create(SVN_ERR_UNVERSIONED_RESOURCE, NULL,
- "Either a URL or versioned item is required");
+ _("Either a URL or versioned item is required"));
 
       /* Fetch the current property. */
       SVN_ERR (svn_client_revprop_get (pname_utf8, &propval,
Index: subversion/svndumpfilter/main.c
===================================================================
--- subversion/svndumpfilter/main.c (revisi贸n: 9860)
+++ subversion/svndumpfilter/main.c (copia de trabajo)
@@ -34,6 +34,8 @@
 #include "svn_pools.h"
 #include "svn_sorts.h"
 
+#include "svn_private_config.h"
+
 
 /*** Code. ***/
 
Index: subversion/libsvn_fs_fs/fs_fs.c
===================================================================
--- subversion/libsvn_fs_fs/fs_fs.c (revisi贸n: 9860)
+++ subversion/libsvn_fs_fs/fs_fs.c (copia de trabajo)
@@ -46,6 +46,8 @@
 
 #include "../libsvn_fs/fs-loader.h"
 
+#include "svn_private_config.h"
+
 /* Following are defines that specify the textual elements of the
    native filesystem directories and revision files. */
 
@@ -357,8 +359,8 @@
         {
           if (header_str[i] == '\0')
             return svn_error_create (SVN_ERR_FS_CORRUPT, NULL,
- "Found malformed header in "
- "revision file");
+ _("Found malformed header in "
+ "revision file"));
           i++;
         }
       
@@ -371,8 +373,8 @@
 
       if (i > header_len)
         return svn_error_create (SVN_ERR_FS_CORRUPT, NULL,
- "Found malformed header in "
- "revision file");
+ _("Found malformed header in "
+ "revision file"));
 
       value = header_str + i;
 
@@ -473,7 +475,7 @@
   str = apr_strtok (string, " ", &last_str);
   if (str == NULL)
     return svn_error_create (SVN_ERR_FS_CORRUPT, NULL,
- "Malformed text rep offset line in node-rev");
+ _("Malformed text rep offset line in node-rev"));
 
 
   rep->revision = SVN_STR_TO_REV (str);
@@ -487,21 +489,21 @@
   str = apr_strtok (NULL, " ", &last_str);
   if (str == NULL)
     return svn_error_create (SVN_ERR_FS_CORRUPT, NULL,
- "Malformed text rep offset line in node-rev");
+ _("Malformed text rep offset line in node-rev"));
   
   rep->offset = apr_atoi64 (str);
   
   str = apr_strtok (NULL, " ", &last_str);
   if (str == NULL)
     return svn_error_create (SVN_ERR_FS_CORRUPT, NULL,
- "Malformed text rep offset line in node-rev");
+ _("Malformed text rep offset line in node-rev"));
   
   rep->size = apr_atoi64 (str);
   
   str = apr_strtok (NULL, " ", &last_str);
   if (str == NULL)
     return svn_error_create (SVN_ERR_FS_CORRUPT, NULL,
- "Malformed text rep offset line in node-rev");
+ _("Malformed text rep offset line in node-rev"));
   
   rep->expanded_size = apr_atoi64 (str);
 
@@ -509,14 +511,14 @@
   str = apr_strtok (NULL, " ", &last_str);
   if ((str == NULL) || (strlen (str) != (APR_MD5_DIGESTSIZE * 2)))
     return svn_error_create (SVN_ERR_FS_CORRUPT, NULL,
- "Malformed text rep offset line in node-rev");
+ _("Malformed text rep offset line in node-rev"));
 
   /* Parse the hex MD5 hash into digest form. */
   for (i = 0; i < APR_MD5_DIGESTSIZE; i++)
     {
       if ((! isxdigit (str[i * 2])) || (! isxdigit (str[i * 2 + 1])))
         return svn_error_create (SVN_ERR_FS_CORRUPT, NULL,
- "Malformed text rep offset line in node-rev");
+ _("Malformed text rep offset line in node-rev"));
 
       str[i * 2] = tolower (str[i * 2]);
       rep->checksum[i] = (str[i * 2] -
@@ -585,7 +587,7 @@
   if ((value == NULL) ||
       (strcmp (value, KIND_FILE) != 0 && strcmp (value, KIND_DIR)))
     return svn_error_create (SVN_ERR_FS_CORRUPT, NULL,
- "Missing kind field in node-rev.");
+ _("Missing kind field in node-rev."));
 
   noderev->kind = (strcmp (value, KIND_FILE) == 0) ? svn_node_file
     : svn_node_dir;
@@ -616,7 +618,7 @@
   if (value == NULL)
     {
       return svn_error_create (SVN_ERR_FS_CORRUPT, NULL,
- "Missing cpath in node-rev");
+ _("Missing cpath in node-rev"));
     }
   else
     {
@@ -643,13 +645,13 @@
       str = apr_strtok (value, " ", &last_str);
       if (str == NULL)
         return svn_error_create (SVN_ERR_FS_CORRUPT, NULL,
- "Malformed copyroot line in node-rev");
+ _("Malformed copyroot line in node-rev"));
 
       noderev->copyroot_rev = atoi (str);
       
       if (last_str == NULL)
         return svn_error_create (SVN_ERR_FS_CORRUPT, NULL,
- "Malformed copyroot line in node-rev");
+ _("Malformed copyroot line in node-rev"));
       noderev->copyroot_path = apr_pstrdup (pool, last_str);
     }
 
@@ -667,13 +669,13 @@
       str = apr_strtok (value, " ", &last_str);
       if (str == NULL)
         return svn_error_create (SVN_ERR_FS_CORRUPT, NULL,
- "Malformed copyfrom line in node-rev");
+ _("Malformed copyfrom line in node-rev"));
 
       noderev->copyfrom_rev = atoi (str);
       
       if (last_str == NULL)
         return svn_error_create (SVN_ERR_FS_CORRUPT, NULL,
- "Malformed copyfrom line in node-rev");
+ _("Malformed copyfrom line in node-rev"));
       noderev->copyfrom_path = apr_pstrdup (pool, last_str);
     }
 
@@ -771,7 +773,7 @@
 
   if (! txn_id)
     return svn_error_create (SVN_ERR_FS_CORRUPT, NULL,
- "Attempted to write to non-transaction.");
+ _("Attempted to write to non-transaction."));
 
   SVN_ERR (svn_io_file_open (&noderev_file, path_txn_node_rev (fs, id, pool),
                              APR_WRITE | APR_CREATE | APR_TRUNCATE,
@@ -855,7 +857,7 @@
 
  err:
   return svn_error_create (SVN_ERR_FS_CORRUPT, NULL,
- "Malformed representation header.");
+ _("Malformed representation header."));
 }
 
 /* Given a revision file REV_FILE, find the Node-ID of the header
@@ -879,13 +881,13 @@
 
   if (node_id_str == NULL)
     return svn_error_create (SVN_ERR_FS_CORRUPT, NULL,
- "Missing node-id in node-rev");
+ _("Missing node-id in node-rev"));
 
   id = svn_fs_fs__id_parse (node_id_str, strlen (node_id_str), pool);
 
   if (id == NULL)
     return svn_error_create (SVN_ERR_FS_CORRUPT, NULL,
- "Corrupt node-id in node-rev");
+ _("Corrupt node-id in node-rev"));
 
   *id_p = id;
 
@@ -930,7 +932,7 @@
   if (buf[num_bytes - 1] != '\n')
     {
       return svn_error_createf (SVN_ERR_FS_CORRUPT, NULL,
- "Revision file lacks trailing newline.");
+ _("Revision file lacks trailing newline."));
     }
 
   /* Look for the next previous newline. */
@@ -942,8 +944,8 @@
   if (i < 0)
     {
       return svn_error_createf (SVN_ERR_FS_CORRUPT, NULL,
- "Final line in revision file longer than 64 "
- "characters.");
+ _("Final line in revision file longer than 64 "
+ "characters."));
     }
 
   if (root_offset)
@@ -955,7 +957,7 @@
 
   if (i == (num_bytes - 2))
     return svn_error_create (SVN_ERR_FS_CORRUPT, NULL,
- "Final line in revision file missing space.");
+ _("Final line in revision file missing space."));
 
   i++;
 
@@ -982,7 +984,7 @@
     {
       svn_error_clear (err);
       return svn_error_createf (SVN_ERR_FS_NO_SUCH_REVISION, NULL,
- "No such revision %ld", rev);
+ _("No such revision %ld"), rev);
     }
   else if (err)
     return err;
@@ -1099,7 +1101,7 @@
       SVN_ERR (svn_io_file_read_full (file, buf, 4, NULL, pool));
       if (! ((buf[0] == 'S') && (buf[1] == 'V') && (buf[2] == 'N')))
         return svn_error_create (SVN_ERR_FS_CORRUPT, NULL,
- "Malformed svndiff data in representation.");
+ _("Malformed svndiff data in representation."));
       rs->ver = buf[3];
       rs->chunk_index = 0;
       rs->off += 4;
@@ -1201,8 +1203,8 @@
   SVN_ERR (get_file_offset (&rs->off, rs->file, pool));
   if (rs->off > rs->end)
     return svn_error_create (SVN_ERR_FS_CORRUPT, NULL,
- "Reading one svndiff window read beyond the end "
- "of the representation.");
+ _("Reading one svndiff window read beyond the end "
+ "of the representation."));
 
   /* Combine in the windows from the other delta reps, if needed. */
   for (i = 1; i < rb->rs_list->nelts; i++)
@@ -1221,8 +1223,9 @@
           SVN_ERR (svn_io_file_seek (rs->file, APR_CUR, &rs->off, pool));
           if (rs->off >= rs->end)
             return svn_error_create (SVN_ERR_FS_CORRUPT, NULL,
- "Reading one svndiff window read beyond "
- "the end of the representation.");
+ _("Reading one svndiff window read "
+ "beyond the end of the "
+ "representation."));
         }
 
       /* Read the next window. */
@@ -1233,8 +1236,8 @@
 
       if (rs->off > rs->end)
         return svn_error_create (SVN_ERR_FS_CORRUPT, NULL,
- "Reading one svndiff window read beyond "
- "the end of the representation.");
+ _("Reading one svndiff window read beyond "
+ "the end of the representation."));
 
       /* Combine this window with the current one. Cycles pools so that we
          only need to hold three windows at a time. */
@@ -1324,14 +1327,14 @@
             {
               if (! rb->src_state)
                 return svn_error_create (SVN_ERR_FS_CORRUPT, NULL,
- "svndiff data requested "
- "non-existant source.");
+ _("svndiff data requested "
+ "non-existant source."));
               rs = rb->src_state;
               sbuf = apr_pcalloc (rb->pool, window->sview_len);
               if (! ((rs->start + window->sview_offset) < rs->end))
                 return svn_error_create (SVN_ERR_FS_CORRUPT, NULL,
- "svndiff requested position beyond "
- "end of stream.");
+ _("svndiff requested position beyond "
+ "end of stream."));
               if ((rs->start + window->sview_offset) != rs->off)
                 {
                   rs->off = rs->start + window->sview_offset;
@@ -1352,7 +1355,7 @@
                                            &rb->buf_len);
           if (rb->buf_len != window->tview_len)
             return svn_error_create (SVN_ERR_FS_CORRUPT, NULL,
- "svndiff window length is corrupt.");
+ _("svndiff window length is corrupt."));
           rb->buf_pos = 0;
         }
     }
@@ -1488,7 +1491,7 @@
       str = apr_strtok (str_val, " ", &last_str);
       if (str == NULL)
         return svn_error_create (SVN_ERR_FS_CORRUPT, NULL,
- "Directory entry corrupt");
+ _("Directory entry corrupt"));
       
       if (strcmp (str, KIND_FILE) == 0)
         {
@@ -1501,13 +1504,13 @@
       else
         {
           return svn_error_create (SVN_ERR_FS_CORRUPT, NULL,
- "Directory entry corrupt");
+ _("Directory entry corrupt"));
         }
 
       str = apr_strtok (NULL, " ", &last_str);
       if (str == NULL)
         return svn_error_create (SVN_ERR_FS_CORRUPT, NULL,
- "Directory entry corrupt");
+ _("Directory entry corrupt"));
       
       dirent->id = svn_fs_fs__id_parse (str, strlen (str),
                                         ffd->dir_cache_pool);
@@ -1674,7 +1677,7 @@
       if ((! change->noderev_id) && (change->kind != svn_fs_path_change_reset))
         return svn_error_create
           (SVN_ERR_FS_CORRUPT, NULL,
- "Missing required node revision ID");
+ _("Missing required node revision ID"));
 
       /* Sanity check: we should be talking about the same node
          revision ID as our last change except where the last change
@@ -1684,8 +1687,8 @@
           && (old_change->change_kind != svn_fs_path_change_delete))
         return svn_error_create
           (SVN_ERR_FS_CORRUPT, NULL,
- "Invalid change ordering: new node revision ID "
- "without delete");
+ _("Invalid change ordering: new node revision ID "
+ "without delete"));
 
       /* Sanity check: an add, replacement, or reset must be the first
          thing to follow a deletion. */
@@ -1695,7 +1698,7 @@
                  || (change->kind == svn_fs_path_change_add))))
         return svn_error_create
           (SVN_ERR_FS_CORRUPT, NULL,
- "Invalid change ordering: non-add change on deleted path");
+ _("Invalid change ordering: non-add change on deleted path"));
 
       /* Now, merge that change in. */
       switch (change->kind)
@@ -1840,7 +1843,7 @@
   str = apr_strtok (buf, " ", &last_str);
   if (str == NULL)
     return svn_error_create (SVN_ERR_FS_CORRUPT, NULL,
- "Invalid changes line in rev-file");
+ _("Invalid changes line in rev-file"));
 
   change->noderev_id = svn_fs_fs__id_parse (str, strlen (str), pool);
 
@@ -1848,7 +1851,7 @@
   str = apr_strtok (NULL, " ", &last_str);
   if (str == NULL)
     return svn_error_create (SVN_ERR_FS_CORRUPT, NULL,
- "Invalid changes line in rev-file");
+ _("Invalid changes line in rev-file"));
 
   if (strcmp (str, ACTION_MODIFY) == 0)
     {
@@ -1873,14 +1876,14 @@
   else
     {
       return svn_error_create (SVN_ERR_FS_CORRUPT, NULL,
- "Invalid change kind in rev file");
+ _("Invalid change kind in rev file"));
     }
 
   /* Get the text-mod flag. */
   str = apr_strtok (NULL, " ", &last_str);
   if (str == NULL)
     return svn_error_create (SVN_ERR_FS_CORRUPT, NULL,
- "Invalid changes line in rev-file");
+ _("Invalid changes line in rev-file"));
 
   if (strcmp (str, FLAG_TRUE) == 0)
     {
@@ -1893,14 +1896,14 @@
   else
     {
       return svn_error_create (SVN_ERR_FS_CORRUPT, NULL,
- "Invalid text-mod flag in rev-file");
+ _("Invalid text-mod flag in rev-file"));
     }
 
   /* Get the prop-mod flag. */
   str = apr_strtok (NULL, " ", &last_str);
   if (str == NULL)
     return svn_error_create (SVN_ERR_FS_CORRUPT, NULL,
- "Invalid changes line in rev-file");
+ _("Invalid changes line in rev-file"));
 
   if (strcmp (str, FLAG_TRUE) == 0)
     {
@@ -1913,7 +1916,7 @@
   else
     {
       return svn_error_create (SVN_ERR_FS_CORRUPT, NULL,
- "Invalid prop-mod flag in rev-file");
+ _("Invalid prop-mod flag in rev-file"));
     }
 
   /* Get the changed path. */
@@ -1933,12 +1936,12 @@
       str = apr_strtok (buf, " ", &last_str);
       if (! str)
         return svn_error_create (SVN_ERR_FS_CORRUPT, NULL,
- "Invalid changes line in rev-file");
+ _("Invalid changes line in rev-file"));
       change->copyfrom_rev = atol (str);
 
       if (! last_str)
         return svn_error_create (SVN_ERR_FS_CORRUPT, NULL,
- "Invalid changes line in rev-file");
+ _("Invalid changes line in rev-file"));
 
       change->copyfrom_path = apr_pstrdup (pool, last_str);
     }
@@ -2088,7 +2091,7 @@
 
   if (svn_fs_fs__id_txn_id (noderev->id))
     return svn_error_create (SVN_ERR_FS_CORRUPT, NULL,
- "Copying from transactions not allowed.");
+ _("Copying from transactions not allowed."));
 
   noderev->predecessor_id = noderev->id;
   noderev->predecessor_count++;
@@ -2317,14 +2320,14 @@
   str = apr_strtok (buf, " ", &last_str);
   if (! str)
     return svn_error_create (SVN_ERR_FS_CORRUPT, NULL,
- "next-id file corrupt");
+ _("next-id file corrupt"));
 
   *node_id = apr_pstrdup (pool, str);
 
   str = apr_strtok (NULL, " ", &last_str);
   if (! str)
     return svn_error_create (SVN_ERR_FS_CORRUPT, NULL,
- "next-id file corrupt");
+ _("next-id file corrupt"));
 
   *copy_id = apr_pstrdup (pool, str);
 
@@ -2592,7 +2595,7 @@
       break;
     default:
       return svn_error_create (SVN_ERR_FS_CORRUPT, NULL,
- "Invalid change type.");
+ _("Invalid change type."));
     }
 
   if (change->node_rev_id)
@@ -2884,7 +2887,7 @@
 
   if (! svn_fs_fs__id_txn_id (noderev->id))
     return svn_error_create (SVN_ERR_FS_CORRUPT, NULL,
- "Attempted to write to non-transaction.");
+ _("Attempted to write to non-transaction."));
 
   SVN_ERR (rep_write_get_baton (&wb, fs, noderev, pool));
 
@@ -2903,7 +2906,7 @@
 {
   if (noderev->kind != svn_node_file)
     return svn_error_create (SVN_ERR_FS_NOT_FILE, NULL,
- "Can't set text contents of a directory");
+ _("Can't set text contents of a directory"));
 
   return set_representation (stream, fs, noderev, pool);
 }
@@ -2993,19 +2996,19 @@
   str = apr_strtok (buf, " ", &last_str);
   if (! str)
     return svn_error_create (SVN_ERR_FS_CORRUPT, NULL,
- "Corrupt current file.");
+ _("Corrupt current file."));
 
   str = apr_strtok (NULL, " ", &last_str);
   if (! str)
     return svn_error_create (SVN_ERR_FS_CORRUPT, NULL,
- "Corrupt current file.");
+ _("Corrupt current file."));
 
   *node_id = apr_pstrdup (pool, str);
 
   str = apr_strtok (NULL, " ", &last_str);
   if (! str)
     return svn_error_create (SVN_ERR_FS_CORRUPT, NULL,
- "Corrupt current file.");
+ _("Corrupt current file."));
 
   *copy_id = apr_pstrdup (pool, str);
 
@@ -3290,10 +3293,10 @@
   /* Match the perms on the old file to the perms reference file. */
   status = apr_stat (&finfo, perms_reference, APR_FINFO_PROT, pool);
   if (! APR_STATUS_IS_SUCCESS (status))
- return svn_error_wrap_apr (status, "Can't stat '%s'", perms_reference);
+ return svn_error_wrap_apr (status, _("Can't stat '%s'"), perms_reference);
   status = apr_file_perms_set (old_filename, finfo.protection);
   if (! APR_STATUS_IS_SUCCESS (status))
- return svn_error_wrap_apr (status, "Can't chmod '%s'", old_filename);
+ return svn_error_wrap_apr (status, _("Can't chmod '%s'"), old_filename);
 #endif
 
   /* Move the file into place. */
@@ -3426,7 +3429,7 @@
     {
       svn_pool_destroy (subpool);
       return svn_error_create (SVN_ERR_FS_TXN_OUT_OF_DATE, NULL,
- "Transaction out of date.");
+ _("Transaction out of date."));
     }
 
   /* Get the next node_id and copy_id to use. */
@@ -3673,7 +3676,7 @@
   /* Did we find it? */
   if (kind != svn_node_dir)
     return svn_error_create (SVN_ERR_FS_NO_SUCH_TRANSACTION, NULL,
- "No such transaction.");
+ _("No such transaction."));
       
   txn = apr_pcalloc (pool, sizeof (*txn));
 
Index: subversion/libsvn_fs_fs/err.c
===================================================================
--- subversion/libsvn_fs_fs/err.c (revisi贸n: 9860)
+++ subversion/libsvn_fs_fs/err.c (copia de trabajo)
@@ -37,7 +37,7 @@
     return SVN_NO_ERROR;
   else
     return svn_error_create (SVN_ERR_FS_NOT_OPEN, 0,
- "filesystem object has not been opened yet");
+ _("filesystem object has not been opened yet"));
 }
 
 
@@ -58,7 +58,7 @@
 svn_fs_fs__err_corrupt_node_revision (svn_fs_t *fs, const svn_fs_id_t *id)
 {
   return
- corrupt_id ("Corrupt node revision for node '%s' in filesystem '%s'",
+ corrupt_id (_("Corrupt node revision for node '%s' in filesystem '%s'"),
                 id, fs);
 }
 
@@ -81,7 +81,7 @@
   return
     svn_error_createf
     (SVN_ERR_FS_CORRUPT, 0,
- "Corrupt clone record for '%s' in transaction '%s' in filesystem '%s'",
+ _("Corrupt clone record for '%s' in transaction '%s' in filesystem '%s'"),
      base_path, svn_txn, fs->path);
 }
 
@@ -90,7 +90,7 @@
 svn_fs_fs__err_corrupt_id (svn_fs_t *fs, const svn_fs_id_t *id)
 {
   return
- corrupt_id ("Corrupt node revision id '%s' appears in filesystem '%s'",
+ corrupt_id (_("Corrupt node revision id '%s' appears in filesystem '%s'"),
                 id, fs);
 }
 
@@ -101,7 +101,7 @@
   svn_string_t *id_str = svn_fs_fs__id_unparse (id, fs->pool);
   return svn_error_createf
     (SVN_ERR_FS_ID_NOT_FOUND, 0,
- "Reference to non-existent node '%s' in filesystem '%s'",
+ _("Reference to non-existent node '%s' in filesystem '%s'"),
      id_str->data, fs->path);
 }
 
@@ -122,7 +122,7 @@
   return
     svn_error_createf
     (SVN_ERR_FS_CORRUPT, 0,
- "Malformed ID as key in 'nodes' table of filesystem '%s'", fs->path);
+ _("Malformed ID as key in 'nodes' table of filesystem '%s'"), fs->path);
 }
 
 
@@ -132,7 +132,7 @@
   return
     svn_error_createf
     (SVN_ERR_FS_CORRUPT, 0,
- "Corrupt value for 'next-id' key in '%s' table of filesystem '%s'",
+ _("Corrupt value for 'next-id' key in '%s' table of filesystem '%s'"),
      table, fs->path);
 }
 
@@ -144,8 +144,8 @@
   return
     svn_error_createf
     (SVN_ERR_FS_CORRUPT, 0,
- "Corrupt entry in 'transactions' table for '%s'"
- " in filesystem '%s'", txn, fs->path);
+ _("Corrupt entry in 'transactions' table for '%s'"
+ " in filesystem '%s'"), txn, fs->path);
 }
 
 
@@ -155,7 +155,7 @@
   return
     svn_error_createf
     (SVN_ERR_FS_CORRUPT, 0,
- "Corrupt entry in 'copies' table for '%s' in filesystem '%s'",
+ _("Corrupt entry in 'copies' table for '%s' in filesystem '%s'"),
      copy_id, fs->path);
 }
 
@@ -177,7 +177,7 @@
   return
     svn_error_createf
     (SVN_ERR_FS_PATH_SYNTAX, 0,
- "Search for malformed path '%s' in filesystem '%s'",
+ _("Search for malformed path '%s' in filesystem '%s'"),
      path, fs->path);
 }
 
@@ -188,7 +188,7 @@
   return
     svn_error_createf
     (SVN_ERR_FS_NO_SUCH_TRANSACTION, 0,
- "No transaction named '%s' in filesystem '%s'",
+ _("No transaction named '%s' in filesystem '%s'"),
      txn, fs->path);
 }
 
@@ -199,7 +199,7 @@
   return
     svn_error_createf
     (SVN_ERR_FS_TRANSACTION_NOT_MUTABLE, 0,
- "Cannot modify transaction named '%s' in filesystem '%s'",
+ _("Cannot modify transaction named '%s' in filesystem '%s'"),
      txn, fs->path);
 }
 
@@ -210,7 +210,7 @@
   return
     svn_error_createf
     (SVN_ERR_FS_NO_SUCH_COPY, 0,
- "No copy with id '%s' in filesystem '%s'", copy_id, fs->path);
+ _("No copy with id '%s' in filesystem '%s'"), copy_id, fs->path);
 }
 
 
@@ -220,6 +220,6 @@
   return
     svn_error_createf
     (SVN_ERR_FS_NOT_DIRECTORY, 0,
- "'%s' is not a directory in filesystem '%s'",
+ _("'%s' is not a directory in filesystem '%s'"),
      path, fs->path);
 }

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Sun May 23 02:50:19 2004

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.