diff options
-rw-r--r-- | org.eclipse.jgit/src/org/eclipse/jgit/storage/dfs/DfsObjDatabase.java | 24 | ||||
-rw-r--r-- | org.eclipse.jgit/src/org/eclipse/jgit/storage/dfs/InMemoryRepository.java | 2 |
2 files changed, 24 insertions, 2 deletions
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/storage/dfs/DfsObjDatabase.java b/org.eclipse.jgit/src/org/eclipse/jgit/storage/dfs/DfsObjDatabase.java index 286616e795..b1290d955e 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/storage/dfs/DfsObjDatabase.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/storage/dfs/DfsObjDatabase.java @@ -198,6 +198,10 @@ public abstract class DfsObjDatabase extends ObjectDatabase { * During pack compaction or GC the new pack file may be replacing other * older files. Implementations should remove those older files (if any) as * part of the commit of the new file. + * <p> + * This method is a trivial wrapper around + * {@link #commitPackImpl(Collection, Collection)} that calls the + * implementation and fires events. * * @param desc * description of the new packs. @@ -207,7 +211,25 @@ public abstract class DfsObjDatabase extends ObjectDatabase { * the packs cannot be committed. On failure a rollback must * also be attempted by the caller. */ - protected abstract void commitPack(Collection<DfsPackDescription> desc, + protected void commitPack(Collection<DfsPackDescription> desc, + Collection<DfsPackDescription> replaces) throws IOException { + commitPackImpl(desc, replaces); + getRepository().fireEvent(new DfsPacksChangedEvent()); + } + + /** + * Implementation of pack commit. + * + * @see #commitPack(Collection, Collection) + * + * @param desc + * description of the new packs. + * @param replaces + * if not null, list of packs to remove. + * @throws IOException + * the packs cannot be committed. + */ + protected abstract void commitPackImpl(Collection<DfsPackDescription> desc, Collection<DfsPackDescription> replaces) throws IOException; /** diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/storage/dfs/InMemoryRepository.java b/org.eclipse.jgit/src/org/eclipse/jgit/storage/dfs/InMemoryRepository.java index 635e68c2c9..966b5182ad 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/storage/dfs/InMemoryRepository.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/storage/dfs/InMemoryRepository.java @@ -79,7 +79,7 @@ public class InMemoryRepository extends DfsRepository { } @Override - protected synchronized void commitPack( + protected synchronized void commitPackImpl( Collection<DfsPackDescription> desc, Collection<DfsPackDescription> replace) { List<DfsPackDescription> n; |