]> source.dussan.org Git - jgit.git/commitdiff
Merge branch 'stable-6.2' into stable-6.3 86/199686/1
authorMatthias Sohn <matthias.sohn@sap.com>
Tue, 31 Jan 2023 23:59:32 +0000 (00:59 +0100)
committerMatthias Sohn <matthias.sohn@sap.com>
Wed, 1 Feb 2023 00:10:56 +0000 (01:10 +0100)
* stable-6.2:
  Shortcut during git fetch for avoiding looping through all local refs
  FetchCommand: fix fetchSubmodules to work on a Ref to a blob
  Silence API warnings introduced by I466dcde6
  Allow the exclusions of refs prefixes from bitmap
  PackWriterBitmapPreparer: do not include annotated tags in bitmap
  BatchingProgressMonitor: avoid int overflow when computing percentage
  Speedup GC listing objects referenced from reflogs
  FileSnapshotTest: Add more MISSING_FILE coverage

Change-Id: I2ff386d9a096277360e6c7bd5535b49984620fb3

1  2 
org.eclipse.jgit/.settings/.api_filters
org.eclipse.jgit/src/org/eclipse/jgit/api/FetchCommand.java
org.eclipse.jgit/src/org/eclipse/jgit/transport/FetchProcess.java

index f0c98e4b7022f2c0c1c93217bd62312ebc7d68ef,3e62b565ffcdbc675f1d359df62533965939363a..e02f5de532e8da7c2b7f6838ed5323fd65ea7f3b
              </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/merge/ResolveMerger.java" type="org.eclipse.jgit.merge.ResolveMerger">
 +        <filter id="336658481">
 +            <message_arguments>
 +                <message_argument value="org.eclipse.jgit.merge.ResolveMerger"/>
 +                <message_argument value="workTreeUpdater"/>
 +            </message_arguments>
 +        </filter>
 +        <filter id="338755678">
 +            <message_arguments>
 +                <message_argument value="org.eclipse.jgit.merge.ResolveMerger"/>
 +                <message_argument value="builder"/>
 +            </message_arguments>
 +        </filter>
 +        <filter id="338755678">
 +            <message_arguments>
 +                <message_argument value="org.eclipse.jgit.merge.ResolveMerger"/>
 +                <message_argument value="implicitDirCache"/>
 +            </message_arguments>
 +        </filter>
 +        <filter id="338755678">
 +            <message_arguments>
 +                <message_argument value="org.eclipse.jgit.merge.ResolveMerger"/>
 +                <message_argument value="toBeCheckedOut"/>
 +            </message_arguments>
 +        </filter>
 +        <filter id="338755678">
 +            <message_arguments>
 +                <message_argument value="org.eclipse.jgit.merge.ResolveMerger"/>
 +                <message_argument value="toBeDeleted"/>
 +            </message_arguments>
 +        </filter>
 +        <filter id="338755678">
 +            <message_arguments>
 +                <message_argument value="org.eclipse.jgit.merge.ResolveMerger"/>
 +                <message_argument value="workingTreeOptions"/>
 +            </message_arguments>
 +        </filter>
 +        <filter id="338792546">
 +            <message_arguments>
 +                <message_argument value="org.eclipse.jgit.merge.ResolveMerger"/>
 +                <message_argument value="addCheckoutMetadata(Map&lt;String,DirCacheCheckout.CheckoutMetadata&gt;, String, Attributes)"/>
 +            </message_arguments>
 +        </filter>
 +        <filter id="338792546">
 +            <message_arguments>
 +                <message_argument value="org.eclipse.jgit.merge.ResolveMerger"/>
 +                <message_argument value="cleanUp()"/>
 +            </message_arguments>
 +        </filter>
 +    </resource>
 +    <resource path="src/org/eclipse/jgit/merge/ResolveMerger.java" type="org.eclipse.jgit.merge.ResolveMerger$WorkTreeUpdater">
 +        <filter id="1142947843">
 +            <message_arguments>
 +                <message_argument value="6.3.1"/>
 +                <message_argument value="WorkTreeUpdater"/>
 +            </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="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>
+     </resource>
      <resource path="src/org/eclipse/jgit/transport/AwsRequestSignerV4.java" type="org.eclipse.jgit.transport.AwsRequestSignerV4">
          <filter id="1109393411">
              <message_arguments>
index 28c3b6a0fa4479802a968a9295b1efc34f19d268,bb58a7e33f99b58f28c2f3c703771bce008769ae..e0eb1264408e14ff5ac04d2d5d49e62ca9e6fd31
@@@ -387,13 -388,21 +388,21 @@@ class FetchProcess 
        private boolean askForIsComplete() throws TransportException {
                try {
                        try (ObjectWalk ow = new ObjectWalk(transport.local)) {
-                               for (ObjectId want : askFor.keySet())
-                                       ow.markStart(ow.parseAny(want));
-                               for (Ref ref : localRefs().values())
-                                       ow.markUninteresting(ow.parseAny(ref.getObjectId()));
-                               ow.checkConnectivity();
+                               boolean hasCommitObject = false;
+                               for (ObjectId want : askFor.keySet()) {
+                                       RevObject obj = ow.parseAny(want);
+                                       ow.markStart(obj);
+                                       hasCommitObject |= obj.getType() == Constants.OBJ_COMMIT;
+                               }
+                               // Checking connectivity makes sense on commits only
+                               if (hasCommitObject) {
+                                       for (Ref ref : localRefs().values()) {
+                                               ow.markUninteresting(ow.parseAny(ref.getObjectId()));
+                                       }
+                                       ow.checkConnectivity();
+                               }
                        }
 -                      return true;
 +                      return transport.getDepth() == null; // if depth is set we need to request objects that are already available
                } catch (MissingObjectException e) {
                        return false;
                } catch (IOException e) {