cscvs blows on svn file names that must be uri-encoded
Bug #69517 reported by
David Allouche
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Launchpad CSCVS |
Fix Released
|
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.
Changed in launchpad-bazaar: | |
importance: | Undecided → Medium |
status: | Unconfirmed → Confirmed |
Changed in launchpad-cscvs: | |
assignee: | ddaa → thumper |
To post a comment you must log in.
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.