~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/smart/client.py

Found an actual bug.

Dirstate.update_by_delta was using os.path.join() to handle the 'new path'
for renames. Which meant that on Windows the rename of 'a/b' => 'c/d'
would show as a rename of 'a/b' => 'c/d' (the reverse of 'c/d <= 'a/b'
was correct though...)

The simple fix is to just use osutils.pathjoin() in both places.

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
36
36
        else:
37
37
            self._headers = dict(headers)
38
38
 
39
 
    def __repr__(self):
40
 
        return '%s(%r)' % (self.__class__.__name__, self._medium)
41
 
 
42
39
    def _send_request(self, protocol_version, method, args, body=None,
43
40
                      readv_body=None, body_stream=None):
44
41
        encoder, response_handler = self._construct_protocol(