diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/dfs/DfsFsck.java b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/dfs/DfsFsck.java index daaa22084..97cdc14df 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/dfs/DfsFsck.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/dfs/DfsFsck.java @@ -69,6 +69,7 @@ public class DfsFsck { private final DfsRepository repo; private final DfsObjDatabase objdb; private ObjectChecker objChecker = new ObjectChecker(); + private boolean connectivityOnly; /** * Initialize DFS fsck. @@ -97,7 +98,9 @@ public FsckError check(ProgressMonitor pm) throws IOException { } FsckError errors = new FsckError(); - checkPacks(pm, errors); + if (!connectivityOnly) { + checkPacks(pm, errors); + } checkConnectivity(pm, errors); return errors; } @@ -174,4 +177,14 @@ private void checkConnectivity(ProgressMonitor pm, FsckError errors) public void setObjectChecker(ObjectChecker objChecker) { this.objChecker = objChecker; } + + /** + * @param connectivityOnly + * whether fsck should bypass object validity and integrity + * checks and only check connectivity. The default is + * {@code false}, meaning to run all checks. + */ + public void setConnectivityOnly(boolean connectivityOnly) { + this.connectivityOnly = connectivityOnly; + } }