Open chendrix4 opened 6 years ago
A partial fix is:
def list_recursive(self, rel_path=None, yield_dirs=False, path_filter_cb=None):
q = [rel_path]
while q:
current_rel_path = q[0]
del q[0]
for entry in self.list(extended=True, rel_path=current_rel_path):
if entry['is_directory'] is True:
#if '@' in entry['name']:
# entry['name'] = entry['name'] + '@'
if current_rel_path is not None:
next_rel_path = os.path.join(current_rel_path, entry['name'])
But this breaks down pretty quickly when you try to open subdirectories (i.e. dir1@1q2w3e4r@/subdir1 does not exist)
Okay I was able to fix it as follows:
In common.py:CommonClient.list
full_url_or_path = self.__url_or_path
if rel_path is not None:
full_url_or_path += '/' + rel_path
# FIX
if '@' in full_url_or_path and full_url_or_path[-1] != '@':
full_url_or_path += '@'
Obviously, if your file ends with '@' in the first place, this doesn't work, but I don't care about resolving the nth degree of edge cases.
I'll leave it to you whether you want to close this or not.
Per SVN Book: Peg and Operative Revisions,
I am trying to walk an SVN directory that looks like
and the client is returning `E205000: Syntax error parsing peg revision \'1q2w3e4r\'\r\n' or whatever the string is after the @ symbol.
Is there any way to escape this?