/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/_patiencediff_py.py

  • Committer: adwi2
  • Date: 2008-07-11 23:05:17 UTC
  • mto: This revision was merged to the branch mainline in revision 3550.
  • Revision ID: adwi2@014661-xp-20080711230517-6giupapiqdpuduir
Permits Windows to serve all paths on all drives.

 1) Special case in local transport for "/" on Windows
    * This is taken to be an empty base path
 2) urlutils._win32_path_(from|to)_url changes
    * file:/// == / and vice versa

This fixes the problems detailed in #240910
 * Since the server started by use of bzr+ssh:// uses '/' as a base,
   you can now access paths that are not on the root of the drive
   Python.exe is hosted on
 * You may now voluntarily serve all paths from a single server process, 
   should you find this desirable

Show diffs side-by-side

added added

removed removed

Lines of Context:
13
13
#
14
14
# You should have received a copy of the GNU General Public License
15
15
# along with this program; if not, write to the Free Software
16
 
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
 
16
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
17
17
 
18
18
 
19
19
from bisect import bisect
49
49
        else:
50
50
            index[line]= i
51
51
    # make btoa[i] = position of line i in a, unless
52
 
    # that line doesn't occur exactly once in both,
 
52
    # that line doesn't occur exactly once in both, 
53
53
    # in which case it's set to None
54
54
    btoa = [None] * len(b)
55
55
    index2 = {}
79
79
            k = len(stacks)
80
80
        # as an optimization, check if the next line comes right after
81
81
        # the previous line, because usually it does
82
 
        elif stacks and stacks[k] < apos and (k == len(stacks) - 1 or
 
82
        elif stacks and stacks[k] < apos and (k == len(stacks) - 1 or 
83
83
                                              stacks[k+1] > apos):
84
84
            k += 1
85
85
        else:
176
176
    length = 0
177
177
    for i_a, i_b in matches:
178
178
        if (start_a is not None
179
 
            and (i_a == start_a + length)
 
179
            and (i_a == start_a + length) 
180
180
            and (i_b == start_b + length)):
181
181
            length += 1
182
182
        else:
230
230
        >>> s.get_matching_blocks()
231
231
        [(0, 0, 2), (3, 2, 2), (5, 4, 0)]
232
232
        """
233
 
        # jam 20060525 This is the python 2.4.1 difflib get_matching_blocks
 
233
        # jam 20060525 This is the python 2.4.1 difflib get_matching_blocks 
234
234
        # implementation which uses __helper. 2.4.3 got rid of helper for
235
235
        # doing it inline with a queue.
236
236
        # We should consider doing the same for recurse_matches