/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar

« back to all changes in this revision

Viewing changes to bzrlib/urlutils.py

  • Committer: John Arbash Meinel
  • Date: 2009-04-21 23:54:16 UTC
  • mto: (4300.1.7 groupcompress_info)
  • mto: This revision was merged to the branch mainline in revision 4301.
  • Revision ID: john@arbash-meinel.com-20090421235416-f0cz6ilf5cufbugi
Fix bug #364900, properly remove the 64kB that was just encoded in the copy.
Also, stop supporting None as a copy length in 'encode_copy_instruction'.
It was only used by the test suite, and it is good to pull that sort of thing out of
production code. (Besides, setting the copy to 64kB has the same effect.)

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# Copyright (C) 2006-2010 Canonical Ltd
 
1
# Copyright (C) 2006, 2008 Canonical Ltd
2
2
#
3
3
# This program is free software; you can redistribute it and/or modify
4
4
# it under the terms of the GNU General Public License as published by
75
75
    This assumes that both paths are already fully specified file:// URLs.
76
76
    """
77
77
    if len(base) < MIN_ABS_FILEURL_LENGTH:
78
 
        raise ValueError('Length of base (%r) must equal or'
 
78
        raise ValueError('Length of base must be equal or'
79
79
            ' exceed the platform minimum url length (which is %d)' %
80
 
            (base, MIN_ABS_FILEURL_LENGTH))
 
80
            MIN_ABS_FILEURL_LENGTH)
81
81
    base = local_path_from_url(base)
82
82
    path = local_path_from_url(path)
83
83
    return escape(osutils.relpath(base, path))
217
217
# jam 20060502 Sorted to 'l' because the final target is 'local_path_from_url'
218
218
def _posix_local_path_from_url(url):
219
219
    """Convert a url like file:///path/to/foo into /path/to/foo"""
220
 
    file_localhost_prefix = 'file://localhost/'
221
 
    if url.startswith(file_localhost_prefix):
222
 
        path = url[len(file_localhost_prefix) - 1:]
223
 
    elif not url.startswith('file:///'):
224
 
        raise errors.InvalidURL(
225
 
            url, 'local urls must start with file:/// or file://localhost/')
226
 
    else:
227
 
        path = url[len('file://'):]
 
220
    if not url.startswith('file:///'):
 
221
        raise errors.InvalidURL(url, 'local urls must start with file:///')
228
222
    # We only strip off 2 slashes
229
 
    return unescape(path)
 
223
    return unescape(url[len('file://'):])
230
224
 
231
225
 
232
226
def _posix_local_path_to_url(path):
730
724
    if host != "" and host[0] == '[' and host[-1] == ']': #IPv6
731
725
        host = host[1:-1]
732
726
 
 
727
    if host == '':
 
728
        raise errors.InvalidURL('Host empty in: %s' % url)
 
729
 
733
730
    host = urllib.unquote(host)
734
731
    path = urllib.unquote(path)
735
732