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

Re: [Issue 566] Changed - Import fails on Win32 due to APR bug/problem

From: Karl Fogel <kfogel_at_newton.ch.collab.net>
Date: 2001-11-28 02:04:43 CET

Barry, can you post the patch to the list along with a log message?

(This avoids possible Issuezilla mangling, too.)

Thanks,
-Karl

issues@subversion.tigris.org writes:
> http://subversion.tigris.org/issues/show_bug.cgi?id=566
>
> *** shadow/issues_15/566 Tue Nov 27 09:07:06 2001
> --- shadow/issues_15/566.tmp.32622 Tue Nov 27 13:35:53 2001
> ***************
> *** 64,66 ****
> --- 64,120 ----
> #define APR_FINFO_NORM 0x0073b170
>
> and then importing seems to work on Win32. Very cool to see it actually go!
> +
> + ------- Additional Comments From barryp@tigris.org 2001-11-27 13:35 -------
> + Found the person who seems to be responsible for the troublesome APR
> + code, and let them know what I found.
> +
> + Looked at the couple other places in subversion where apr_read_dir()
> + is called, and found a precedent for not using APR_FINFO_NORM - and
> + came up with this patch to bring the code that exercised the APR bug
> + more in line with the similar code in libsvn_subr\io.c So even
> + if/when APR is fixed, this still might be worth applying.
> +
> + Index: .\subversion\libsvn_client\add.c
> + ===================================================================
> + --- .\subversion\libsvn_client\.svn\text-base\add.c.svn-base Tue Nov 27 15:35:50 2001
> + +++ .\subversion\libsvn_client\add.c Tue Nov 27 15:42:17 2001
> + @@ -43,6 +43,7 @@
> + apr_finfo_t this_entry;
> + apr_status_t apr_err;
> + apr_pool_t *subpool;
> + + apr_int32_t flags = APR_FINFO_TYPE | APR_FINFO_NAME;
> +
> + /* Add this directory to revision control. */
> + SVN_ERR (svn_wc_add_directory (svn_stringbuf_create (dirname, pool),
> + @@ -55,9 +56,9 @@
> + /* Read the directory entries one by one and add those things to
> + revision control. */
> + apr_err = apr_dir_open (&dir, dirname, pool);
> + - for (apr_err = apr_dir_read (&this_entry, APR_FINFO_NORM, dir);
> + + for (apr_err = apr_dir_read (&this_entry, flags, dir);
> + APR_STATUS_IS_SUCCESS (apr_err);
> + - apr_err = apr_dir_read (&this_entry, APR_FINFO_NORM, dir))
> + + apr_err = apr_dir_read (&this_entry, flags, dir))
> + {
> + svn_stringbuf_t *fullpath;
> +
> + Index: .\subversion\libsvn_client\commit.c
> + ===================================================================
> + --- .\subversion\libsvn_client\.svn\text-base\commit.c.svn-base Sun Nov 25 21:21:25 2001
> + +++ .\subversion\libsvn_client\commit.c Tue Nov 27 15:42:37 2001
> + @@ -155,11 +155,12 @@
> + apr_dir_t *dir;
> + apr_finfo_t this_entry;
> + apr_status_t apr_err;
> + + apr_int32_t flags = APR_FINFO_TYPE | APR_FINFO_NAME;
> +
> + apr_err = apr_dir_open (&dir, path->data, subpool);
> + - for (apr_err = apr_dir_read (&this_entry, APR_FINFO_NORM, dir);
> + + for (apr_err = apr_dir_read (&this_entry, flags, dir);
> + APR_STATUS_IS_SUCCESS (apr_err);
> + - apr_err = apr_dir_read (&this_entry, APR_FINFO_NORM, dir))
> + + apr_err = apr_dir_read (&this_entry, flags, dir))
> + {
> + svn_stringbuf_t *new_path = svn_stringbuf_dup (path, subpool);
> + svn_path_add_component (new_path,
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: issues-unsubscribe@subversion.tigris.org
> For additional commands, e-mail: issues-help@subversion.tigris.org

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Sat Oct 21 14:36:49 2006

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