/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 breezy/git/memorytree.py

  • Committer: Breezy landing bot
  • Author(s): Jelmer Vernooij
  • Date: 2020-07-28 02:47:10 UTC
  • mfrom: (7519.1.1 merge-3.1)
  • Revision ID: breezy.the.bot@gmail.com-20200728024710-a2ylds219f1lsl62
Merge lp:brz/3.1.

Merged from https://code.launchpad.net/~jelmer/brz/merge-3.1/+merge/388173

Show diffs side-by-side

added added

removed removed

Lines of Context:
17
17
 
18
18
"""Git Memory Trees."""
19
19
 
20
 
from __future__ import absolute_import
21
 
 
22
20
import os
23
21
import posixpath
24
22
import stat
41
39
    )
42
40
from breezy.transport.memory import MemoryTransport
43
41
 
 
42
from .mapping import (
 
43
    decode_git_path,
 
44
    encode_git_path,
 
45
    )
44
46
from .tree import MutableGitIndexTree
45
47
 
46
48
 
96
98
        while trees:
97
99
            (path, tree) = trees.pop()
98
100
            for name, mode, sha in tree.iteritems():
99
 
                subpath = posixpath.join(path, name.decode('utf-8'))
 
101
                subpath = posixpath.join(path, decode_git_path(name))
100
102
                if stat.S_ISDIR(mode):
101
103
                    self._file_transport.mkdir(subpath)
102
104
                    trees.append((subpath, self.store[sha]))
183
185
            return None
184
186
        elif stat.S_ISLNK(stat_val.st_mode):
185
187
            blob = Blob.from_string(
186
 
                self._file_transport.readlink(path).encode('utf-8'))
 
188
                encode_git_path(self._file_transport.readlink(path)))
187
189
        elif stat.S_ISREG(stat_val.st_mode):
188
190
            blob = Blob.from_string(self._file_transport.get_bytes(path))
189
191
        else: