On Mar 24, 2009, at 8:35 AM, Stephen Butler wrote:
> Author: sbutler
> Date: Tue Mar 24 06:35:26 2009
> New Revision: 36751
>
> Log:
> Correct a crash when updating (old) working copies that lack UUID
> info.
>
> * subversion/libsvn_wc/update_editor.c
> (add_directory): If the existing dir or its parent has no UUID value
> in its entry, skip the UUID sanity check.
>
> Modified:
> trunk/subversion/libsvn_wc/update_editor.c
>
> Modified: trunk/subversion/libsvn_wc/update_editor.c
> URL: http://svn.collab.net/viewvc/svn/trunk/subversion/libsvn_wc/update_editor.c?pathrev=36751&r1=36750&r2=36751
> =
> =
> =
> =
> =
> =
> =
> =
> ======================================================================
> --- trunk/subversion/libsvn_wc/update_editor.c Tue Mar 24 06:23:20
> 2009 (r36750)
> +++ trunk/subversion/libsvn_wc/update_editor.c Tue Mar 24 06:35:26
> 2009 (r36751)
> @@ -2355,12 +2355,15 @@ add_directory(const char *path,
>
> A dir added with history is a tree conflict. */
>
> - if (strcmp(entry->uuid, parent_entry->uuid) != 0)
> - return svn_error_createf(
> - SVN_ERR_WC_OBSTRUCTED_UPDATE, NULL,
> - _("UUID mismatch: existing directory '%s' was
> checked out "
> - "from a different repository"),
> - svn_path_local_style(db->path, pool));
> + if (entry->uuid && parent_entry->uuid)
> + {
> + if (strcmp(entry->uuid, parent_entry->uuid) != 0)
nit: These could probably be combined into a single if() statement.
>
> + return svn_error_createf(
> + SVN_ERR_WC_OBSTRUCTED_UPDATE, NULL,
> + _("UUID mismatch: existing directory '%s' was
> checked out "
> + "from a different repository"),
> + svn_path_local_style(db->path, pool));
> + }
>
> if (!eb->switch_url
> && strcmp(db->new_URL, entry->url) != 0)
>
> ------------------------------------------------------
> http://subversion.tigris.org/ds/viewMessage.do?dsForumId=495&dsMessageId=1402197
------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=462&dsMessageId=1403079
Received on 2009-03-24 16:12:54 CET