1
2
3
4
5
6
7
8
9
10 package org.eclipse.jgit.internal.storage.dfs;
11
12 import java.io.IOException;
13 import java.io.OutputStream;
14 import java.util.ArrayList;
15 import java.util.List;
16
17 import org.eclipse.jgit.internal.storage.pack.CachedPack;
18 import org.eclipse.jgit.lib.ProgressMonitor;
19 import org.eclipse.jgit.transport.BundleWriter;
20
21
22 public class DfsBundleWriter {
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38 public static void writeEntireRepositoryAsBundle(ProgressMonitor pm,
39 OutputStream os, DfsRepository db) throws IOException {
40 BundleWriter bw = new BundleWriter(db);
41 db.getRefDatabase().getRefs().forEach(bw::include);
42 List<CachedPack> packs = new ArrayList<>();
43 for (DfsPackFile p : db.getObjectDatabase().getPacks()) {
44 packs.add(new DfsCachedPack(p));
45 }
46 bw.addObjectsAsIs(packs);
47 bw.writeBundle(pm, os);
48 }
49
50 private DfsBundleWriter() {
51 }
52 }