]> source.dussan.org Git - jgit.git/commit
ObjectChecker: allow some objects to skip errors 63/63363/4
authorShawn Pearce <spearce@spearce.org>
Tue, 29 Dec 2015 23:52:16 +0000 (15:52 -0800)
committerShawn Pearce <spearce@spearce.org>
Wed, 30 Dec 2015 23:18:48 +0000 (15:18 -0800)
commitfa7ce0e0f3a8973667b0d51966fc9bcb4fdbe505
tree5611e5e2face4c89c68947f76fcc824664d876e5
parente3acf017486204fb56c33c5edd51d5f2409be7ee
ObjectChecker: allow some objects to skip errors

Some ancient objects may be broken, but in a relatively harmless way.
Allow the ObjectChecker caller to whitelist specific objects that are
going to fail checks, but that have been reviewed by a human and decided
the objects are OK enough to permit continued use of.

This avoids needing to rewrite history to scrub the broken objects out.

Honor the git-core fsck.skipList configuration setting when receiving a
push or fetching from a remote repository.

Change-Id: I62bd7c0b0848981f73dd7c752860fd02794233a6
org.eclipse.jgit.junit/src/org/eclipse/jgit/junit/TestRepository.java
org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/ObjectCheckerTest.java
org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/LazyObjectIdSetFile.java [new file with mode: 0644]
org.eclipse.jgit/src/org/eclipse/jgit/lib/ObjectChecker.java
org.eclipse.jgit/src/org/eclipse/jgit/transport/PackParser.java
org.eclipse.jgit/src/org/eclipse/jgit/transport/TransferConfig.java
org.eclipse.jgit/src/org/eclipse/jgit/transport/WalkFetchConnection.java