cscvs blows on svn file names that must be uri-encoded

Bug #69517 reported by David Allouche
10
Affects Status Importance Assigned to Milestone
Launchpad CSCVS
High
Michael Hudson-Doyle

Bug Description

cscvs fails when it needs to access a file with a character that must be URI-encoded, like space, #, +, etc.

cscvs currently retrieves file data and directory listing using the svn_client API to libsvn. This API uses URIs to identify nodes on the svn filesystem. But cscvs does not properly encode the URIs.

This can be fixed by adding a few encoding statements at the right places.

This can also be fixed by switching to use the svn_ra API, which needs to be done anyway for efficiency reasons.

David Allouche (ddaa)
Changed in launchpad-bazaar:
importance: Undecided → Medium
status: Unconfirmed → Confirmed
Revision history for this message
David Allouche (ddaa) wrote :

The problems also occurs with directory names.

It seems that pysvn 1.4.1-0ubuntu1, currently used in production, does not URL-encode entry names before concatenating them with their location prefix when building the entries_list output of pysvn.Client.ls. Then, when using such an unencoded URL in a call to pysvn.Client.ls, it returns weird somewhat random stuff.

In this situation, pysvn 1.5.1-2 gives a clear error message: "<class 'pysvn._pysvn_2_5.ClientError'>: Malformed URL for repository" instead of silently returning an incorrect result.

Revision history for this message
Christian Reis (kiko) wrote :

This is currently blocking at least the Opendental and KnowledgeTree imports, Let's find a short-term fix for this problem so that their imports can proceed.

Changed in launchpad-cscvs:
assignee: nobody → ddaa
importance: Medium → High
David Allouche (ddaa)
Changed in launchpad-cscvs:
assignee: ddaa → thumper
Revision history for this message
Tim Penhey (thumper) wrote :

Fixed in RF 421.

Changed in launchpad-cscvs:
assignee: thumper → mwhudson
status: Confirmed → Fix Committed
Revision history for this message
Michael Hudson-Doyle (mwhudson) wrote :

The fix got rolled out onto the production servers and is working and push to https://code.edge.launchpad.net/~launchpad/launchpad-cscvs/rocketfuel, so that's Fix Released I guess.

Changed in launchpad-cscvs:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers

Related questions