fragglet / agito

Subversion to Git conversion script
GNU General Public License v2.0
11 stars 6 forks source link

Path not found #2

Closed justinpitts closed 11 years ago

justinpitts commented 11 years ago

We have some oddball filenames in our repo - test cases actually for filename handling.

If you prefer, I can file this as a separate issue.

Traceback (most recent call last): File "./agito.py", line 986, in head_id = get_history_for_path(path) File "./agito.py", line 838, in get_history_for_path commit_id = follow_parent_branch(path, log[-1]) File "./agito.py", line 722, in follow_parent_branch changed_path.copyfrom_revision.number) File "./agito.py", line 838, in get_history_for_path commit_id = follow_parent_branch(path, log[-1]) File "./agito.py", line 722, in follow_parent_branch changed_path.copyfrom_revision.number) File "./agito.py", line 838, in get_history_for_path commit_id = follow_parent_branch(path, log[-1]) File "./agito.py", line 722, in follow_parent_branch changed_path.copyfrom_revision.number) File "./agito.py", line 842, in get_history_for_path return construct_history(path, commit_id, log) File "./agito.py", line 759, in construct_history mutate_tree_from_log(treedir, path, entry) File "./agito.py", line 355, in mutate_tree_from_log log, changed_path) File "./agito.py", line 307, in process_add_modify filetype = svn_file_type(changed_path.path, revision) File "./agito.py", line 216, in svn_file_type recurse=False) pysvn._pysvn_27.ClientError: Unable to connect to a repository at URL 'http://wolfwood.int.infograph.com:81/svn/igc/integrations/IBM/Workplace/trunk/appserver/TestData/export/content/%3F.%3E,%3C'%22%3B:%5C%5D%7D%5B%7B=+-)(&%5E%25$%23@!%60~.xrl' 'http://wolfwood.int.infograph.com:81/svn/igc/integrations/IBM/Workplace/trunk/appserver/TestData/export/content/%3F.%3E,%3C'%22%3B:%5C%5D%7D%5B%7B=+-)(_&%5E%25$%23@!%60~.xrl' path not found

fragglet commented 11 years ago

Looks like the bug is probably in svn_path(), which concatenates URL paths naively. It needs to be reworked to join the escape the path properly, probably using python's urlparse library.

fragglet commented 11 years ago

I've reworked svn_path() to use a better form of URL joining that should escape paths properly. So I think this is now fixed. If it still doesn't work then please let me know.

justinpitts commented 11 years ago

I'm trying it out now. It has already passed the point it failed at before, so I suspect you got it.

fragglet commented 11 years ago

Excellent!