示例#1
0
        public override void setUp()
        {
            base.setUp();

            _os = new MemoryStream();
            _cos = new PackOutputStream(_os);
            _packBase = new FileInfo(Path.Combine(trash.FullName, "tmp_pack"));
            _packFile = new FileInfo(Path.Combine(trash.FullName, "tmp_pack._pack"));
            _indexFile = new FileInfo(Path.Combine(trash.FullName, "tmp_pack.idx"));
            _writer = new PackWriter(db, new TextProgressMonitor());
        }
示例#2
0
        public void writePack(Stream packStream)
        {
            if (ReuseDeltas || ReuseObjects)
            {
                SearchForReuse();
            }

            if (!(packStream is BufferedStream))
            {
                packStream = new BufferedStream(packStream);
            }

            _pos = new PackOutputStream(packStream);

            _writeMonitor.BeginTask(WRITING_OBJECTS_PROGRESS, getObjectsNumber());
            WriteHeader();
            WriteObjects();
            WriteChecksum();

            _pos.Flush();
            _windowCursor.Release();
            _writeMonitor.EndTask();
        }