Merge branch 'stable-6.0' into stable-6.1

* stable-6.0:
  Allow to discover bitmap on disk created after the packfile
  Prepare 5.13.6-SNAPSHOT builds
  JGit v5.13.5.202508271544-r
  Remove resolver option from target-platform-configuration
  Add missing release property to maven build
  Suppress API errors for minor API changes in service releases
  Remove unnecessary casts

Change-Id: I4a51faaebd969c982034ff3c3229145c03719025
diff --git a/org.eclipse.jgit.benchmarks/src/org/eclipse/jgit/benchmarks/LookupFileStoreBenchmark.java b/org.eclipse.jgit.benchmarks/src/org/eclipse/jgit/benchmarks/LookupFileStoreBenchmark.java
index 393edcb..e9c9ef3 100644
--- a/org.eclipse.jgit.benchmarks/src/org/eclipse/jgit/benchmarks/LookupFileStoreBenchmark.java
+++ b/org.eclipse.jgit.benchmarks/src/org/eclipse/jgit/benchmarks/LookupFileStoreBenchmark.java
@@ -24,7 +24,6 @@
 import org.openjdk.jmh.annotations.Setup;
 import org.openjdk.jmh.annotations.State;
 import org.openjdk.jmh.annotations.TearDown;
-import org.openjdk.jmh.profile.StackProfiler;
 import org.openjdk.jmh.runner.Runner;
 import org.openjdk.jmh.runner.RunnerException;
 import org.openjdk.jmh.runner.options.Options;
diff --git a/org.eclipse.jgit.ssh.apache.agent/bin/.project b/org.eclipse.jgit.ssh.apache.agent/bin/.project
deleted file mode 100644
index 73358f4..0000000
--- a/org.eclipse.jgit.ssh.apache.agent/bin/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jgit.ssh.apache.agent</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/org.eclipse.jgit.ssh.apache.test/tst/org/eclipse/jgit/transport/sshd/ApacheSshProtocol2Test.java b/org.eclipse.jgit.ssh.apache.test/tst/org/eclipse/jgit/transport/sshd/ApacheSshProtocol2Test.java
index eef0402..617e86c 100644
--- a/org.eclipse.jgit.ssh.apache.test/tst/org/eclipse/jgit/transport/sshd/ApacheSshProtocol2Test.java
+++ b/org.eclipse.jgit.ssh.apache.test/tst/org/eclipse/jgit/transport/sshd/ApacheSshProtocol2Test.java
@@ -17,7 +17,6 @@
 
 import org.eclipse.jgit.junit.ssh.SshBasicTestBase;
 import org.eclipse.jgit.lib.Constants;
-import org.eclipse.jgit.lib.Repository;
 import org.eclipse.jgit.lib.StoredConfig;
 import org.eclipse.jgit.transport.SshSessionFactory;
 import org.eclipse.jgit.util.FS;
@@ -52,7 +51,7 @@ protected void installConfig(String... config) {
 	@Override
 	public void setUp() throws Exception {
 		super.setUp();
-		StoredConfig config = ((Repository) db).getConfig();
+		StoredConfig config = db.getConfig();
 		config.setInt("protocol", null, "version", 2);
 		config.save();
 	}
diff --git a/org.eclipse.jgit.ssh.jsch.test/tst/org/eclipse/jgit/transport/ssh/jsch/JSchSshProtocol2Test.java b/org.eclipse.jgit.ssh.jsch.test/tst/org/eclipse/jgit/transport/ssh/jsch/JSchSshProtocol2Test.java
index 611d4e8..d615400 100644
--- a/org.eclipse.jgit.ssh.jsch.test/tst/org/eclipse/jgit/transport/ssh/jsch/JSchSshProtocol2Test.java
+++ b/org.eclipse.jgit.ssh.jsch.test/tst/org/eclipse/jgit/transport/ssh/jsch/JSchSshProtocol2Test.java
@@ -22,7 +22,6 @@
 import org.eclipse.jgit.errors.TransportException;
 import org.eclipse.jgit.junit.ssh.SshBasicTestBase;
 import org.eclipse.jgit.lib.Constants;
-import org.eclipse.jgit.lib.Repository;
 import org.eclipse.jgit.lib.StoredConfig;
 import org.eclipse.jgit.transport.CredentialsProvider;
 import org.eclipse.jgit.transport.RemoteSession;
@@ -89,7 +88,7 @@ private OpenSshConfig createConfig(String... content) throws IOException {
 	@Override
 	public void setUp() throws Exception {
 		super.setUp();
-		StoredConfig config = ((Repository) db).getConfig();
+		StoredConfig config = db.getConfig();
 		config.setInt("protocol", null, "version", 2);
 		config.save();
 	}
diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/file/GcConcurrentTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/file/GcConcurrentTest.java
index 1519873..96a0649 100644
--- a/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/file/GcConcurrentTest.java
+++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/file/GcConcurrentTest.java
@@ -186,13 +186,12 @@ public void repackAndCheckBitmapUsage() throws Exception {
 		// make sure gc() has caused creation of a new packfile
 		assertNotEquals(oldPackName, newPackName);
 
-		// Even when asking again for the set of packfiles outdated data
-		// will be returned. As long as the repository can work on cached data
-		// it will do so and not detect that a new packfile exists.
-		assertNotEquals(getSinglePack(repository).getPackName(), newPackName);
+		// When asking again for the set of packfiles the new updated data
+		// will be returned because of the rescan of the pack directory.
+		assertEquals(getSinglePack(repository).getPackName(), newPackName);
 
-		// Only when accessing object content it is required to rescan the pack
-		// directory and the new packfile will be detected.
+		// When accessing object content the new packfile refreshed from
+		// the rescan triggered from the list of packs.
 		repository.getObjectDatabase().open(b).getSize();
 		assertEquals(getSinglePack(repository).getPackName(), newPackName);
 		assertNotNull(getSinglePack(repository).getBitmapIndex());
diff --git a/org.eclipse.jgit/.settings/.api_filters b/org.eclipse.jgit/.settings/.api_filters
deleted file mode 100644
index 811c360..0000000
--- a/org.eclipse.jgit/.settings/.api_filters
+++ /dev/null
@@ -1,292 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<component id="org.eclipse.jgit" version="2">
-    <resource path="src/org/eclipse/jgit/api/GarbageCollectCommand.java" type="org.eclipse.jgit.api.GarbageCollectCommand">
-        <filter id="1142947843">
-            <message_arguments>
-                <message_argument value="5.13.3"/>
-                <message_argument value="setPackKeptObjects(boolean)"/>
-            </message_arguments>
-        </filter>
-    </resource>
-    <resource path="src/org/eclipse/jgit/errors/NoRemoteRepositoryException.java" type="org.eclipse.jgit.errors.NoRemoteRepositoryException">
-        <filter id="1142947843">
-            <message_arguments>
-                <message_argument value="5.13.1"/>
-                <message_argument value="NoRemoteRepositoryException(URIish, String, Throwable)"/>
-            </message_arguments>
-        </filter>
-    </resource>
-    <resource path="src/org/eclipse/jgit/errors/PackMismatchException.java" type="org.eclipse.jgit.errors.PackMismatchException">
-        <filter id="1142947843">
-            <message_arguments>
-                <message_argument value="5.9.1"/>
-                <message_argument value="isPermanent()"/>
-            </message_arguments>
-        </filter>
-        <filter id="1142947843">
-            <message_arguments>
-                <message_argument value="5.9.1"/>
-                <message_argument value="setPermanent(boolean)"/>
-            </message_arguments>
-        </filter>
-    </resource>
-    <resource path="src/org/eclipse/jgit/lib/ConfigConstants.java" type="org.eclipse.jgit.lib.ConfigConstants">
-        <filter id="1142947843">
-            <message_arguments>
-                <message_argument value="5.13.2"/>
-                <message_argument value="CONFIG_KEY_BITMAP_EXCLUDED_REFS_PREFIXES"/>
-            </message_arguments>
-        </filter>
-        <filter id="1142947843">
-            <message_arguments>
-                <message_argument value="5.13.2"/>
-                <message_argument value="CONFIG_KEY_PRESERVE_OLD_PACKS"/>
-            </message_arguments>
-        </filter>
-        <filter id="1142947843">
-            <message_arguments>
-                <message_argument value="5.13.2"/>
-                <message_argument value="CONFIG_KEY_PRUNE_PRESERVED"/>
-            </message_arguments>
-        </filter>
-        <filter id="1142947843">
-            <message_arguments>
-                <message_argument value="5.13.2"/>
-                <message_argument value="CONFIG_KEY_SKIPHASH"/>
-            </message_arguments>
-        </filter>
-        <filter id="1142947843">
-            <message_arguments>
-                <message_argument value="5.13.2"/>
-                <message_argument value="SHA1_IMPLEMENTATION"/>
-            </message_arguments>
-        </filter>
-        <filter id="1142947843">
-            <message_arguments>
-                <message_argument value="5.13.3"/>
-                <message_argument value="CONFIG_KEY_PACK_KEPT_OBJECTS"/>
-            </message_arguments>
-        </filter>
-        <filter id="1142947843">
-            <message_arguments>
-                <message_argument value="5.13.3"/>
-                <message_argument value="CONFIG_REPACK_SECTION"/>
-            </message_arguments>
-        </filter>
-        <filter id="1142947843">
-            <message_arguments>
-                <message_argument value="6.1.1"/>
-                <message_argument value="CONFIG_KEY_TRUST_PACKED_REFS_STAT"/>
-            </message_arguments>
-        </filter>
-    </resource>
-    <resource path="src/org/eclipse/jgit/lib/CoreConfig.java" type="org.eclipse.jgit.lib.CoreConfig$TrustPackedRefsStat">
-        <filter id="1142947843">
-            <message_arguments>
-                <message_argument value="6.1.1"/>
-                <message_argument value="TrustPackedRefsStat"/>
-            </message_arguments>
-        </filter>
-    </resource>
-    <resource path="src/org/eclipse/jgit/lib/ObjectDatabase.java" type="org.eclipse.jgit.lib.ObjectDatabase">
-        <filter id="336695337">
-            <message_arguments>
-                <message_argument value="org.eclipse.jgit.lib.ObjectDatabase"/>
-                <message_argument value="getApproximateObjectCount()"/>
-            </message_arguments>
-        </filter>
-    </resource>
-    <resource path="src/org/eclipse/jgit/lib/Repository.java" type="org.eclipse.jgit.lib.Repository">
-        <filter id="1142947843">
-            <message_arguments>
-                <message_argument value="5.13.2"/>
-                <message_argument value="getReflogReader(Ref)"/>
-            </message_arguments>
-        </filter>
-    </resource>
-    <resource path="src/org/eclipse/jgit/lib/TypedConfigGetter.java" type="org.eclipse.jgit.lib.TypedConfigGetter">
-        <filter id="403767336">
-            <message_arguments>
-                <message_argument value="org.eclipse.jgit.lib.TypedConfigGetter"/>
-                <message_argument value="UNSET_INT"/>
-            </message_arguments>
-        </filter>
-        <filter id="403804204">
-            <message_arguments>
-                <message_argument value="org.eclipse.jgit.lib.TypedConfigGetter"/>
-                <message_argument value="getIntInRange(Config, String, String, String, int, int, int)"/>
-            </message_arguments>
-        </filter>
-    </resource>
-    <resource path="src/org/eclipse/jgit/merge/ResolveMerger.java" type="org.eclipse.jgit.merge.ResolveMerger">
-        <filter id="338792546">
-            <message_arguments>
-                <message_argument value="org.eclipse.jgit.merge.ResolveMerger"/>
-                <message_argument value="addCheckoutMetadata(String, Attributes)"/>
-            </message_arguments>
-        </filter>
-        <filter id="338792546">
-            <message_arguments>
-                <message_argument value="org.eclipse.jgit.merge.ResolveMerger"/>
-                <message_argument value="addToCheckout(String, DirCacheEntry, Attributes)"/>
-            </message_arguments>
-        </filter>
-        <filter id="338792546">
-            <message_arguments>
-                <message_argument value="org.eclipse.jgit.merge.ResolveMerger"/>
-                <message_argument value="processEntry(CanonicalTreeParser, CanonicalTreeParser, CanonicalTreeParser, DirCacheBuildIterator, WorkingTreeIterator, boolean, Attributes)"/>
-            </message_arguments>
-        </filter>
-    </resource>
-    <resource path="src/org/eclipse/jgit/storage/pack/PackConfig.java" type="org.eclipse.jgit.storage.pack.PackConfig">
-        <filter id="336658481">
-            <message_arguments>
-                <message_argument value="org.eclipse.jgit.storage.pack.PackConfig"/>
-                <message_argument value="DEFAULT_BITMAP_EXCLUDED_REFS_PREFIXES"/>
-            </message_arguments>
-        </filter>
-        <filter id="336658481">
-            <message_arguments>
-                <message_argument value="org.eclipse.jgit.storage.pack.PackConfig"/>
-                <message_argument value="DEFAULT_PACK_KEPT_OBJECTS"/>
-            </message_arguments>
-        </filter>
-        <filter id="1142947843">
-            <message_arguments>
-                <message_argument value="5.13.2"/>
-                <message_argument value="DEFAULT_BITMAP_EXCLUDED_REFS_PREFIXES"/>
-            </message_arguments>
-        </filter>
-        <filter id="1142947843">
-            <message_arguments>
-                <message_argument value="5.13.2"/>
-                <message_argument value="getBitmapExcludedRefsPrefixes()"/>
-            </message_arguments>
-        </filter>
-        <filter id="1142947843">
-            <message_arguments>
-                <message_argument value="5.13.2"/>
-                <message_argument value="setBitmapExcludedRefsPrefixes(String[])"/>
-            </message_arguments>
-        </filter>
-        <filter id="1142947843">
-            <message_arguments>
-                <message_argument value="5.13.3"/>
-                <message_argument value="DEFAULT_PACK_KEPT_OBJECTS"/>
-            </message_arguments>
-        </filter>
-        <filter id="1142947843">
-            <message_arguments>
-                <message_argument value="5.13.3"/>
-                <message_argument value="isPackKeptObjects()"/>
-            </message_arguments>
-        </filter>
-        <filter id="1142947843">
-            <message_arguments>
-                <message_argument value="5.13.3"/>
-                <message_argument value="setPackKeptObjects(boolean)"/>
-            </message_arguments>
-        </filter>
-    </resource>
-    <resource path="src/org/eclipse/jgit/transport/AwsRequestSignerV4.java" type="org.eclipse.jgit.transport.AwsRequestSignerV4">
-        <filter id="1109393411">
-            <message_arguments>
-                <message_argument value="5.13.1"/>
-                <message_argument value="org.eclipse.jgit.transport.AwsRequestSignerV4"/>
-            </message_arguments>
-        </filter>
-    </resource>
-    <resource path="src/org/eclipse/jgit/transport/BasePackPushConnection.java" type="org.eclipse.jgit.transport.BasePackPushConnection">
-        <filter id="338792546">
-            <message_arguments>
-                <message_argument value="org.eclipse.jgit.transport.BasePackPushConnection"/>
-                <message_argument value="noRepository()"/>
-            </message_arguments>
-        </filter>
-    </resource>
-    <resource path="src/org/eclipse/jgit/transport/PushConfig.java" type="org.eclipse.jgit.transport.PushConfig">
-        <filter id="338722907">
-            <message_arguments>
-                <message_argument value="org.eclipse.jgit.transport.PushConfig"/>
-                <message_argument value="PushConfig()"/>
-            </message_arguments>
-        </filter>
-    </resource>
-    <resource path="src/org/eclipse/jgit/util/HttpSupport.java" type="org.eclipse.jgit.util.HttpSupport">
-        <filter id="1142947843">
-            <message_arguments>
-                <message_argument value="5.13.1"/>
-                <message_argument value="urlEncode(String, boolean)"/>
-            </message_arguments>
-        </filter>
-    </resource>
-    <resource path="src/org/eclipse/jgit/util/sha1/SHA1.java" type="org.eclipse.jgit.util.sha1.SHA1">
-        <filter id="337764418">
-            <message_arguments>
-                <message_argument value="org.eclipse.jgit.util.sha1.SHA1"/>
-            </message_arguments>
-        </filter>
-        <filter id="421650549">
-            <message_arguments>
-                <message_argument value="org.eclipse.jgit.util.sha1.SHA1"/>
-                <message_argument value="digest()"/>
-            </message_arguments>
-        </filter>
-        <filter id="421650549">
-            <message_arguments>
-                <message_argument value="org.eclipse.jgit.util.sha1.SHA1"/>
-                <message_argument value="digest(MutableObjectId)"/>
-            </message_arguments>
-        </filter>
-        <filter id="421650549">
-            <message_arguments>
-                <message_argument value="org.eclipse.jgit.util.sha1.SHA1"/>
-                <message_argument value="hasCollision()"/>
-            </message_arguments>
-        </filter>
-        <filter id="421650549">
-            <message_arguments>
-                <message_argument value="org.eclipse.jgit.util.sha1.SHA1"/>
-                <message_argument value="reset()"/>
-            </message_arguments>
-        </filter>
-        <filter id="421650549">
-            <message_arguments>
-                <message_argument value="org.eclipse.jgit.util.sha1.SHA1"/>
-                <message_argument value="setDetectCollision(boolean)"/>
-            </message_arguments>
-        </filter>
-        <filter id="421650549">
-            <message_arguments>
-                <message_argument value="org.eclipse.jgit.util.sha1.SHA1"/>
-                <message_argument value="toObjectId()"/>
-            </message_arguments>
-        </filter>
-        <filter id="421650549">
-            <message_arguments>
-                <message_argument value="org.eclipse.jgit.util.sha1.SHA1"/>
-                <message_argument value="update(byte)"/>
-            </message_arguments>
-        </filter>
-        <filter id="421650549">
-            <message_arguments>
-                <message_argument value="org.eclipse.jgit.util.sha1.SHA1"/>
-                <message_argument value="update(byte[])"/>
-            </message_arguments>
-        </filter>
-        <filter id="421650549">
-            <message_arguments>
-                <message_argument value="org.eclipse.jgit.util.sha1.SHA1"/>
-                <message_argument value="update(byte[], int, int)"/>
-            </message_arguments>
-        </filter>
-    </resource>
-    <resource path="src/org/eclipse/jgit/util/sha1/SHA1.java" type="org.eclipse.jgit.util.sha1.SHA1$Sha1Implementation">
-        <filter id="1142947843">
-            <message_arguments>
-                <message_argument value="5.13.2"/>
-                <message_argument value="Sha1Implementation"/>
-            </message_arguments>
-        </filter>
-    </resource>
-</component>
diff --git a/org.eclipse.jgit/META-INF/MANIFEST.MF b/org.eclipse.jgit/META-INF/MANIFEST.MF
index 808d5d3..bac027b 100644
--- a/org.eclipse.jgit/META-INF/MANIFEST.MF
+++ b/org.eclipse.jgit/META-INF/MANIFEST.MF
@@ -91,7 +91,9 @@
    org.eclipse.jgit.lfs,
    org.eclipse.jgit.pgm,
    org.eclipse.jgit.pgm.test,
-   org.eclipse.jgit.ssh.apache",
+   org.eclipse.jgit.ssh.apache,
+   org.eclipse.jgit.ssh.apache.test,
+   org.eclipse.jgit.ssh.jsch.test",
  org.eclipse.jgit.internal.storage.io;version="6.1.1";
   x-friends:="org.eclipse.jgit.junit,
    org.eclipse.jgit.test,
diff --git a/org.eclipse.jgit/resources/org/eclipse/jgit/internal/JGitText.properties b/org.eclipse.jgit/resources/org/eclipse/jgit/internal/JGitText.properties
index 5534a0a..80b0867 100644
--- a/org.eclipse.jgit/resources/org/eclipse/jgit/internal/JGitText.properties
+++ b/org.eclipse.jgit/resources/org/eclipse/jgit/internal/JGitText.properties
@@ -53,6 +53,8 @@
 binaryHunkInvalidLength=Binary hunk, line {0}: input corrupt; expected length byte, got 0x{1}
 binaryHunkLineTooShort=Binary hunk, line {0}: input ended prematurely
 binaryHunkMissingNewline=Binary hunk, line {0}: input line not terminated by newline
+bitmapAccessErrorForPackfile=Error whilst trying to access bitmap file for {}
+bitmapFailedToGet=Failed to get bitmap index file {}
 bitmapMissingObject=Bitmap at {0} is missing {1}.
 bitmapsMustBePrepared=Bitmaps must be prepared before they may be written.
 blameNotCommittedYet=Not Committed Yet
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/internal/JGitText.java b/org.eclipse.jgit/src/org/eclipse/jgit/internal/JGitText.java
index 2adde0a..a9cd9f8 100644
--- a/org.eclipse.jgit/src/org/eclipse/jgit/internal/JGitText.java
+++ b/org.eclipse.jgit/src/org/eclipse/jgit/internal/JGitText.java
@@ -81,6 +81,8 @@ public static JGitText get() {
 	/***/ public String binaryHunkInvalidLength;
 	/***/ public String binaryHunkLineTooShort;
 	/***/ public String binaryHunkMissingNewline;
+	/***/ public String bitmapAccessErrorForPackfile;
+	/***/ public String bitmapFailedToGet;
 	/***/ public String bitmapMissingObject;
 	/***/ public String bitmapsMustBePrepared;
 	/***/ public String blameNotCommittedYet;
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/Pack.java b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/Pack.java
index 6e74136..9dafa83 100644
--- a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/Pack.java
+++ b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/Pack.java
@@ -1146,6 +1146,19 @@ synchronized PackBitmapIndex getBitmapIndex() throws IOException {
 		return bitmapIdx;
 	}
 
+	synchronized void refreshBitmapIndex(PackFile bitmapIndexFile) {
+		this.bitmapIdx = null;
+		this.invalid = false;
+		this.bitmapIdxFile = bitmapIndexFile;
+		try {
+			getBitmapIndex();
+		} catch (IOException e) {
+			LOG.warn(JGitText.get().bitmapFailedToGet, bitmapIdxFile, e);
+			this.bitmapIdx = null;
+			this.bitmapIdxFile = null;
+		}
+	}
+
 	private synchronized PackReverseIndex getReverseIdx() throws IOException {
 		if (reverseIdx == null)
 			reverseIdx = new PackReverseIndex(idx());
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/PackDirectory.java b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/PackDirectory.java
index 6a99cb3..1676d8b 100644
--- a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/PackDirectory.java
+++ b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/PackDirectory.java
@@ -115,10 +115,13 @@ void close() {
 	}
 
 	Collection<Pack> getPacks() {
-		PackList list = packList.get();
-		if (list == NO_PACKS) {
-			list = scanPacks(list);
-		}
+		PackList list;
+		do {
+			list = packList.get();
+			if (list == NO_PACKS) {
+				list = scanPacks(list);
+			}
+		} while (searchPacksAgain(list));
 		Pack[] packs = list.packs;
 		return Collections.unmodifiableCollection(Arrays.asList(packs));
 	}
@@ -455,6 +458,13 @@ private PackList scanPacksImpl(PackList old) {
 					&& !oldPack.getFileSnapshot().isModified(packFile)) {
 				forReuse.remove(packFile.getName());
 				list.add(oldPack);
+				try {
+					if(oldPack.getBitmapIndex() == null) {
+						oldPack.refreshBitmapIndex(packFilesByExt.get(BITMAP_INDEX));
+					}
+				} catch (IOException e) {
+					LOG.warn(JGitText.get().bitmapAccessErrorForPackfile, oldPack.getPackName(), e);
+				}
 				continue;
 			}
 
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/notes/NoteMapMerger.java b/org.eclipse.jgit/src/org/eclipse/jgit/notes/NoteMapMerger.java
index a6ea523..3887dff 100644
--- a/org.eclipse.jgit/src/org/eclipse/jgit/notes/NoteMapMerger.java
+++ b/org.eclipse.jgit/src/org/eclipse/jgit/notes/NoteMapMerger.java
@@ -193,7 +193,7 @@ private void addIfNotNull(FanoutBucket b, int cell, NoteBucket child)
 		if (child == null)
 			return;
 		if (child instanceof InMemoryNoteBucket)
-			b.setBucket(cell, ((InMemoryNoteBucket) child).writeTree(inserter));
+			b.setBucket(cell, child.writeTree(inserter));
 		else
 			b.setBucket(cell, child.getTreeId());
 	}