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

Re: [PATCH] Fix failing ci caused in r40202

From: Kannan <kannanr_at_collab.net>
Date: Thu, 04 Feb 2010 22:31:54 +0530

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Julian Foad wrote:
[..]
> I committed the patch (with that fix) in 901797.
>
> Thanks for the patch.
>
> Now I am running the test suite on your patch to use
> svn_path_url_add_component2(),
> <http://mail-archives.apache.org/mod_mbox/subversion-dev/200912.mbox/%
> 3C4B2B12EA.5000208_at_collab.net%3E>, that depends on this one.

Hi Julian,

Assertion failure occurred due to a non-canonical base URL passed to
`svn_path_url_add_component2()'. Despite having canonicalized them
wherever they are generated, the reason for this was that in
`end_element()' of props.c, canonicalization was done where the url was
assigned:

<snip>

 return assign_rsrc_url(pc->rsrc, svn_uri_canonicalize(cdata, pc->pool),
                        pc->pool);

</snip>

But there's one more place(which I missed to notice) where the value of
`cdata'(non-canonical url) is used to assigned the URL, for those
files/dirs who've parent info(cp/mv operations). So the non-canonical
URL was this one and hence the failure.

Attached herewith is the patch which canonicalizes `cdata' where its
initialized as proposed in [1]. Though there's one more place:

<snip>

case ELEM_status:
      /* Parse the <status> tag's CDATA for a status code. */
      if (ne_parse_statusline(cdata, &status))
        return svn_error_create(SVN_ERR_XML_MALFORMED, NULL, NULL);

</snip>

that does not need the canonicalized value, thought its better to do the
canonicalization in just one place.

[[[
Log:
Follow-up r901797. Canonicalization of BASE URL doesn't reflect for
resources having parent info, till now.

* subversion/libsvn_ra_neon/props.c
  (end_element): Canonicalize the BASE URL initially itself in order to
   reflect the same for resources having parent info and otherwise.

Patch by: Kannan R <kannanr_at_collab.net>
]]]

With this, the upgrade to ..add_component2() could be performed(hope),
whose link is also found in [1].

P.S: `make davautocheck` passed :)

[1]-http://mail-archives.apache.org/mod_mbox/subversion-dev/201001.mbox/%3C4B45D651.7060904@collab.net%3E

- --
Thanks & Regards,
Kannan
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iQEVAwUBS2r9gnlTqcY7ytmIAQJqbAf/Y+0Zbv1K4bsB/Q5Zv522rR+p/+HV7yoq
aucj91ZydB0yqjcq1Il6v33+14Y7vKcfVVg2RMZ7a0RbMYj04Fx2z5fF+L4JPZel
GoU0YtxIgxR7iwdwkjtjcTIROY9g7tH+SolQdpa9gIXrn3Gk7XQR6LA63z0fHZal
kGrS1dWXR5k/8aXrjGM4Hl3Z6rrgc79PoNqAUNT08VzGWD34Is9xEF14uYGUEr6Z
5vnjDMF3jabV8WOgrU6L39sodGur1BvmaJknMlJJNE7QYbVWXxIsAORsgxV5NMAL
8LKgnmSZjwHgSpD8JTPOJY8LhlN0YjfG7UQFWjSBU3+arluuTDjBDw==
=Uti2
-----END PGP SIGNATURE-----

Received on 2010-02-04 18:02:36 CET

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