diff -ru subversion-1.4.2-orig/subversion/include/svn_client.h subversion-1.4.2/subversion/include/svn_client.h
--- subversion-1.4.2-orig/subversion/include/svn_client.h	2006-07-11 15:16:06.000000000 +0400
+++ subversion-1.4.2/subversion/include/svn_client.h	2006-12-18 10:59:58.000000000 +0300
@@ -705,6 +705,18 @@
  * @since New in 1.2.
  */
 svn_error_t *
+svn_client_checkout3(svn_revnum_t *result_rev,
+                     const char *URL,
+                     const char *path,
+                     const svn_opt_revision_t *peg_revision,
+                     const svn_opt_revision_t *revision,
+                     svn_boolean_t recurse,
+                     svn_boolean_t ignore_externals,
+					 const char *native_eol,
+                     svn_client_ctx_t *ctx,
+                     apr_pool_t *pool);
+
+svn_error_t *
 svn_client_checkout2(svn_revnum_t *result_rev,
                      const char *URL,
                      const char *path,
@@ -769,6 +781,16 @@
  * @since New in 1.2.
  */
 svn_error_t *
+svn_client_update3(apr_array_header_t **result_revs,
+                   const apr_array_header_t *paths,
+                   const svn_opt_revision_t *revision,
+                   svn_boolean_t recurse,
+                   svn_boolean_t ignore_externals,
+				   const char *native_eol,
+                   svn_client_ctx_t *ctx,
+                   apr_pool_t *pool);
+
+svn_error_t *
 svn_client_update2(apr_array_header_t **result_revs,
                    const apr_array_header_t *paths,
                    const svn_opt_revision_t *revision,
diff -ru subversion-1.4.2-orig/subversion/include/svn_wc.h subversion-1.4.2/subversion/include/svn_wc.h
--- subversion-1.4.2-orig/subversion/include/svn_wc.h	2006-08-03 18:25:54.000000000 +0400
+++ subversion-1.4.2/subversion/include/svn_wc.h	2006-12-18 14:02:06.000000000 +0300
@@ -2481,6 +2481,22 @@
  *
  * @since New in 1.2.
  */
+svn_error_t *svn_wc_get_update_editor3(svn_revnum_t *target_revision,
+                                       svn_wc_adm_access_t *anchor,
+                                       const char *target,
+                                       svn_boolean_t use_commit_times,
+                                       svn_boolean_t recurse,
+                                       svn_wc_notify_func2_t notify_func,
+                                       void *notify_baton,
+                                       svn_cancel_func_t cancel_func,
+                                       void *cancel_baton,
+                                       const char *diff3_cmd,
+									   const char *native_eol,
+                                       const svn_delta_editor_t **editor,
+                                       void **edit_baton,
+                                       svn_wc_traversal_info_t *ti,
+                                       apr_pool_t *pool);
+
 svn_error_t *svn_wc_get_update_editor2(svn_revnum_t *target_revision,
                                        svn_wc_adm_access_t *anchor,
                                        const char *target,
@@ -3273,6 +3289,15 @@
  * @since New in 1.4
  */
 svn_error_t *
+svn_wc_translated_file3(const char **xlated_path,
+                        const char *src,
+                        const char *versioned_file,
+                        svn_wc_adm_access_t *adm_access,
+                        apr_uint32_t flags,
+						const char *native_eol,
+                        apr_pool_t *pool);
+
+svn_error_t *
 svn_wc_translated_file2(const char **xlated_path,
                         const char *src,
                         const char *versioned_file,
diff -ru subversion-1.4.2-orig/subversion/libsvn_client/checkout.c subversion-1.4.2/subversion/libsvn_client/checkout.c
--- subversion-1.4.2-orig/subversion/libsvn_client/checkout.c	2006-02-15 21:30:50.000000000 +0300
+++ subversion-1.4.2/subversion/libsvn_client/checkout.c	2006-12-18 10:35:42.000000000 +0300
@@ -50,6 +50,7 @@
                               svn_boolean_t recurse,
                               svn_boolean_t ignore_externals,
                               svn_boolean_t *timestamp_sleep,
+							  const char *native_eol,
                               svn_client_ctx_t *ctx,
                               apr_pool_t *pool)
 {
@@ -119,7 +120,7 @@
         /* Have update fix the incompleteness. */
         err = svn_client__update_internal(result_rev, path, revision,
                                           recurse, ignore_externals,
-                                          use_sleep, ctx, pool);
+                                          use_sleep, native_eol, ctx, pool);
       }
     else if (kind == svn_node_dir)
       {
@@ -135,7 +136,7 @@
                                        repos, revnum, pool));
             err = svn_client__update_internal(result_rev, path, revision,
                                               recurse, ignore_externals,
-                                              use_sleep, ctx, pool);
+                                              use_sleep, native_eol, ctx, pool);
             goto done;
           }
         
@@ -153,7 +154,7 @@
           {
             err = svn_client__update_internal(result_rev, path, revision,
                                               recurse, ignore_externals,
-                                              use_sleep, ctx, pool);
+                                              use_sleep, native_eol, ctx, pool);
           }
         else
           {
@@ -204,6 +205,23 @@
 }
 
 svn_error_t *
+svn_client_checkout3(svn_revnum_t *result_rev,
+                     const char *URL,
+                     const char *path,
+                     const svn_opt_revision_t *peg_revision,
+                     const svn_opt_revision_t *revision,
+                     svn_boolean_t recurse,
+                     svn_boolean_t ignore_externals,
+					 const char *native_eol,
+                     svn_client_ctx_t *ctx,
+                     apr_pool_t *pool)
+{
+  return svn_client__checkout_internal(result_rev, URL, path, peg_revision,
+                                       revision, recurse, ignore_externals,
+                                       NULL, native_eol, ctx, pool);
+}
+
+svn_error_t *
 svn_client_checkout2(svn_revnum_t *result_rev,
                      const char *URL,
                      const char *path,
@@ -216,7 +234,7 @@
 {
   return svn_client__checkout_internal(result_rev, URL, path, peg_revision,
                                        revision, recurse, ignore_externals,
-                                       NULL, ctx, pool);
+                                       NULL, NULL, ctx, pool);
 }
 
 svn_error_t *
@@ -233,6 +251,6 @@
   peg_revision.kind = svn_opt_revision_unspecified;
   
   return svn_client__checkout_internal(result_rev, URL, path, &peg_revision,
-                                       revision, recurse, FALSE, NULL, 
+                                       revision, recurse, FALSE, NULL, NULL,
                                        ctx, pool);
 }
diff -ru subversion-1.4.2-orig/subversion/libsvn_client/client.h subversion-1.4.2/subversion/libsvn_client/client.h
--- subversion-1.4.2-orig/subversion/libsvn_client/client.h	2006-10-19 21:43:18.000000000 +0400
+++ subversion-1.4.2/subversion/libsvn_client/client.h	2006-12-18 10:36:44.000000000 +0300
@@ -341,6 +341,7 @@
                             svn_boolean_t recurse,
                             svn_boolean_t ignore_externals,
                             svn_boolean_t *timestamp_sleep,
+							const char *native_eol,
                             svn_client_ctx_t *ctx,
                             apr_pool_t *pool);
 
@@ -361,6 +362,7 @@
                               svn_boolean_t recurse,
                               svn_boolean_t ignore_externals,
                               svn_boolean_t *timestamp_sleep,
+							  const char *native_eol,
                               svn_client_ctx_t *ctx,
                               apr_pool_t *pool);
 
diff -ru subversion-1.4.2-orig/subversion/libsvn_client/copy.c subversion-1.4.2/subversion/libsvn_client/copy.c
--- subversion-1.4.2-orig/subversion/libsvn_client/copy.c	2006-05-04 21:38:24.000000000 +0400
+++ subversion-1.4.2/subversion/libsvn_client/copy.c	2006-12-18 14:05:04.000000000 +0300
@@ -822,7 +822,7 @@
     {
       SVN_ERR(svn_client__checkout_internal
               (NULL, src_url, dst_path, &revision, &revision,
-               TRUE, FALSE, NULL, ctx, pool));
+               TRUE, FALSE, NULL, NULL, ctx, pool));
 
       if ((revision.kind == svn_opt_revision_head) && same_repositories)
         {
diff -ru subversion-1.4.2-orig/subversion/libsvn_client/externals.c subversion-1.4.2/subversion/libsvn_client/externals.c
--- subversion-1.4.2-orig/subversion/libsvn_client/externals.c	2006-03-12 21:51:12.000000000 +0300
+++ subversion-1.4.2/subversion/libsvn_client/externals.c	2006-12-18 14:04:32.000000000 +0300
@@ -198,7 +198,7 @@
           if (strcmp(entry->url, url) == 0)
             {
               SVN_ERR(svn_client__update_internal(NULL, path, revision,
-                                                  TRUE, FALSE, timestamp_sleep,
+                                                  TRUE, FALSE, timestamp_sleep, NULL,
                                                   ctx, pool));
               return SVN_NO_ERROR;
             }
@@ -268,7 +268,7 @@
 
   /* ... Hello, new hotness. */
   SVN_ERR(svn_client__checkout_internal(NULL, url, path, revision, revision,
-                                        TRUE, FALSE, timestamp_sleep,
+                                        TRUE, FALSE, timestamp_sleep, NULL,
                                         ctx, pool));
 
   return SVN_NO_ERROR;
@@ -363,7 +363,7 @@
                                               &(new_item->revision),
                                               &(new_item->revision),
                                               TRUE, FALSE,
-                                              ib->timestamp_sleep,
+                                              ib->timestamp_sleep, NULL,
                                               ib->ctx, ib->pool));
     }
   else if (! new_item)
diff -ru subversion-1.4.2-orig/subversion/libsvn_client/update.c subversion-1.4.2/subversion/libsvn_client/update.c
--- subversion-1.4.2-orig/subversion/libsvn_client/update.c	2006-02-15 21:30:50.000000000 +0300
+++ subversion-1.4.2/subversion/libsvn_client/update.c	2006-12-18 12:34:18.000000000 +0300
@@ -45,6 +45,7 @@
                             svn_boolean_t recurse,
                             svn_boolean_t ignore_externals,
                             svn_boolean_t *timestamp_sleep,
+							const char *native_eol,
                             svn_client_ctx_t *ctx,
                             apr_pool_t *pool)
 {
@@ -125,11 +126,11 @@
 
   /* Fetch the update editor.  If REVISION is invalid, that's okay;
      the RA driver will call editor->set_target_revision later on. */
-  SVN_ERR(svn_wc_get_update_editor2(&revnum, adm_access, target,
+  SVN_ERR(svn_wc_get_update_editor3(&revnum, adm_access, target,
                                     use_commit_times, recurse,
                                     ctx->notify_func2, ctx->notify_baton2,
                                     ctx->cancel_func, ctx->cancel_baton,
-                                    diff3_cmd,
+                                    diff3_cmd, native_eol,
                                     &update_editor, &update_edit_baton,
                                     traversal_info,
                                     pool));
@@ -194,11 +195,12 @@
 }
 
 svn_error_t *
-svn_client_update2(apr_array_header_t **result_revs,
+svn_client_update3(apr_array_header_t **result_revs,
                    const apr_array_header_t *paths,
                    const svn_opt_revision_t *revision,
                    svn_boolean_t recurse,
                    svn_boolean_t ignore_externals,
+				   const char *native_eol,
                    svn_client_ctx_t *ctx,
                    apr_pool_t *pool)
 {
@@ -222,7 +224,7 @@
 
       err = svn_client__update_internal(&result_rev, path, revision,
                                         recurse, ignore_externals, 
-                                        &sleep, ctx, subpool);
+                                        &sleep, native_eol, ctx, subpool);
       if (err && err->apr_err != SVN_ERR_WC_NOT_DIRECTORY)
         {
           return err;
@@ -250,6 +252,20 @@
 }
 
 svn_error_t *
+svn_client_update2(apr_array_header_t **result_revs,
+                   const apr_array_header_t *paths,
+                   const svn_opt_revision_t *revision,
+                   svn_boolean_t recurse,
+                   svn_boolean_t ignore_externals,
+                   svn_client_ctx_t *ctx,
+                   apr_pool_t *pool)
+{
+  return svn_client_update3(result_revs, paths,
+	                        revision, recurse, ignore_externals,
+							NULL, ctx, pool);
+}
+
+svn_error_t *
 svn_client_update(svn_revnum_t *result_rev,
                   const char *path,
                   const svn_opt_revision_t *revision,
@@ -258,5 +274,5 @@
                   apr_pool_t *pool)
 {
   return svn_client__update_internal(result_rev, path, revision, recurse, 
-                                     FALSE, NULL, ctx, pool);
+                                     FALSE, NULL, NULL, ctx, pool);
 }
diff -ru subversion-1.4.2-orig/subversion/libsvn_wc/log.c subversion-1.4.2/subversion/libsvn_wc/log.c
--- subversion-1.4.2-orig/subversion/libsvn_wc/log.c	2006-07-11 12:08:28.000000000 +0400
+++ subversion-1.4.2/subversion/libsvn_wc/log.c	2006-12-18 13:04:48.000000000 +0300
@@ -183,6 +183,7 @@
   svn_boolean_t rerun;
   svn_wc_adm_access_t *adm_access;  /* the dir in which all this happens */
   const char *diff3_cmd;            /* external diff3 cmd, or null if none */
+  const char *native_eol;			/* forced native EOL or null if not specified */
 
   /* Which top-level log element we're on for this logfile.  Some
      callers care whether a failure happened on the first element or
@@ -248,6 +249,7 @@
                      enum svn_wc__xfer_action action,
                      svn_boolean_t special_only,
                      svn_boolean_t rerun,
+					 const char *native_eol,
                      apr_pool_t *pool)
 {
   svn_error_t *err;
@@ -282,12 +284,13 @@
       {
         const char *tmp_file;
 
-        err = svn_wc_translated_file2
+        err = svn_wc_translated_file3
           (&tmp_file,
            full_from_path, versioned ? full_versioned_path : full_dest_path,
            adm_access,
            SVN_WC_TRANSLATE_FROM_NF
            | SVN_WC_TRANSLATE_FORCE_COPY,
+		   native_eol,
            pool);
         if (err)
           {
@@ -601,7 +604,7 @@
                               loggy->pool));
 
   err = file_xfer_under_path(loggy->adm_access, name, dest, versioned,
-                             action, special_only, loggy->rerun, loggy->pool);
+                             action, special_only, loggy->rerun, loggy->native_eol, loggy->pool);
   if (err)
     signal_error(loggy, err);
 
@@ -1721,6 +1724,7 @@
 run_log(svn_wc_adm_access_t *adm_access,
         svn_boolean_t rerun,
         const char *diff3_cmd,
+		const char *native_eol,
         apr_pool_t *pool)
 {
   svn_error_t *err, *err2;
@@ -1753,6 +1757,7 @@
   loggy->wcprops_modified = FALSE;
   loggy->rerun = rerun;
   loggy->diff3_cmd = diff3_cmd;
+  loggy->native_eol = native_eol;
   loggy->count = 0;
 
   /* Expat wants everything wrapped in a top-level form, so start with
@@ -1850,11 +1855,19 @@
 }
 
 svn_error_t *
+svn_wc__run_log2(svn_wc_adm_access_t *adm_access,
+                const char *diff3_cmd, const char *native_eol,
+                apr_pool_t *pool)
+{
+  return run_log(adm_access, FALSE, diff3_cmd, native_eol, pool);
+}
+
+svn_error_t *
 svn_wc__run_log(svn_wc_adm_access_t *adm_access,
                 const char *diff3_cmd,
                 apr_pool_t *pool)
 {
-  return run_log(adm_access, FALSE, diff3_cmd, pool);
+  return run_log(adm_access, FALSE, diff3_cmd, NULL, pool);
 }
 
 svn_error_t *
@@ -1862,7 +1875,7 @@
                   const char *diff3_cmd,
                   apr_pool_t *pool)
 {
-  return run_log(adm_access, TRUE, diff3_cmd, pool);
+  return run_log(adm_access, TRUE, diff3_cmd, NULL, pool);
 }
 
 
diff -ru subversion-1.4.2-orig/subversion/libsvn_wc/log.h subversion-1.4.2/subversion/libsvn_wc/log.h
--- subversion-1.4.2-orig/subversion/libsvn_wc/log.h	2006-07-10 20:07:12.000000000 +0400
+++ subversion-1.4.2/subversion/libsvn_wc/log.h	2006-12-18 12:50:48.000000000 +0300
@@ -283,6 +283,10 @@
    If the log fails on its first command, return the error
    SVN_ERR_WC_BAD_ADM_LOG_START.  If it fails on some subsequent
    command, return SVN_ERR_WC_BAD_ADM_LOG. */
+svn_error_t *svn_wc__run_log2(svn_wc_adm_access_t *adm_access,
+                             const char *diff3_cmd, const char *native_eol,
+                             apr_pool_t *pool);
+
 svn_error_t *svn_wc__run_log(svn_wc_adm_access_t *adm_access,
                              const char *diff3_cmd,
                              apr_pool_t *pool);
diff -ru subversion-1.4.2-orig/subversion/libsvn_wc/translate.c subversion-1.4.2/subversion/libsvn_wc/translate.c
--- subversion-1.4.2-orig/subversion/libsvn_wc/translate.c	2006-08-03 00:24:26.000000000 +0400
+++ subversion-1.4.2/subversion/libsvn_wc/translate.c	2006-12-18 13:22:02.000000000 +0300
@@ -42,11 +42,12 @@
 #include "svn_private_config.h"
 
 svn_error_t *
-svn_wc_translated_file2(const char **xlated_path,
+svn_wc_translated_file3(const char **xlated_path,
                         const char *src,
                         const char *versioned_file,
                         svn_wc_adm_access_t *adm_access,
                         apr_uint32_t flags,
+						const char *native_eol,
                         apr_pool_t *pool)
 {
   svn_subst_eol_style_t style;
@@ -54,7 +55,7 @@
   apr_hash_t *keywords;
   svn_boolean_t special;
 
-  SVN_ERR(svn_wc__get_eol_style(&style, &eol, versioned_file,
+  SVN_ERR(svn_wc__get_eol_style2(&style, &eol, versioned_file, native_eol,
                                 adm_access, pool));
   SVN_ERR(svn_wc__get_keywords(&keywords, versioned_file,
                                adm_access, NULL, pool));
@@ -110,6 +111,17 @@
   return SVN_NO_ERROR;
 }
 
+svn_error_t *
+svn_wc_translated_file2(const char **xlated_path,
+                        const char *src,
+                        const char *versioned_file,
+                        svn_wc_adm_access_t *adm_access,
+                        apr_uint32_t flags,
+                        apr_pool_t *pool)
+{
+  return svn_wc_translated_file3(xlated_path, src, versioned_file,
+	                             adm_access, flags, NULL, pool);
+}
 
 svn_error_t *
 svn_wc_translated_file(const char **xlated_p,
@@ -118,13 +130,38 @@
                        svn_boolean_t force_repair,
                        apr_pool_t *pool)
 {
-  return svn_wc_translated_file2(xlated_p, vfile, vfile, adm_access,
+  return svn_wc_translated_file3(xlated_p, vfile, vfile, adm_access,
                                  SVN_WC_TRANSLATE_TO_NF
                                  | (force_repair ?
                                     SVN_WC_TRANSLATE_FORCE_EOL_REPAIR : 0),
-                                 pool);
+                                 NULL, pool);
 }
 
+svn_error_t *
+svn_wc__get_eol_style2(svn_subst_eol_style_t *style,
+                      const char **eol,
+                      const char *path,
+					  const char *native_eol_requested,
+                      svn_wc_adm_access_t *adm_access,
+                      apr_pool_t *pool)
+{
+  const svn_string_t *propval;
+  const char *eol_val;
+
+  eol_val = native_eol_requested;
+  if (!eol_val) {
+    /* Get the property value. */
+    SVN_ERR(svn_wc_prop_get(&propval, SVN_PROP_EOL_STYLE, path, adm_access,
+                          pool));
+	if (propval)
+	  eol_val = propval->data;
+  }
+
+  /* Convert it. */
+  svn_subst_eol_style_from_value(style, eol, eol_val);
+
+  return SVN_NO_ERROR;
+}
 
 svn_error_t *
 svn_wc__get_eol_style(svn_subst_eol_style_t *style,
diff -ru subversion-1.4.2-orig/subversion/libsvn_wc/translate.h subversion-1.4.2/subversion/libsvn_wc/translate.h
--- subversion-1.4.2-orig/subversion/libsvn_wc/translate.h	2006-02-15 21:30:50.000000000 +0300
+++ subversion-1.4.2/subversion/libsvn_wc/translate.h	2006-12-18 13:19:18.000000000 +0300
@@ -42,6 +42,8 @@
       - a null-terminated C string containing the eol marker indicated
         by the property value, for svn_subst_eol_style_fixed.
 
+   If native_eol_requested is not null, it overrides the property value.
+
    If STYLE is null on entry, ignore it.  If *EOL is non-null on exit,
    it is a static string not allocated in POOL.
 
@@ -49,6 +51,13 @@
 
    Use POOL for temporary allocation.
 */
+svn_error_t *svn_wc__get_eol_style2(svn_subst_eol_style_t *style,
+                                   const char **eol,
+                                   const char *path,
+								   const char *native_eol_requested,
+                                   svn_wc_adm_access_t *adm_access,
+                                   apr_pool_t *pool);
+
 svn_error_t *svn_wc__get_eol_style(svn_subst_eol_style_t *style,
                                    const char **eol,
                                    const char *path,
diff -ru subversion-1.4.2-orig/subversion/libsvn_wc/update_editor.c subversion-1.4.2/subversion/libsvn_wc/update_editor.c
--- subversion-1.4.2-orig/subversion/libsvn_wc/update_editor.c	2006-10-15 23:54:30.000000000 +0400
+++ subversion-1.4.2/subversion/libsvn_wc/update_editor.c	2006-12-18 12:55:14.000000000 +0300
@@ -95,6 +95,9 @@
      internal merge code is used). */
   const char *diff3_cmd;
 
+  /* Native EOL type */
+  const char *native_eol;
+
   /* Object for gathering info to be accessed after the edit is
      complete. */
   svn_wc_traversal_info_t *traversal_info;
@@ -1324,7 +1327,7 @@
     }
 
   /* Run the log. */
-  SVN_ERR(svn_wc__run_log(adm_access, db->edit_baton->diff3_cmd, db->pool));
+  SVN_ERR(svn_wc__run_log2(adm_access, db->edit_baton->diff3_cmd, db->edit_baton->native_eol, db->pool));
   db->log_number = 0;
   
   /* We're done with this directory, so remove one reference from the
@@ -2361,6 +2364,7 @@
             svn_cancel_func_t cancel_func,
             void *cancel_baton,
             const char *diff3_cmd,
+			const char *native_eol,
             const svn_delta_editor_t **editor,
             void **edit_baton,
             svn_wc_traversal_info_t *traversal_info,
@@ -2399,6 +2403,7 @@
   eb->notify_baton    = notify_baton;
   eb->traversal_info  = traversal_info;
   eb->diff3_cmd       = diff3_cmd;
+  eb->native_eol      = native_eol;
   eb->cancel_func     = cancel_func;
   eb->cancel_baton    = cancel_baton;
 
@@ -2430,6 +2435,28 @@
   return SVN_NO_ERROR;
 }
 
+svn_error_t *
+svn_wc_get_update_editor3(svn_revnum_t *target_revision,
+                          svn_wc_adm_access_t *anchor,
+                          const char *target,
+                          svn_boolean_t use_commit_times,
+                          svn_boolean_t recurse,
+                          svn_wc_notify_func2_t notify_func,
+                          void *notify_baton,
+                          svn_cancel_func_t cancel_func,
+                          void *cancel_baton,
+                          const char *diff3_cmd,
+						  const char *native_eol,
+                          const svn_delta_editor_t **editor,
+                          void **edit_baton,
+                          svn_wc_traversal_info_t *traversal_info,
+                          apr_pool_t *pool)
+{
+  return make_editor(target_revision, anchor, svn_wc_adm_access_path(anchor),
+                     target, use_commit_times, NULL, recurse, notify_func, 
+                     notify_baton, cancel_func, cancel_baton, diff3_cmd, native_eol,
+                     editor, edit_baton, traversal_info, pool);
+}
 
 svn_error_t *
 svn_wc_get_update_editor2(svn_revnum_t *target_revision,
@@ -2449,7 +2476,7 @@
 {
   return make_editor(target_revision, anchor, svn_wc_adm_access_path(anchor),
                      target, use_commit_times, NULL, recurse, notify_func, 
-                     notify_baton, cancel_func, cancel_baton, diff3_cmd,
+                     notify_baton, cancel_func, cancel_baton, diff3_cmd, NULL,
                      editor, edit_baton, traversal_info, pool);
 }
 
@@ -2502,7 +2529,7 @@
   return make_editor(target_revision, anchor, svn_wc_adm_access_path(anchor),
                      target, use_commit_times, switch_url, recurse, 
                      notify_func, notify_baton, cancel_func, cancel_baton, 
-                     diff3_cmd, editor, edit_baton, traversal_info, pool);
+                     diff3_cmd, NULL, editor, edit_baton, traversal_info, pool);
 }
 
 svn_error_t *
diff -ru subversion-1.4.2-orig/subversion/svn/checkout-cmd.c subversion-1.4.2/subversion/svn/checkout-cmd.c
--- subversion-1.4.2-orig/subversion/svn/checkout-cmd.c	2006-02-15 21:30:50.000000000 +0300
+++ subversion-1.4.2/subversion/svn/checkout-cmd.c	2006-12-18 10:29:06.000000000 +0300
@@ -156,11 +156,12 @@
           revision.kind = svn_opt_revision_head;
       }
 
-      SVN_ERR(svn_client_checkout2(NULL, true_url, target_dir,
+      SVN_ERR(svn_client_checkout3(NULL, true_url, target_dir,
                                    &peg_revision,
                                    &revision,
                                    opt_state->nonrecursive ? FALSE : TRUE,
                                    opt_state->ignore_externals,
+								   opt_state->native_eol,
                                    ctx, subpool));
     }
   svn_pool_destroy(subpool);
diff -ru subversion-1.4.2-orig/subversion/svn/main.c subversion-1.4.2/subversion/svn/main.c
--- subversion-1.4.2-orig/subversion/svn/main.c	2006-08-14 21:47:44.000000000 +0400
+++ subversion-1.4.2/subversion/svn/main.c	2006-12-18 10:22:30.000000000 +0300
@@ -259,7 +259,7 @@
      "  out into a sub-directory of PATH, with the name of the sub-directory\n"
      "  being the basename of the URL.\n"),
     {'r', 'q', 'N', SVN_CL__AUTH_OPTIONS, svn_cl__config_dir_opt,
-     svn_cl__ignore_externals_opt} },
+     svn_cl__native_eol_opt, svn_cl__ignore_externals_opt} },
 
   { "cleanup", svn_cl__cleanup, {0}, N_
     ("Recursively clean up the working copy, removing locks, resuming\n"
@@ -761,7 +761,7 @@
      "  A 'B' in the third column signifies that the lock for the file has\n"
      "  been broken or stolen.\n"),
     {'r', 'N', 'q', svn_cl__merge_cmd_opt, SVN_CL__AUTH_OPTIONS,
-     svn_cl__config_dir_opt, svn_cl__ignore_externals_opt} },
+     svn_cl__config_dir_opt, svn_cl__native_eol_opt, svn_cl__ignore_externals_opt} },
 
   { NULL, NULL, {0}, NULL, {0} }
 };
diff -ru subversion-1.4.2-orig/subversion/svn/update-cmd.c subversion-1.4.2/subversion/svn/update-cmd.c
--- subversion-1.4.2-orig/subversion/svn/update-cmd.c	2006-02-15 21:30:50.000000000 +0300
+++ subversion-1.4.2/subversion/svn/update-cmd.c	2006-12-18 10:57:28.000000000 +0300
@@ -51,10 +51,11 @@
     svn_cl__get_notifier(&ctx->notify_func2, &ctx->notify_baton2, 
                          FALSE, FALSE, FALSE, pool);
 
-  SVN_ERR(svn_client_update2(NULL, targets,
+  SVN_ERR(svn_client_update3(NULL, targets,
                              &(opt_state->start_revision),
                              opt_state->nonrecursive ? FALSE : TRUE,
                              opt_state->ignore_externals,
+							 opt_state->native_eol,
                              ctx, pool));
 
   return SVN_NO_ERROR;
