When marking commits as uninteresting don't care if the tree exists

When during an ObjectWalk commits are marked as uninteresting we should
be tolerant against the situation that the commit exists in the repo but
the referenced tree is not exisiting. Since commit
c4797fe986 we are throwing
MissingObjectException in such a case. This semantic differs from native
git behaviour and may cause push operations to fail while they would
work in native git. See:
http://dev.eclipse.org/mhonarc/lists/egit-dev/msg03585.html

Bug: 445744
Change-Id: Ib7dec10fd2ef1adbb8adbabb9d3d5a64e554286a
This commit is contained in:
Christian Halstrick 2014-10-10 00:00:45 +02:00 committed by Matthias Sohn
parent 848186da86
commit 88b25a58f0
1 changed files with 5 additions and 1 deletions

View File

@ -246,7 +246,11 @@ else if (o instanceof RevTree)
public void markUninteresting(RevCommit c) throws MissingObjectException,
IncorrectObjectTypeException, IOException {
super.markUninteresting(c);
markTreeUninteresting(c.getTree());
try {
markTreeUninteresting(c.getTree());
} catch (MissingObjectException e) {
// we don't care if the tree of the commit does not exist locally
}
}
@Override