/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/plugins/git/transportgit.py

  • Committer: Breezy landing bot
  • Author(s): Jelmer Vernooij
  • Date: 2018-07-25 03:06:42 UTC
  • mfrom: (7045.3.4 python3-r)
  • Revision ID: breezy.the.bot@gmail.com-20180725030642-oghhedvui3470wy6
Fix another ~500 tests on Python 3.

Merged from https://code.launchpad.net/~jelmer/brz/python3-r/+merge/350430

Show diffs side-by-side

added added

removed removed

Lines of Context:
104
104
        return "%s(%r)" % (self.__class__.__name__, self.transport)
105
105
 
106
106
    def _ensure_dir_exists(self, path):
107
 
        for n in range(path.count(b"/")):
108
 
            dirname = b"/".join(path.split(b"/")[:n+1])
 
107
        for n in range(path.count("/")):
 
108
            dirname = "/".join(path.split("/")[:n+1])
109
109
            try:
110
110
                self.transport.mkdir(dirname)
111
111
            except FileExists:
217
217
        else:
218
218
            transport = self.transport
219
219
        try:
220
 
            f = transport.get(name)
 
220
            f = transport.get(urlutils.quote_from_bytes(name))
221
221
        except NoSuchFile:
222
222
            return None
223
223
        with f:
259
259
        self._check_refname(other)
260
260
        if name != b'HEAD':
261
261
            transport = self.transport
262
 
            self._ensure_dir_exists(name)
 
262
            self._ensure_dir_exists(urlutils.quote_from_bytes(name))
263
263
        else:
264
264
            transport = self.worktree_transport
265
 
        transport.put_bytes(name, SYMREF + other + b'\n')
 
265
        transport.put_bytes(urlutils.quote_from_bytes(name), SYMREF + other + b'\n')
266
266
 
267
267
    def set_if_equals(self, name, old_ref, new_ref):
268
268
        """Set a refname to new_ref only if it currently equals old_ref.
285
285
            transport = self.worktree_transport
286
286
        else:
287
287
            transport = self.transport
288
 
            self._ensure_dir_exists(realname)
289
 
        transport.put_bytes(realname, new_ref+b"\n")
 
288
            self._ensure_dir_exists(urlutils.quote_from_bytes(realname))
 
289
        transport.put_bytes(urlutils.quote_from_bytes(realname), new_ref+b"\n")
290
290
        return True
291
291
 
292
292
    def add_if_new(self, name, ref):
311
311
            transport = self.worktree_transport
312
312
        else:
313
313
            transport = self.transport
314
 
            self._ensure_dir_exists(realname)
315
 
        transport.put_bytes(realname, ref+b"\n")
 
314
            self._ensure_dir_exists(urlutils.quote_from_bytes(realname))
 
315
        transport.put_bytes(urlutils.quote_from_bytes(realname), ref+b"\n")
316
316
        return True
317
317
 
318
318
    def remove_if_equals(self, name, old_ref):
333
333
        else:
334
334
            transport = self.transport
335
335
        try:
336
 
            transport.delete(name)
 
336
            transport.delete(urlutils.quote_from_bytes(name))
337
337
        except NoSuchFile:
338
338
            pass
339
339
        self._remove_packed_ref(name)
352
352
            transport = self.transport
353
353
        lockname = name + b".lock"
354
354
        try:
355
 
            self.transport.delete(lockname)
 
355
            self.transport.delete(urlutils.quote_from_bytes(lockname))
356
356
        except NoSuchFile:
357
357
            pass
358
358
 
361
361
            transport = self.worktree_transport
362
362
        else:
363
363
            transport = self.transport
364
 
        self._ensure_dir_exists(name)
365
 
        lockname = name + b".lock"
 
364
        self._ensure_dir_exists(urlutils.quote_from_bytes(name))
 
365
        lockname = urlutils.quote_from_bytes(name + b".lock")
366
366
        try:
367
 
            local_path = self.transport.local_abspath(name)
 
367
            local_path = self.transport.local_abspath(urlutils.quote_from_bytes(name))
368
368
        except NotLocalUrl:
369
369
            # This is racy, but what can we do?
370
370
            if self.transport.has(lockname):
632
632
            if len(base) != 2:
633
633
                continue
634
634
            for rest in self.transport.list_dir(base):
635
 
                yield base+rest
 
635
                yield (base+rest).encode(sys.getfilesystemencoding())
636
636
 
637
637
    def _split_loose_object(self, sha):
638
638
        return (sha[:2], sha[2:])
639
639
 
640
640
    def _remove_loose_object(self, sha):
641
641
        path = osutils.joinpath(self._split_loose_object(sha))
642
 
        self.transport.delete(path)
 
642
        self.transport.delete(urlutils.quote_from_bytes(path))
643
643
 
644
644
    def _get_loose_object(self, sha):
645
645
        path = osutils.joinpath(self._split_loose_object(sha))
646
646
        try:
647
 
            with self.transport.get(path) as f:
 
647
            with self.transport.get(urlutils.quote_from_bytes(path)) as f:
648
648
                return ShaFile.from_file(f)
649
649
        except NoSuchFile:
650
650
            return None
656
656
        """
657
657
        (dir, file) = self._split_loose_object(obj.id)
658
658
        try:
659
 
            self.transport.mkdir(dir)
 
659
            self.transport.mkdir(urlutils.quote_from_bytes(dir))
660
660
        except FileExists:
661
661
            pass
662
 
        path = osutils.pathjoin(dir, file)
 
662
        path = urlutils.quote_from_bytes(osutils.pathjoin(dir, file))
663
663
        if self.transport.has(path):
664
664
            return # Already there, no need to write again
665
665
        self.transport.put_bytes(path, obj.as_legacy_object())