~jelmer/debian/sid/bzr-git/xs-testsuite-field-in-debian-control

« back to all changes in this revision

Viewing changes to transportgit.py

  • Committer: Jelmer Vernooij
  • Date: 2017-10-05 22:18:21 UTC
  • mto: (17.25.405)
  • mto: This revision was merged to the branch mainline in revision 165.
  • Revision ID: jelmer@jelmer.uk-20171005221821-1uzy9lku0746klju
Provide TransportObjectStore._remove_pack.

Show diffs side-by-side

added added

removed removed

Lines of Context:
492
492
                idxname = name.replace(".pack", ".idx")
493
493
                idx = load_pack_index_file(idxname, self.pack_transport.get(idxname))
494
494
                pack = Pack.from_objects(pd, idx)
495
 
                pack._basename = idxname[:-5]
 
495
                pack._basename = idxname[:-4]
496
496
                ret.append(pack)
497
497
        return ret
498
498
 
510
510
        path = '%s/%s' % self._split_loose_object(sha)
511
511
        self.transport.delete(path)
512
512
 
 
513
    def _remove_pack(self, pack):
 
514
        self.pack_transport.delete(pack.data.filename)
 
515
        self.pack_transport.delete(pack.index.filename)
 
516
 
513
517
    def _get_loose_object(self, sha):
514
518
        path = '%s/%s' % self._split_loose_object(sha)
515
519
        try:
541
545
        :param path: Path to the pack file.
542
546
        """
543
547
        f.seek(0)
544
 
        p = PackData(None, f, len(f.getvalue()))
 
548
        p = PackData("", f, len(f.getvalue()))
545
549
        entries = p.sorted_entries()
546
550
        basename = "pack-%s" % iter_sha1(entry[0] for entry in entries)
547
551
        f.seek(0)
548
552
        self.pack_transport.put_file(basename + ".pack", f)
 
553
        p._filename = basename + ".pack"
549
554
        idxfile = self.pack_transport.open_write_stream(basename + ".idx")
550
555
        try:
551
556
            write_pack_index_v2(idxfile, entries, p.get_stored_checksum())
554
559
        idxfile = self.pack_transport.get(basename + ".idx")
555
560
        idx = load_pack_index_file(basename+".idx", idxfile)
556
561
        final_pack = Pack.from_objects(p, idx)
 
562
        final_pack._basename = basename
557
563
        self._add_known_pack(basename, final_pack)
558
564
        return final_pack
559
565
 
627
633
        transport.mkdir('info')
628
634
        transport.mkdir(PACKDIR)
629
635
        return cls(transport)
 
636
 
 
637
    def _remove_pack(self, pack):
 
638
        self.pack_transport.delete(pack.data.filename)
 
639
        self.pack_transport.delete(os.path.basename(pack.index.path))