diff options
Diffstat (limited to 'org.eclipse.jgit/src/org/eclipse/jgit/storage/dfs/DfsObjDatabase.java')
-rw-r--r-- | org.eclipse.jgit/src/org/eclipse/jgit/storage/dfs/DfsObjDatabase.java | 24 |
1 files changed, 23 insertions, 1 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; /** |