You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Malcolm Rowe <ma...@farside.org.uk> on 2006/03/18 17:15:38 UTC

Re: svn commit: r18945 - in trunk/subversion: include libsvn_client libsvn_wc

Two _really_ minor nits below:

On Sat, Mar 18, 2006 at 05:43:38AM -0800, lundblad@tigris.org wrote:
> ==============================================================================
> --- trunk/subversion/libsvn_client/commit_util.c	(original)
> +++ trunk/subversion/libsvn_client/commit_util.c	Sat Mar 18 05:43:38 2006
> @@ -1236,6 +1238,10 @@
>    if (tempfiles)
>      *tempfiles = apr_hash_make(pool);
>  
> +  /* Dito for the md5 digests. */

"Ditto"

> +  if (digests)
> +    *digests = apr_hash_make(pool);
> +
>    /* Build a hash from our COMMIT_ITEMS array, keyed on the
>       URI-decoded relative paths (which come from the item URLs).  And
>       keep an array of those decoded paths, too.  */

> @@ -1315,14 +1322,21 @@
>        dir_path = svn_path_dirname(item->path, subpool);
>        SVN_ERR(svn_wc_adm_retrieve(&item_access, adm_access, dir_path,
>                                    subpool));
> -      SVN_ERR(svn_wc_transmit_text_deltas(item->path, item_access, fulltext,
> -                                          editor, file_baton, 
> -                                          &tempfile, subpool));
> +      SVN_ERR(svn_wc_transmit_text_deltas2(item->path, item_access, fulltext,
> +                                           editor, file_baton, 
> +                                           &tempfile, &digest, subpool));
>        if (tempfile && *tempfiles)
>          {
>            tempfile = apr_pstrdup(apr_hash_pool_get(*tempfiles), tempfile);
>            apr_hash_set(*tempfiles, tempfile, APR_HASH_KEY_STRING, (void *)1);
>          }
> +      if (digest && digests)
> +        {
> +          unsigned char *new_digest
> +            = apr_palloc(apr_hash_pool_get(*digests), APR_MD5_DIGESTSIZE);
> +          memcpy(new_digest, digest, APR_MD5_DIGESTSIZE);

Use apr_pmemdup() instead of alloc+memcpy?

             unsigned char *new_digest
               = apr_pmemdup(apr_hash_pool_get(*digests),
                             digest, APR_MD5_DIGESTSIZE);

> +          apr_hash_set(*digests, item->path, APR_HASH_KEY_STRING, new_digest);

Regards,
Malcolm

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: svn commit: r18945 - in trunk/subversion: include libsvn_client libsvn_wc

Posted by "Peter N. Lundblad" <pe...@famlundblad.se>.
Malcolm Rowe writes:
 > Two _really_ minor nits below:
 > 
 > On Sat, Mar 18, 2006 at 05:43:38AM -0800, lundblad@tigris.org wrote:
 > > ==============================================================================
 > > --- trunk/subversion/libsvn_client/commit_util.c	(original)
 > > +++ trunk/subversion/libsvn_client/commit_util.c	Sat Mar 18 05:43:38 2006
 > > @@ -1236,6 +1238,10 @@
 > >    if (tempfiles)
 > >      *tempfiles = apr_hash_make(pool);
 > >  
 > > +  /* Dito for the md5 digests. */
 > 
 > "Ditto"

OK.

 > > +  if (digests)
 > > +    *digests = apr_hash_make(pool);
 > > +
 > >    /* Build a hash from our COMMIT_ITEMS array, keyed on the
 > >       URI-decoded relative paths (which come from the item URLs).  And
 > >       keep an array of those decoded paths, too.  */
 > 
 > > @@ -1315,14 +1322,21 @@
 > >        dir_path = svn_path_dirname(item->path, subpool);
 > >        SVN_ERR(svn_wc_adm_retrieve(&item_access, adm_access, dir_path,
 > >                                    subpool));
 > > -      SVN_ERR(svn_wc_transmit_text_deltas(item->path, item_access, fulltext,
 > > -                                          editor, file_baton, 
 > > -                                          &tempfile, subpool));
 > > +      SVN_ERR(svn_wc_transmit_text_deltas2(item->path, item_access, fulltext,
 > > +                                           editor, file_baton, 
 > > +                                           &tempfile, &digest, subpool));
 > >        if (tempfile && *tempfiles)
 > >          {
 > >            tempfile = apr_pstrdup(apr_hash_pool_get(*tempfiles), tempfile);
 > >            apr_hash_set(*tempfiles, tempfile, APR_HASH_KEY_STRING, (void *)1);
 > >          }
 > > +      if (digest && digests)
 > > +        {
 > > +          unsigned char *new_digest
 > > +            = apr_palloc(apr_hash_pool_get(*digests), APR_MD5_DIGESTSIZE);
 > > +          memcpy(new_digest, digest, APR_MD5_DIGESTSIZE);
 > 
 > Use apr_pmemdup() instead of alloc+memcpy?
 > 

Good point.

Fixed these in r18949.

Thanks,
//Peter

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org