summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* JGit v5.7.0.202003110725-rv5.7.0.202003110725-rMatthias Sohn2020-03-1174-455/+455
| | | | | Change-Id: Ia4a9122eeb4eea0f379f6611984cfe1143a32f8d Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* Prepare 5.7.1-SNAPSHOT buildsMatthias Sohn2020-03-0974-455/+455
| | | | | Change-Id: I23748c20b69a1cfb47c5cd0d7858182d376b3ce1 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* JGit v5.7.0.202003090808-rv5.7.0.202003090808-rMatthias Sohn2020-03-0974-105/+105
| | | | | Change-Id: Ia23bffa3952687f6107d496a8932d54b11c12412 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* Merge branch 'master' into stable-5.7Matthias Sohn2020-03-0774-333/+487
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * master: Silence API errors introduced by 093fbbd1 Bump Bazel version to 2.2.0 Add validation to hex decoder Expose FileStoreAttributes.setBackground() Update reftable storage repo layout Add 4.14 and 4.15-staging target platforms Update Orbit to R20200224183213 for final 2020-03 Update Orbit to S20200224183213 for 2020-03 RC1 Cygwin expects forward slashes for commands to be run via sh.exe [releng] Update year in copyright notices for features Using for-each loop in jdt Make Logger instances final Move array designators from the variable to the type ObjectWalk: Add null check before skip tree. Revert "RevWalk: stop mixing lines of history in topo sort" Do not fail if known hosts file does not contain valid host key Change-Id: Ie7841d917b02c3579c4766e7214d6b1656c5f200
| * Merge branch 'stable-5.6'Matthias Sohn2020-03-058-61/+184
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | * stable-5.6: Silence API errors introduced by 093fbbd1 Bump Bazel version to 2.2.0 Expose FileStoreAttributes.setBackground() Update reftable storage repo layout Change-Id: I237eaaed7991e8bbd56a7624f47bbba985330026 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| | * Silence API errors introduced by 093fbbd1Matthias Sohn2020-03-051-0/+8
| | | | | | | | | | | | Change-Id: I1c9d5a25bd06a1152e953c45b683375cb05aa254 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| | * Bump Bazel version to 2.2.0David Pursehouse2020-03-051-1/+1
| | | | | | | | | | | | | | | Change-Id: I889052040f31708c6b8de0cf3c171a04722f7c96 Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
| | * Expose FileStoreAttributes.setBackground()Alex Blewitt2020-03-041-1/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The FS.setAsyncFileStoreAttributes() static method calls FileStoreAttributes.setBackground() as its implementation, but there are other public attributes on this inner class already and there isn't a real reason why this needs to be private. By making it public we allow callers to be able to invoke it directly. Although it doesn't appear that it would make a difference, by calling a static method on the FS class, all static fields and the transitive closure of class dependencies must be loaded and initialised, which can be non-trivial. Callers referring to FS.setAsyncFileStoreAttributes() may be replaced with FS.FileStoreAttributes.setBackground() with no change of behaviour other than improved performance due to less class loading required. Bug: 560527 Change-Id: I9538acc90da8d18f53fd60d74eb54496857f93a5 Signed-off-by: Alex Blewitt <alex.blewitt@gmail.com>
| | * Update reftable storage repo layoutHan-Wen Nienhuys2020-03-046-52/+182
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The change Ic0b974fa (c217d33, "Documentation/technical/reftable: improve repo layout") defines a new repository layout, which was agreed with the git-core mailing list. It addresses the following problems: * old git clients will not recognize reftable-based repositories, and look at encompassing directories. * Poorly written tools might write directly into .git/refs/heads/BRANCH. Since we consider JGit reftable as experimental (git-core doesn't support it yet), we have no backward compatibility. If you created a repository with reftable between mid-Nov 2019 and now, you can do the following to convert: mv .git/refs .git/reftable/tables.list git config core.repositoryformatversion 1 git config extensions.refStorage reftable Change-Id: I80df35b9d22a8ab893dcbe9fbd051d924788d6a5 Signed-off-by: Han-Wen Nienhuys <hanwen@google.com> Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| * | Add validation to hex decoderMichael Dardis2020-03-044-3/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Does not fix any issue but prevents user from shooting themselves in the foot with improper configuration. Suggested by Demetr Starshov at https://git.eclipse.org/r/#/c/157681/ Change-Id: I006d65022f0a7d4066970825d00080c59404fdc3 Signed-off-by: Michael Dardis <git@md-5.net> Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| * | Add 4.14 and 4.15-staging target platformsMatthias Sohn2020-03-024-3/+105
| | | | | | | | | | | | | | | | | | | | | - copy old 4.14-staging to 4.14 target platform - create 4.15-staging target platform from former 4.14-staging Change-Id: I874f552205f1bc419334e4f66ebfef4cbc8cb4ff Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| * | Update Orbit to R20200224183213 for final 2020-03Matthias Sohn2020-03-0219-29/+29
| | | | | | | | | | | | Change-Id: I00eb77ec4c055de0e5900a2c4ed82770e2031dab Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| * | Merge "ObjectWalk: Add null check before skip tree."Jonathan Nieder2020-03-022-1/+11
| |\ \
| | * | ObjectWalk: Add null check before skip tree.Yunjie Li2020-02-262-1/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | currVisit could be null if a blob is marked as start point in ObjectWalk. Add null check before skipping current tree. Change-Id: Ic5d876fe2800f3373d136979be6c27d1bbd38dc1 Signed-off-by: Yunjie Li <yunjieli@google.com>
| * | | Update Orbit to S20200224183213 for 2020-03 RC1Matthias Sohn2020-02-2910-19/+19
| | | | | | | | | | | | | | | | Change-Id: Ic37b1b8dc62de0bb30fa50562bed428f49d404bc Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| * | | Merge branch 'stable-5.6'Matthias Sohn2020-02-2818-21/+22
| |\ \ \ | | | |/ | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * stable-5.6: Cygwin expects forward slashes for commands to be run via sh.exe Make Logger instances final Move array designators from the variable to the type Change-Id: I9a5dc570deb478525bf48ef526d8cba5b19418bf Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| | * | Cygwin expects forward slashes for commands to be run via sh.exeThomas Wolf2020-02-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | FS_Win32_Cygwin replaces backslashes by / as a side-effect of relativize(). When support for core.hooksPath was added, paths were relativized in a different place using Path.resolve(), which doesn't do that transformation. As a result hooks could not be run on Cygwin in some cases. Do the transformation in FS_Win32_Cygwin.runInShell(). In all other places, File or Path objects are used, which give no guarantee about the file separator (typically the system-dependent default separator), so doing the transformation earlier still wouldn't guarantee that sh.exe indeed gets a command string using forward slashes. Bug: 558577 Change-Id: I3c07eb85f0ac7c5628a2e92f990e5cdb7ecf532f Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
| | * | Make Logger instances finalDavid Pursehouse2020-02-276-6/+7
| | | | | | | | | | | | | | | | | | | | Change-Id: Ibb997952917e47bc31a8cbe3863623bc959a8100 Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
| | * | Move array designators from the variable to the typeDavid Pursehouse2020-02-2711-14/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As reported by Sonar Lint: Array designators should always be located on the type for better code readability. Otherwise, developers must look both at the type and the variable name to know whether or not a variable is an array. Change-Id: If6b41fed3483d0992d402d8680552ab4bef89ffb Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
| * | | Merge "[releng] Update year in copyright notices for features"David Pursehouse2020-02-287-7/+7
| |\ \ \
| | * | | [releng] Update year in copyright notices for featuresThomas Wolf2020-02-287-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bump upper end of range to 2020. These copyright notices are user-facing; they're visible in several dialogs in Eclipse. It is strange or even misleading to see a copyright notice for JGit saying "2005, 2010" when there have been *many* developments in the past ten years. Change-Id: Idaa6244b2b3d9cecb29cc690085f8d008195cf12 Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
| * | | | Using for-each loop in jdtLars Vogel2020-02-288-16/+14
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | Running the JDT cleanup action for using a for-each loop on jgit Change-Id: Ie724d8bbdff786ab0167089e90a9914a8135103c Signed-off-by: Lars Vogel <Lars.Vogel@vogella.com>
| * | | Merge "Revert "RevWalk: stop mixing lines of history in topo sort""Jonathan Nieder2020-02-266-192/+64
| |\ \ \
| | * | | Revert "RevWalk: stop mixing lines of history in topo sort"Alex Spradlin2020-02-266-192/+64
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit b5e764abd21bd4593287361a625ecc49bc0efd77. PlotWalk uses the TopoSortGenerator, which is causing problems for EGit users who rely on the emission of commits being somewhat based on date as in the previous topo-sort algorithm. Bug: 560529 Change-Id: I3dbd3598a7aeb960de3fc39352699b4f11a8c226 Signed-off-by: Alex Spradlin <alexaspradlin@google.com>
| * | | | Do not fail if known hosts file does not contain valid host keyLajos Olah2020-02-261-1/+7
| | |_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | KnownHosts (implementing HostKeyRepository) in Jsch can return null which could cause NullPointerException in Stream.of(...) Change-Id: Iddcf5f34f8c8475a85ca7ae018bbe48d1b3fbbc0 Signed-off-by: Lajos Olah <lajos.olah.jr@gmail.com>
* | | | Prepare 5.7.0-SNAPSHOT buildsMatthias Sohn2020-02-2574-105/+105
| | | | | | | | | | | | | | | | | | | | Change-Id: Ic4c83c0ed6cdef69890cc9c27b3aa35c3ff66240 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* | | | JGit v5.7.0.202002241735-m3v5.7.0.202002241735-m3Matthias Sohn2020-02-2474-105/+105
| | | | | | | | | | | | | | | | | | | | Change-Id: I9f71835ed9a0a1176f7ac99edf45d9ce97080720 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* | | | Merge branch 'master' into stable-5.7Matthias Sohn2020-02-24110-281/+701
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * master: Update Orbit to S20200219023850 for 2012-03 M3 Revert "Prepend hostname to subsection used to store file timestamp resolution" Remove use of org.bouncycastle.util.encoders.Hex Remove use of org.bouncycastle.util.io.TeeOutputStream Make the IMatcher public API SimilarityRenameDetector: Fix inconsistent indentation Use indexOf(char) and lastIndexOf(char) rather than String versions Reorder modifiers to follow Java Language Specification GitmoduleEntry: Remove redundant import of class from same package Remove redundant "static" qualifier from enum declarations RevWalk: stop mixing lines of history in topo sort Upgrade plexus-compiler-{eclipse|javac|javac-errorprone} to 2.8.6 Upgrade maven-shade-plugin to 3.2.2 Removed unused imports Documentation/technical/reftable: improve repo layout Change-Id: I558eff2abda44342fbaf1662fda07e2bcc6d4ee3 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| * | | Update Orbit to S20200219023850 for 2012-03 M3Matthias Sohn2020-02-2310-40/+39
| | | | | | | | | | | | | | | | Change-Id: I7b216fa9a4d0724fa7723713b6dd57e269a5e8fe Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| * | | Merge branch 'stable-5.6'Matthias Sohn2020-02-2280-133/+131
| |\ \ \ | | | |/ | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * stable-5.6: Revert "Prepend hostname to subsection used to store file timestamp resolution" SimilarityRenameDetector: Fix inconsistent indentation Use indexOf(char) and lastIndexOf(char) rather than String versions Reorder modifiers to follow Java Language Specification GitmoduleEntry: Remove redundant import of class from same package Remove redundant "static" qualifier from enum declarations Change-Id: Ibb66bef7e8373f81e3e653c9843d986243446d68 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| | * | Revert "Prepend hostname to subsection used to store file timestamp resolution"Matthias Sohn2020-02-221-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit e102bbed995f0e6d3a1a8e5db6d08f9804fd3260. Resolving the hostname comes with a performance penalty. We no longer store the timestamp resolution in the global git config which might be copied around to other machines but in a dedicated jgit config meant for automatically determined options like timestamp resolution. Hence there is no strong reason anymore to have a hardware specific identifier in the subsection name of file timestamp resolution options. Bug: 560414 Change-Id: If8dcabe981eb1792db84643850faa6033f14b1cf Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| | * | SimilarityRenameDetector: Fix inconsistent indentationDavid Pursehouse2020-02-191-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Replace space indentation with tab indentation Change-Id: Ic130d3bde5d3a73d8f5c6225974153573722d05b Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
| | * | Use indexOf(char) and lastIndexOf(char) rather than String versionsDavid Pursehouse2020-02-196-8/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | An indexOf or lastIndexOf call with a single letter String can be made more performant by switching to a call with a char argument. Found with SonarLint. As a side-effect of this change, we no longer need to suppress the NON-NLS warnings. Change-Id: Id44cb996bb74ed30edd560aa91fd8525aafdc8dd Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
| | * | Reorder modifiers to follow Java Language SpecificationDavid Pursehouse2020-02-1946-75/+75
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Java Language Specification recommends listing modifiers in the following order: 1. Annotations 2. public 3. protected 4. private 5. abstract 6. static 7. final 8. transient 9. volatile 10. synchronized 11. native 12. strictfp Not following this convention has no technical impact, but will reduce the code's readability because most developers are used to the standard order. This was detected using SonarLint. Change-Id: I9cddecb4f4234dae1021b677e915be23d349a380 Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
| | * | GitmoduleEntry: Remove redundant import of class from same packageDavid Pursehouse2020-02-191-2/+0
| | | | | | | | | | | | | | | | | | | | Change-Id: I613489a937dd53780b0abfd6b1bd0ed964a5ddd8 Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
| | * | Remove redundant "static" qualifier from enum declarationsDavid Pursehouse2020-02-1932-41/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Nested enum types are implicitly static. Change-Id: Id3d7886087494fb67bc0d080b4a3491fb4baac19 Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
| * | | Remove use of org.bouncycastle.util.encoders.HexMichael Dardis2020-02-224-2/+113
| | | | | | | | | | | | | | | | | | | | Change-Id: I5c1ed0397ef99eb5d4f120da331b66c2d0f1707a Signed-off-by: Michael Dardis <git@md-5.net> Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| * | | Remove use of org.bouncycastle.util.io.TeeOutputStreamMichael Dardis2020-02-214-2/+156
| | | | | | | | | | | | | | | | | | | | | | | | Bug: 559106 Change-Id: Ife06f21a00d258780a2030745738194098c631cf Signed-off-by: Michael Dardis <git@md-5.net> Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| * | | Make the IMatcher public APIThomas Wolf2020-02-205-11/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Provide a static factory method to create a PathMatcher. Bug: 559526 Change-Id: Ib7a4a1bcc658ac2f2a09d365b5b891669dfd7570 Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
| * | | Merge branch 'stable-5.7'Matthias Sohn2020-02-196-90/+47
| |\ \ \ | |/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * stable-5.7: Update API problem filter Prepare 5.6.2-SNAPSHOT builds JGit v5.6.1.202002131546-r Simplify ReftableCompactor Change-Id: I1aa650e030fbaa7a1c898eef1836de529e0c30db Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* | | | Merge branch 'stable-5.6' into stable-5.7Matthias Sohn2020-02-196-90/+47
|\ \ \ \ | | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | # By Matthias Sohn (3) and Han-Wen Nienhuys (1) * stable-5.6: Update API problem filter Prepare 5.6.2-SNAPSHOT builds JGit v5.6.1.202002131546-r Simplify ReftableCompactor Change-Id: I16ed174f9fc662934c3ebaea85a60690efbed1c6 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| * | | Update API problem filterMatthias Sohn2020-02-141-9/+1
| | | | | | | | | | | | | | | | Change-Id: Iced4e3cc68cc9c2a75f9bf5befd6db7ce2fb1374 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| * | | Prepare 5.6.2-SNAPSHOT buildsMatthias Sohn2020-02-1475-455/+463
| | | | | | | | | | | | | | | | | | | | Change-Id: Ie04d749bf16eea6db5e5c98be54ba093ca249d05 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| * | | JGit v5.6.1.202002131546-rv5.6.1.202002131546-rMatthias Sohn2020-02-1374-105/+105
| | | | | | | | | | | | | | | | | | | | Change-Id: I2807b9a9f7e8b877b72702ebd1f70c4f9f223481 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| * | | Simplify ReftableCompactorHan-Wen Nienhuys2020-02-126-90/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The ReftableCompactor supported a byteLimit, but this is currently unused. The FileReftableStack has a more sophisticated strategy that amortizes compaction costs. Rename min/maxUpdateIndex to reflogExpire{Min,Max}UpdateIndex to reflect their purpose more accurately. Since reflogs are generally pruned chronologically (oldest entries are expired first), one can only prune entries on full compaction, so they should not be set by default. Rephrase the function Reader#minUpdateIndex and maxUpdateIndex. These vars are documented to affect log entries, but semantically, they are about ref entries. Since ref entries have their timestamps delta-compressed, it is important for the min/maxUpdateIndex values to be coherent between different tables. The logical timestamps for log entries do not have to be coherent in different tables, as the timestamps of a log entry is part of the key. For example, a table written at update index 20 may contain a tombstone log entry at timestamp 1. Therefore, we set ReftableWriter's min/maxUpdateIndex from the merged tables we are compacting, rather than from the compaction settings (which should only control reflog expiry.) The previous behavior could drop log entries erroneously, especially in the presence of tombstone log entries. Unfortunately, testing this properly requires both an API for adding log tombstones, and a more refined API for controlling automatic compaction. Hence, no test. Change-Id: I2f4eb7866f607fddd0629809e8e61f0b9097717f Signed-off-by: Han-Wen Nienhuys <hanwen@google.com>
* | | | Merge branch 'master' into stable-5.7Thomas Wolf2020-02-16123-797/+1119
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * master: Use lambdas where possible Upgrade maven-pmd-plugin to 3.13.0 Include org.apache.commons.codec 1.13 in the JGit http.apache.feature Update Maven plugins AmazonS3: Speed up fetch, try recent packs first Update orbit to S20200128200239 for 2020-03 M2 FS: re-order fields and use all uppercase for true constants FS: Don't use innocuous threads for CompletableFuture ErrorProne: Enable and fix UnusedException check Update Orbit to I20200126235943 and org.junit to 4.13.0.v20200126-2018 Fix SshSessionFactory#setInstance to use service loader Use ServiceLoader to define the default SSH session factory. Remove Error-Prone ExpectedExceptionChecker ReceivePack: enable overriding filterCommands and executeCommands Replace ExpectedException which was deprecated in junit 4.13 Add org.assertj 3.14.0.v20200120-1926 to target platform Replace deprecated junit assertion methods with hamcrest Update to Orbit I20200120214610 and JUnit to 4.13 Update to Tycho 1.6.0 Extract method refactoring in class DirCacheCheckout Update Orbit to I20200115225246 and update dependencies Update bazlets and bazel version Change-Id: Ib6cd6593484cd79def9d5298181411189575c9f7 Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
| | | * | Merge "RevWalk: stop mixing lines of history in topo sort"Jonathan Tan2020-02-186-64/+192
| | | |\|
| | | | * RevWalk: stop mixing lines of history in topo sortAlex Spradlin2020-02-186-64/+192
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The topological sort algorithm in TopoSortGenerator for RevWalk may mix multiple lines of history, producing results that differ from C git's git log whose man page states: "Show no parents before all of its children are shown, and avoid showing commits on multiple lines of history intermixed." Lines of history are mixed because TopoSortGenerator merely delays a commit until all of its children have been produced; it does not immediately produce a commit after its last child has been produced. Therefore, when the last child of a commit has been produced, unpop the commit so that it will be returned upon the subsequent call to next() in TopoSortGenerator. To avoid producing duplicates, mark commits that have not yet been produced as TOPO_QUEUED so that when a commit is popped, it is produced if and only if TOPO_QUEUED is set. To support nesting with other generators that may produce the same commit multiple times like DepthGenerator (for example, StartGenerator does this), do not increment parent inDegree for the same child commit more than once. Modify tests that assert that TopoSortGenerator mixes lines of commit history. Change-Id: I4ee03c7a8e5265d61230b2a01ae3858745b2432b Signed-off-by: Alex Spradlin <alexaspradlin@google.com>
| | | * | Merge "Documentation/technical/reftable: improve repo layout"Jonathan Nieder2020-02-181-23/+30
| | | |\ \
| | | | * | Documentation/technical/reftable: improve repo layoutHan-Wen Nienhuys2020-02-111-23/+30
| | | | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, the list of tables was in .git/refs. This makes repo detection fail in older clients, which is undesirable. This is proposal was discussed and approved on the git@vger list at https://lore.kernel.org/git/CAFQ2z_PvKiz==GyS6J1H1uG0FRPL86JvDj+LjX1We4-yCSVQ+g@mail.gmail.com/ For backward compatibility, JGit could detect a file under .git/refs and use it as a reftable list. Change-Id: Ic0b974fa250cfa905463b811957e2a4fdd7bbc6b Signed-off-by: Han-Wen Nienhuys <hanwen@google.com>