aboutsummaryrefslogtreecommitdiffstats
path: root/org.eclipse.jgit.ssh.jsch
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'master' into nextMatthias Sohn2024-02-2111-18/+31
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * master: Delete org.eclipse.jgit.ssh.apache.agent/bin/.project Allow to discover bitmap on disk created after the packfile Update jetty to 10.0.20 Update maven plugins Update org.assertj:assertj-core to 3.25.3 Update org.mockito:mockito-core to 5.10.0 Update org.apache.commons:commons-compress to 1.26.0 Update byte-buddy to 1.14.12 Add SystemReader.Delegate to reduce boiler-plate code needed to subclass storage.file: Do not throw NSFE when deleting tmp files FS.detectSymlinkSupport: fix a race RefDirectory: Do not unlock until after deleting loose ref Add missing javadoc description for declared exception SnapshottingRefDirectory: Invalidate snapshot after locking ref for update SnapshottingRefDir: Replace lambas with method refs SnapshottingRefDir: Reduce casts with overrides [errorprone] Fix wrong comparison which always evaluated to false [errorprone] Remove unnecessary comparison Errorprone EscapedEntity: Do not use HTML entities inside @code javadoc ChangedPathFilter: Suppress warning about backing array (errorprone) PackWriterBitmapPreparer: Do not generate bitmaps for excessive branch tips. Don't use localized String during JVM shutdown RawParseUtils.nextLfSkippingSplitLines: fulfil contract as stated [gpg] Refactor the GpgSignatureVerifier RawParseUtils: utility method to get a header value Improve handling of NFS stale handle errors Fix handling of missing pack index file Add tests for handling pack files removal during fetch RebaseCommand: fix stopping on root commit conflicts Improve handling of NFS stale handle errors Fix handling of missing pack index file CherryPick: add ability to customise cherry-picked commit message RawParseUtils: Add missing @since tag for new API method Silence API warning for new constant [ssh] Bump Apache MINA sshd 2.11.0 -> 2.12.0 Introduce a PriorityQueue sorting RevCommits by commit timestamp Remove org.eclipse.jgit.benchmark/.factorypath Update jmh to 1.37 for org.eclipse.jgit.benchmark Add tests for handling pack files removal during fetch PackWriterBitmapPreparer: Set limit on excessive branch count Update jna to 5.14.0 DfsInserter/PackParser: keep min size for index in the inserter FooterLines: handle extraction from messages without headers Silence API warnings Remove invalid/unnecessary Maven settings Update maven plugins Update org.eclipse.dash:license-tool-plugin to 1.1.0 Enable using slf4j 2.x Update Tycho to 4.0.4 Update mockito to 5.8.0 Add 4.31 target platform and update orbit to 4.31 Update ecj to 3.36.0 Renormalize line endings based on .gitattributes Configure .gitattributes to manage line endings Normalize line endings to LF for all text files BasePackFetchConnection: Skip object/ref lookups if local repo is empty LooseObjects: Use File#exists when possible Remove invalid spotbugs configuration Fix PMD plugin configuration DfsReader: give subclasses visiblity over the pack bitmap index PackBitmapIndex/StoredBitmap: Expose size and counts PackWriter/Statistics: Remove the bitmapt hit stats Configure Github issue reporting Make sure ref to prune is in packed refs FooterLine: Protect from ill-formed message API filter for PackStatistics.objectsWithBitmapsFound StartGenerator: Fix parent rewrite with non-default RevFilter Update MANIFEST.MF Document option gc.writeCommitGraph Bump last release version to 6.8.0.202311291450-r Prepare 6.9.0-SNAPSHOT builds BitmapWalkerTest: New test for the walker PackWriter: store the objects with bitmaps in the statistics FooterLine: First line cannot be a footer Reapply "Improve footer parsing to allow multiline footers." Revert "Improve footer parsing to allow multiline footers." Prepare 6.8.1-SNAPSHOT builds JGit v6.8.0.202311291450-r Rename method parameter to fix warning about hidden field Fix warnings about empty control flow statements BitmapIndexImpl: externalize error message Suppress not-externalized string warnings Silence API error for new method BitmapIndex#addBitmapLookupListener Update Orbit to orbit-aggregation/2023-12 Adapt to type parameter added in commons-compress 1.25.0 Improve footer parsing to allow multiline footers. Make the tests buildable by bazel test Prepare 6.8.0-SNAPSHOT builds JGit v6.8.0.202311212206-rc1 BitmapIndex: Add interface to track bitmaps found (or not) BitmapWalker: Remove BitmapWalkListener Update repository URLs in CONTRIBUTING.md Fix typo in FileUtils.isStaleFileHandle() javadoc Fix branch ref exist check gpg.bc: Supress errorprone InsecureCryptoUsage Adjust javadoc to pass errorprone checks Update org.apache.commons:commons-compress to 1.25.0 Fix annotation of deprecated constant CONFIG_KEY_STREAM_FILE_TRESHOLD BitmapWalkListener: Use plain interface with noop instance BitmapWalkListener: Add method and rename for commits Update bouncycastle to 1.77 PatchApplier: wrap output's TemporaryBuffer with a CountingOutputStream BitmapWalker: announce walked objects via listener interface Prepare 6.8.0-SNAPSHOT builds Update jetty to 10.0.18 SSH: bump org.apache.sshd to 2.11.0 JGit v6.8.0.202311151710-m2 Fix typo in constant name CONFIG_KEY_STREAM_FILE_TRESHOLD Simplify StringUtils#commonPrefix Optimize RefDirectory.getRefsByPrefix(String...) CommitGraphWriter: Remove unnecesary progress update call Use try-with-resource to ensure UploadPack is closed Fix hiding field warning Fix warning for empty code blocks Fix boxing warnings errorprone: remove unnecessary parentheses Update mockito to 5.7.0 and bytebuddy to 1.14.9 Enable Maven reproducible builds Upgrade bazlets to the latest revision Revert "Optimise Git protocol v2 `ref-prefix` scanning" Document GIT_TRACE_PERFORMANCE to show timings config-options.md: fix sort order ComboBitset: Add Javadoc CommitGraphWriter: Add progress monitor to bloom filter computation CommitGraphWriter: Use ProgressMonitor from the OutputStream CommitGraphWriter: Unnest generation-number progress Optimise Git protocol v2 `ref-prefix` scanning UploadPackTest: Cover using wanted-refs as advertised set UploadPack: use want-refs as advertised set in fetch v2 BasePackFetchConnection: Avoid full clone with useNegotiationTip Checkout: better directory handling .gitignore: ignore all Maven output directories `target/` benchmarks: use org.eclipse.jgit-parent as parent pom Generate SBOMs using cyclonedx maven plugin DfsPackFile: Do not attempt to read stream if pack doesn't have it PackObjectSizeIndexLoader: Log wrong bytes on exception Silence API warnings for API added in 5.13.3 FileBasedConfig: in-process synchronization for load() and save() FileUtils.rename(): better retry handling FileBasedConfig: ensure correct snapshot if no file DeleteBranchCommand: update config only at the end Config.removeSection() telling whether it changed the config RebaseCommand: return correct status on stash apply conflicts Use net.i2p.crypto.eddsa 0.3.0 from new Orbit build PackConfig: fix @since tags Remove unused API problem filters Add support for git config repack.packKeptObjects Do not exclude objects in locked packs from bitmap processing [errorprone] Fix InconsistentCapitalization TestRepository: Add getInstant method Update orbit to orbit-aggregation/2023-12 Prepare 6.8.0-SNAPSHOT builds JGit v6.8.0.202310031045-m1 UploadPack: Delay freeing refs in sendPack() ByteBufferInputStream: add missing @since 6.8 Fix log level for successful execution of ShutdownHook#notify to debug Eclipse features: update copyright year SSH agent: correct plug-in title Fix DefaultCharset bug pattern flagged by error prone Activate additional error prone checks WorkingTreeIterator: directly filter input stream [errorprone] Add missing javadoc summary [errorprone] Fix BadImport [errorprone] Prevent int expression may overflow [errorprone] Suppress ByteBufferBackingArray [errorprone] Suppress JavaLangClash to avoid breaking change [errorprone] Fix EqualsGetClass [errorprone] MockSystemReader: fix CatchAndPrintStackTrace [errorprone] MetaFilter: fix IdentityHashMapUsage [errorprone] InternalFetchConnection: Suppress CatchAndPrintStackTrace [errorprone] Don't swallow exception [errorprone] Fix inconsistent capitalization [errorprone] PageRef#isStringRef: suppress UnusedMethod [errorprone] FileReftableStack: fix EqualsUnsafeCast [errorprone] Suppress MissingSummary for translation bundles [errorprone] CommandLineMergeTool: Remove unused constuctor [errorprone] SimilarityRenameDetector: suppress IntLongMath Add comment why protocol list uses WeakReference [errorprone] Transport: Suppress ModifyCollectionInEnhancedForLoop [errorprone] Rename method parameter to silence InvalidParam [errorprone] MyersDiff#main: fix CatchAndPrintStackTrace [errorprone] TagCommand: Remove unused parameter of private method [errorprone] PathFilter#getPathsBestEffort: fix ArrayAsKeyOfSetOrMap [errorprone] DirCacheEntry: suppress JavaInstantGetSecondsGetNano [errorprone] Directly implement functional interface [errorprone] InterruptTimer#terminate: ensure Thread#join succeeds [errorprone] RawParseUtils@parseHexInt64: suppress IntLongMath [errorprone] Exceptions should not override #toString [errorprone] Fix invalid param in javadoc [errorprone] FS#searchPath: handle surprising behavior of String#split [errorprone] FileStoreAttributes#FUTURE_RUNNER: Fix corePoolSize [errorprone] Express duration using seconds which is clearer [errorprone] Use ArrayList instead of LinkedList [errorprone] AddCommand#filepattern: use a more specific type [errorprone] Suppress UnnecessaryParentheses [errorprone] Remove unnecessary parentheses tools/BUILD: Sort errorprone rules alphabetically Update jetty to 10.0.16 Update bazel to 6.3.2 DfsPackFile: remove unnecessary @SuppressWarnings("boxing") CommitGraphWriter: Remove unnecessary semicolon CommitGraphWriter: fix boxing warnings CommitGraphWriter#createCoreChunks: Remove not-thrown exceptions CommitGraphWriter: Decouple Stats from computing bloom filters CommitGraphWriter: Move bloom filter calculation out of createChunks Documentation: Move writeChangedPaths flag from commitGraph to gc section. [errorprone] Fix wrong comparison which always evaluated to false [errorprone] Remove unnecessary comparison Update org.eclipse.jdt:ecj to 3.35.0 Update org.apache.commons:commons-compress to 1.24.0 [errorprone] Suppress ImmutableEnumChecker for ShutdownHook Update bytebuddy to 1.14.8 Use ShutdownHook to gracefully handle JVM shutdown Add ShutdownHook to cleanup FileLocks on graceful JVM shutdown Unregister ShutdownHook when GC#PidLock is closed OSGi: move plugin localization to subdirectory ssh: Remove redundant null check for home.getAbsoluteFile() RevertCommand: support for inserting a Gerrit change ID [releng] Bump japicmp base version to 6.7.0.202309050840-r DfsPackFile: Record index loads only in one place DfsPackfile: Emit the index load with the index object Prepare 6.8.0-SNAPSHOT builds Prepare 6.7.1-SNAPSHOT builds Switch back to wagon-ssh-external Fix generation of maven site Ensure home directory not null before using in Sshdsessionfactory CommitGraphWriter: Make the list of chunks immutable CommitGraphWriter: Assert written bytes JGit v6.7.0.202309050840-r Remove unused API problem filters [releng] Bump japicmp base version to 6.6.0.202305301015-r Fix list of 3rd party bundles in p2 repo Add missing source bundle org.osgi.service.cm.source to target platform Prepare 6.6.2-SNAPSHOT builds JGit v6.6.1.202309021850-r Checkout: better directory handling CommitGraphWriter: throw exception on unknown chunk Document commit-graph options supported by JGit Fix warning raised for local variable hiding DfsPackFile#index Suppress boxing warnings in DfsPackFile Remove unused API problem filters Suppress boxing warnings in tests Fix warning about empty block Update mockito to 5.5.0 Update byte-buddy to 1.14.7 Prepare 6.7.0-SNAPSHOT builds JGit v6.7.0.202308301100-rc1 Remove the cbi-snapshots Maven repository Update Orbit to orbit-aggregation/release/4.29.0 Add target platform for Eclipse 2023-09 (4.29) Use release p2 repo for Eclipse 2023-06 (4.28) Update tycho to 4.0.2 Update jmh to 1.37 Update bouncycastle to 1.76 Fix some tests in ConfigTest Handle global git config $XDG_CONFIG_HOME/git/config IO: use JDK convenience methods org.eclipse.jgit.junit.ssh/.settings/.api_filters: fix unclosed tags ReadChangedPathFilter: fix Non-externalized string literal warning Introduce core.packedIndexGitUseStrongRefs config key DfsReader: Make PackLoadListener interface visible to subclasses DfsGarbageCollector: provide commit graph stats DfsGarbageCollector: put only GC commits into the commit graph DfsReader: Expose when indices are loaded Update to Tycho 4.0.1 Prepare 6.7.0-SNAPSHOT builds JGit v6.7.0.202308011830-m2 Add missing @since tags Fix errorprone warning about precedence Move footer-line parsing methods from RevCommit to FooterLine Merge: Add diff3 style merge conflict formatter. RevCommitCG: Read changed-path-filters directly from commit graph Update commons-codec to 1.16.0 Add missing @since tags for new API methods Add missing package import needed to use MurmurHash3 Identify a commit that generates a diffEntry on a rename Event. Pack: open reverse index from file if present PackReverseIndexV1: reverse index parsed from version 1 file PackReverseIndex: open file if present otherwise compute PackReverseIndex: verify checksums ComputedPackReverseIndex: Clarify custom bucket sort algorithm CommitGraphWriter: add option for writing/using bloom filters CommitGraphWriter: reuse changed path filters RevWalk: use changed path filters CommitGraphLoader: read changed-path filters CommitGraphWriter: write changed-path filters ssh: PKCS#11 support GC: Remove handling of extra pack for RefTree Remove unnecessary @SuppressWarnings("serial") Remove unused API problem filters Remove redundant specification of type arguments DfsPackParser: Create object indices if config says so PackParserTest: Extract pack-writing helper code to its own class DfsInserter: generate object size index if config says so DfsInserter: populate full size on object insertion DFSGarbargeCollector: Write object size indices DfsReader/PackFile: Implement isNotLargerThan using the obj size idx [releng] Use tycho 4.0.0 instead of 4.0.0-SNAPSHOT Add verification in GcKeepFilesTest that bitmaps are generated Express the explicit intention of creating bitmaps in GC GC: prune all packfiles after the loosen phase Update mockito to 5.4.0 and bytebuddy to 1.14.5 Fix S3Repository getSize to handle larger object sizes DfsPackFile: make #getReverseIdx public Add missing bazel dependency to benchmarks Update JMH to 1.36 Update bouncycastle to 1.75 Update org.eclipse.jdt:ecj to 3.34.0 Update eclipse-jarsigner-plugin to 1.4.2 Update maven-surefire-report-plugin to 3.0.0 Update maven-project-info-reports-plugin to 3.4.3 Update maven-compiler-plugin to 3.11.0 Update maven-enforcer-plugin to 3.3.0 Update build-helper-maven-plugin to 3.4.0 Update spring-boot-maven-plugin to 2.7.13 Update maven-source-plugin to 3.3.0 Prepare 5.13.3-SNAPSHOT builds JGit v5.13.2.202306221912-r PackReverseIndex: separate out the computed implementation Default for global (user) git ignore file Fix all Javadoc warnings and fail on them Mark COMMIT_GENERATION_* constants final Update Orbit to R20230531010532 for 2023-06 Revert "RefDirectory: Throw exception if CAS of packed ref list fails" PackReverseIndex: use static builder instead of constructor Gc#writePack: write the reverse index file to disk Bazel: Fix remote build execution for Java 17 Bump bazel vesion to 6.2.0 Prepare 6.6.1-SNAPSHOT builds JGit v6.6.0.202305301015-r Bump bazel vesion to 6.2.0 Update to Orbit S20230516204213 Prepare 6.6.0-SNAPSHOT builds Prepare 6.7.0-SNAPSHOT builds JGit v6.6.0.202305241045-m3 GraphObjectIndex: fix search in findGraphPosition Update to Tycho 4.0.0-SNAPSHOT PGP sign p2 artefacts Revert 'Use net.i2p.crypto:eddsa directly from Maven Central' Update dash license-tool-plugin to 1.0.2 Also add suppressed exception if unchecked exception occurs in finally Candidate: use "Objects.equals" instead of "==" Use hamcrest 2.2 directly from Maven Central Use commons-logging directly from Maven Central Update jna to 5.13.0 Use bytebuddy directly from Maven Central Use jna directly from Maven Central Use net.i2p.crypto:eddsa directly from Maven Central Use org.tukaani:xz directly from Maven Central Use args4j directly from Maven Central Use gson directly from Maven Central Remove unused $NON-NLS-1$ Remove unused API filters Switch to Apache MINA sshd 2.10.0 [releng] API filter for PackIndex.DEFAULT_WRITE_REVERSE_INDEX PackExt: add a #getTmpExtension method UploadPack: Record negotiation stats on fetchV2 call RewriteGeneratorTest: Introduce test cases for the RewriteGenerator PackWriter: write the PackReverseIndex file Prepare 6.6.0-SNAPSHOT builds JGit v6.6.0.202305031100-m2 Update Maven plugins Add TransportHttp#getAdditionalHeaders Add 4.27 (2023-03) and 4.28 (2023-06) target platforms Fix inProcessPackedRefsLock not shared with copies of the instance Update slf4j to 1.7.36 and consume it directly from Maven Central Update assertj-core to 3.24.2 Update plexus-compiler to 2.13.0 Update Apache commons-codec to 1.15 Update org.apache.commons:commons-compress to 1.23.0 Update javaEWAH to 1.2.3 and use it directly from Maven central Update org.eclipse.jdt:ecj to 3.33.0 Add missing @since tag to IntComparator Update to jakarta.servlet:jakarta.servlet-api:4.0.4 Support rebasing independent branches Support cherry-picking a root commit AddCommand: ability to switch off renormalization Update jetty to 10.0.15 and use it from Maven central directly Update bouncycastle to 1.73 [errorprone] Fix MissingOverride error PackReverseIndexWriter: write out version 1 reverse index file IntList: add #sort using quick sort for O(n log n) runtime. [bazel] Move ToolTestCase to src folder (6.2) GcConcurrentTest: @Ignore flaky testInterruptGc Fix CommitTemplateConfigTest Fix after_open config and Snapshotting RefDir tests to work with bazel [bazel] Skip ConfigTest#testCommitTemplatePathInHomeDirecory Demote severity of some error prone bug patterns to warnings [bazel] Fix version number of bcpg-jdk18on Parse pull.rebase=preserve as alias for pull.rebase=merges Use bouncycastle libraries directly from Maven Central UploadPack: Fix NPE when traversing a tag chain Add missing @since tag for BatchRefUpdate#getRefDatabase Add missing since tag for SshBasicTestBase Add missing since tag for SshTestHarness#publicKey2 Silence API errors Prevent infinite loop rescanning the pack list on PackMismatchException Remove blank in maven.config PackedBatchRefUpdate#execute: reduce nesting of try-catch blocks PackedBatchRefUpdate: Handle the case where loose refs fail to pack Remove blank in maven.config Add protocol configuration to Amazon S3 transport [pgm] Implement git tag --contains option ListTagCommand: implement git tag --contains RevWalk: use generation number to optimize getMergedInto() DfsPackFile: Extract block aligment code Ensure parsed RevCommitCG has derived data from commit-graph PatchApplierTest: specify charset to avoid warning GcConcurrentTest: @Ignore flaky testInterruptGc PatchApplier: Check for existence of src/dest files before any operation Revert "RefDirectory: Throw exception if CAS of packed ref list fails" RefDirectory.delete: Prevent failures when packed-refs is outdated RefDirectory.pack: Only rely on packed refs from disk RefDirectory: Make pack() and commitPackRefs() void Implement a snapshotting RefDirectory for use in request scope Fix RefDirectoryTest.testGetRefs_LooseSorting_Bug_348834 PackedBatchRefUpdate: Ensure updates are applied on latest packed refs Downgrade maven-site-plugin to 3.12.1 Use wagon-ssh-external to deploy Maven site Record my e-mail change in .mailmap [releng] Bump japicmp base version PatchApplier: missing @since, and minor formatting BasePackFetchConnection: support negotiationTip feature DirCache: support option index.skipHash PatchApplierTest: Remove test data with Apache license Fix PatchApplier error handling. Ensure FileCommitGraph scans commit-graph file if it already exists GC: Close File.lines stream GC: Close File.lines stream Rerun flaky tests 3 times Prepare 6.5.1-SNAPSHOT builds JGit v6.5.0.202303070854-r Ignore generated org.eclipse.jgit.benchmarks/dependency-reduced-pom.xml [sshd] Fix calculation of timeout in AbstractClientProxyConnector Silence API error raised for removed BranchRebaseMode#PRESERVE [errorprone] Suppress [Finally] warnings Update Orbit to R20230302014618 for 2023-03 Improve test coverage when core.trustPackedRefsStat set to after_open Prepare 6.6.0-SNAPSHOT builds Prepare 6.5.0-SNAPSHOT builds JGit v6.5.0.202302281825-rc1 Prepare 6.5.0-SNAPSHOT builds Change config pull.rebase=preserve to pull.rebase=merges BatchingProgressMonitor: expose time spent per task PackWriter: offer to write an object-size index for the pack Fix formatting in GC#doGc PackExt: Define new extension for the object size index JGit v6.5.0.202302221508-m3 If tryLock fails to get the lock another gc has it Fix GcConcurrentTest#testInterruptGc Don't swallow IOException in GC.PidLock#lock Check if FileLock is valid before using or releasing it Use Java 11 ProcessHandle to get pid of the current process UploadPack: use allow-any-sha1-in-want configuration Acquire file lock "gc.pid" before running gc Silence API errors introduced by 9424052f Externalize strings introduced in c9552aba Silence API error introduced by 596c445a PackConfig: add entry for minimum size to index Fix getPackedRefs to not throw NoSuchFileException PackObjectSizeIndex: interface and impl for the object-size index UInt24Array: Array of unsigned ints encoded in 3 bytes. PackIndex: expose the position of an object-id in the index Add pack options to preserve and prune old pack files DfsPackFile/DfsGC: Write commit graphs and expose in pack ObjectReader: Allow getCommitGraph to throw IOException Allow to perform PackedBatchRefUpdate without locking loose refs Document option "core.sha1Implementation" introduced in 59029aec UploadPack: consume delimiter in object-info command PatchApplier fix - init cache with provided tree Prepare 6.5.0-SNAPSHOT builds JGit v6.5.0.202302011120-m2 Avoid error-prone warning Fix unused exception error-prone warning UploadPack: advertise object-info command if enabled 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 Move MemRefDatabase creation in a separate method. PackWriterBitmapPreparer: do not include annotated tags in bitmap BatchingProgressMonitor: avoid int overflow when computing percentage DfsReaderIoStats: Add Commit Graph fields into DfsReaderIoStats [pgm] Fetch-CLI: add support for shallow Speedup GC listing objects referenced from reflogs Re-add servlet-api 4.0 to the target platform Upgrade maven plugins Cache trustFolderStat/trustPackedRefsStat value per-instance Refresh 'objects' dir and retry if a loose object is not found Prepare 6.5.0-SNAPSHOT builds JGit v6.5.0.202301111425-m1 Update Orbit to S20230101190934 Update to releases p2 repo for 4.26 simultaneous release RevWalk: integrate commit-graph with commit parsing FileSnapshotTest: Add more MISSING_FILE coverage GC: disable writing commit-graph for shallow repos Introduce core.trustPackedRefsStat config RefDatabase: fix javadoc formatting Pull up additionalRefsNames from RefDirectory to RefDatabase Add TernarySearchTree CommitGraph: teach ObjectReader to get commit-graph PatchApplier: fix handling of last newline in text patch CommitGraph: add commit-graph for FileObjectDatabase Reformat PatchApplier and PatchApplierTest PackWriter#prepareBitmapIndex: add clarifying comments IO#readFully: provide overload that fills the full array Fix API warnings for the new CommitGraph PackReverseIndex#findPosition: fix typo in method name GC: Write commit-graph files when gc CommitGraph: add core.commitGraph config CommitGraph: implement commit-graph read Gc#deleteOrphans: avoid dependence on PackExt alphabetical ordering WalkPushConnection: Sanitize paths given to transports Fix documentation for core.trustFolderStat GraphCommits: Remove unused getter by position CommitGraphWriter: fix UnusedException errorprone error Update jetty to 10.0.13 PackExt: Add a commit graph extension. BatchRefUpdate: Consistent switch branches in ref update RefWriter#writePackedRefs: Remove a redundant "if" check commitgraph package: fix exports/imports, add @since tag for new API CommitGraph: implement commit-graph writer [releng] bump japicmp base version Prepare 6.4.1-SNAPSHOT builds JGit v6.4.0.202211300538-r Fix crashes on rare combination of file names Prepare 6.5.0-SNAPSHOT builds Prepare 6.4.0-SNAPSHOT build JGit v6.4.0.202211231055-rc1 [pgm] Add options --name-only, --name-status to diff, log, show Update Orbit to R20221123021534 for 2022-12 RBE: Update toolchain with bazel-toolchains 5.1.2 release SshTestGitServer: : ensure UploadPack is closed to fix resource leak UploadPackTest: ensure UploadPack is closed to fix resource leak [pgm] Ensure UploadPack is closed to fix resource leak UploadPackServlet#doPost use try-with-resource to ensure up is closed Fix warnings in PatchApplierTest Fix boxing warnings in TransportTest Silence warnings about unclosed BasePackPushConnection Fix warning about non-externalized String Remove unused imports Suppress non-externalized String warnings Remove unused API problem filters Silence API errors Silence API errors Silence API warnings Add 4.26 target platform Use "releases" repository for 4.25 target platform Update Apache Mina SSHD to 2.9.2 Update Orbit to S20221118032057 DfsBlockCache: Report IndexEventConsumer metrics for reverse indexes. DfsStreamKey: Replace ForReverseIndex to separate metrics. Prepare 6.4.0-SNAPSHOT builds RawText.isBinary(): handle complete buffer correctly JGit v6.4.0.202211160543-m3 PackExt: Add a reverse index extension. [benchmarks] Remove profiler configuration Add SHA1 benchmark [benchmarks] Set version of maven-compiler-plugin to 3.8.1 Fix running JMH benchmarks Add option to allow using JDK's SHA1 implementation Fix API breakage caused by extracting WorkTreeUpdater Update Orbit to S20221109014815 Use replace instead of replaceAll in toCleanString Extract Exception -> HTTP status code mapping for reuse Don't handle internal git errors as an HTTP error Fix the path for JSchText.properties Fix crashes on rare combination of file names Fix Maven SHA1 for Bazel build UploadPack: Receive and parse client session-id TransferConfig: Move reading advertisesid setting into TransferConfig FirstWant: Parse client session-id if received. ReceivePack: Receive and parse client session-id. Ignore IllegalStateException if JVM is already shutting down Prepare 6.4.0-SNAPSHOT builds Allow to perform PackedBatchRefUpdate without locking loose refs JGit v6.4.0.202210260700-m2 PushCommand: allow users to disable use of bitmaps for push I/O redirection for the pre-push hook PackParser: populate full size of the PackedObjectInfos PackedObjectInfo: add the full size to the description ObjectReader: New #isNotLargerThan method Fail build if there are license issues with dependencies Update org.apache.httpcomponents:httpcore to 4.4.15 Update Orbit to S20220927175816 Update JMH to 1.35 Update org.eclipse.jdt:ecj to 3.31.0 Update plexus compiler to 2.12.1 Update org.apache.maven.wagon:wagon-ssh to 3.5.2 pgm/BUILD: Add dependencty to java EWAH [sshd] Guard against numerical overflow Remove unused imports Remove unused API filters ObjectDirectory: avoid using File.getCanonicalPath() AutoCRLFOutputStream: use BufferedOutputStream CloneCommand: set HEAD also when not checking out Pass on shallowSince only if not null Fix wrong @since tag Split out ApplyCommand logic to PatchApplier class Prepare 6.4.0-SNAPSHOT builds Fix typo in FetchV2Request javadoc Prepare 6.3.1-SNAPSHOT builds DfsBundleWriter: Add test case about GC_REST pack. JGit v6.3.0.202209071007-r JGit v6.3.0.2022009070944-r [merge] Fix merge conflicts with symlinks Update DEPENDENCIES for 6.3.0 Update tycho to 2.7.5 Move WorkTreeUpdater to merge package WorkTreeUpdater: use DirCacheCheckout#StreamSupplier DirCacheCheckout#getContent: also take InputStream supplier Revert "Adds FilteredRevCommit that can overwrites its parents in the DAG." Revert "Option to pass start RevCommit to be blamed on to the BlameGenerator." WorkTreeUpdater: remove safeWrite option Update Orbit to R20220830213456 for 2022-09 BaseSuperprojectWriter: report invalid paths as manifest errors ApplyCommand: fix ApplyResult#updatedFiles WorkTreeUpdater: rename metadata maps WorkTreeUpdater#Result: hide data members Add javadoc on RevCommit Option to pass start RevCommit to be blamed on to the BlameGenerator. WorkTreeUpdater: re-format and clean-up Prepare 6.3.0-SNAPSHOT builds Adds FilteredRevCommit that can overwrites its parents in the DAG. JGit v6.3.0.202208161710-m3 DirCacheCheckout: load WorkingTreeOptions only once WorkTreeUpdater: Fix unclosed streams Fix adding symlinks to the index when core.symlinks=false Remove unused API problem filters Add missing @since tag for RevCommit#parents introduced in 61b4d105e4 Fix API errors caused by 23a71696cd Provide default shallowCommits getter and setter in ObjectDatabase Reapply "Create util class for work tree updating in both filesystem and index." ResolveMerger: add coverage for inCore file => directory transition Provide encoding to String#getBytes() Revert "Create util class for work tree updating in both filesystem and index." Provide a default implementation for set/get shallowCommits on DfsObjDatabase Revert "Adds FilteredRevCommit that can overwrites its parents in the DAG." Revert "Option to pass start RevCommit to be blamed on to the BlameGenerator." CleanCommand: fix prefix matching Option to pass start RevCommit to be blamed on to the BlameGenerator. Adds FilteredRevCommit that can overwrites its parents in the DAG. Add the ability to override parents on RevCommit. Refactor NameConflictTreeWalk.fastMin method Fix BUILD rules for FilteredRenameDetectorTest Rename fastMinHasMatch to allTreesNamesMatchFastMinRef Document TreeWalk#min() Squash error-prone messages Use constants for git packet protocol line identifiers ObjectDirectory: improve reading of shallow file Fetch: add support for shallow [tests] Stabilize the HTTP server's request log NameConflictTreeWalk: respect git order on multi-tree iteration Update Orbit to S20220726152247 and bouncycastle to 1.71 Create util class for work tree updating in both filesystem and index. Fix the handling of .git/info/exclude and core.excludesFile Remove version constraints from org.tukaani.xz package Change-Id: I31997b67bf432ae3bf6b1cde076fa9307b1e00f4
| * Enable using slf4j 2.xMatthias Sohn2023-12-221-1/+1
| | | | | | | | | | | | | | | | Eclipse platform moved to sfl4j 2.x. Hence relax version constraint so that both 1.7 and 2.x are allowed. Bug: egit-5 Change-Id: Ie0b00310d8f3f2553457c8668a38978a67b8febe
| * Prepare 6.9.0-SNAPSHOT buildsMatthias Sohn2023-12-043-13/+13
| | | | | | | | Change-Id: Id1d784ec4870cfb53c4b140fe0bb3fad9eef651d
| * Prepare 6.8.1-SNAPSHOT buildsMatthias Sohn2023-11-293-13/+13
| | | | | | | | Change-Id: I56458c5345dcd9544868c948e90c9827d25c6850
| * JGit v6.8.0.202311291450-rv6.8.0.202311291450-rMatthias Sohn2023-11-293-4/+4
| | | | | | | | | | Signed-off-by: Matthias Sohn <matthias.sohn@sap.com> Change-Id: Iecfe3f628cfdc437ee0d63fe52653ef952c8c494
| * Prepare 6.8.0-SNAPSHOT buildsMatthias Sohn2023-11-223-4/+4
| | | | | | | | Change-Id: I89178175549541111cddb88da401899960c0ecac
| * JGit v6.8.0.202311212206-rc1v6.8.0.202311212206-rc1Matthias Sohn2023-11-213-4/+4
| | | | | | | | | | Signed-off-by: Matthias Sohn <matthias.sohn@sap.com> Change-Id: I6a40cdef68538fa769f4525eb2ff1ed4a810f11c
| * Prepare 6.8.0-SNAPSHOT buildsMatthias Sohn2023-11-153-4/+4
| | | | | | | | Change-Id: Id11a260db84aea6743f2e6edec8b8010693aab42
| * JGit v6.8.0.202311151710-m2v6.8.0.202311151710-m2Matthias Sohn2023-11-153-4/+4
| | | | | | | | | | Signed-off-by: Matthias Sohn <matthias.sohn@sap.com> Change-Id: I9d06bb08fc1f9a2a08d4bc5a4459ec7e7e8c1be4
| * Enable Maven reproducible buildsMatthias Sohn2023-11-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - configure Maven to run build reproducibly [1] - use UTC timestamp of checked out commit as build timestamp - add git-describe, git-commit-id, git-commit-id, git-tags, git-remote-origin-url to MANIFEST.MF files - configure cyclonedx-maven-plugin to also use UTC timestamp of checked out commit - for packaging build use tycho-buildtimestamp-jgit [2] to ensure version uses the timestamp of the last commit - SBOMs are not reproducible by design [3] they should have a build timestamp matching the time when the build was executed and a serial number which is a unique UUID per build run. Hence exclude them from comparison [4]. - Use gmavenplus-plugin to format build timestamps. Maven expects build timestamp in ISO-8601 format, to replace the qualifier in versions the timestamp format must be compatible with rules for OSGi version numbers. Didn't find a way to read the properties set by the git-commit-id-maven-plugin from another plugin. Hence use JGit in a groovy script to get the commit time of the current HEAD and provide it in these two formats. TODO: packaging build (features and p2 repository) is not yet binary reproducible since that's not yet supported by Tycho [5], artefacts have reproducible version numbers but file lastModified timestamps are not yet reproducible. Test plan for Maven build: - build using mvn clean install" - verify second build is reproducible: mvn -T1 clean verify artifact:compare verification seems not to be thread-safe, hence run it with a single thread using option -T1 For packaging build (still fails due to non-reproducible file timestamps): - build using mvn -f org.eclipse.jgit.packaging/pom.xml clean install - verify second build is reproducible: mvn -T1 -f org.eclipse.jgit.packaging/pom.xml clean verify artifact:compare [1] https://maven.apache.org/guides/mini/guide-reproducible-builds.html [2] https://wiki.eclipse.org/Tycho/Reproducible_Version_Qualifiers [3] https://github.com/CycloneDX/cyclonedx-maven-plugin/issues/84 [4] https://maven.apache.org/plugins/maven-artifact-plugin/compare-mojo.html [5] https://github.com/eclipse-tycho/tycho/issues/233 Change-Id: I0202f55a1b6ae0edd922cfef638beb39d2ce9417
| * [errorprone] Add missing javadoc summaryMatthias Sohn2023-09-251-0/+16
| | | | | | | | | | | | see https://google.github.io/styleguide/javaguide.html#s7.2-summary-fragment Change-Id: Iaf4a6b55d4e4c59b7a2da3451164abb1bb47d4a1
| * [errorprone] Suppress MissingSummary for translation bundlesMatthias Sohn2023-09-251-0/+1
| | | | | | | | Change-Id: I4da51c7e089366b016a0cc64f768a151c24bc956
| * OSGi: move plugin localization to subdirectoryThomas Wolf2023-09-123-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | OSGi can have its plugin localization at an arbitrary place; there is no need to have it in a top-level plugin.properties file. In non-OSGi environments having the files at the root level may mean that these files clash with each other, or, as in the referenced bug, with some third-party plug-in's plugin.properties, which may not even have anything to do with localization. Move our OSGi localization to a subfolder OSGI-INF/l10n. For OSGi environments, that's just as good, and for non-OSGi environments it avoid clashes with other root level items on the classpath or in a fat JAR. For fragments, use neither plugin.properties (which would clash with the host plug-in's plugin.properties) nor fragment.properties (which might clash with other fragments for the same fragment host bundle). Instead use names "relative" to the host bundle. Bug: 582394 Change-Id: Ifbcd046d912e2cfe86c0f7259c5ca8de599d9aa1 Signed-off-by: Thomas Wolf <twolf@apache.org>
| * Prepare 6.8.0-SNAPSHOT buildsMatthias Sohn2023-09-073-13/+13
| | | | | | | | Change-Id: Ifc81f0a96c2ced0b25926b9daa539d9cfc951925
| * Prepare 6.7.1-SNAPSHOT buildsMatthias Sohn2023-09-073-13/+13
| | | | | | | | Change-Id: I96097ef8c6f198220f513bbc6d5f8881834a1491
| * JGit v6.7.0.202309050840-rv6.7.0.202309050840-rMatthias Sohn2023-09-053-4/+4
| | | | | | | | | | Signed-off-by: Matthias Sohn <matthias.sohn@sap.com> Change-Id: Ibe952d97bc178adb909cdd40f48957f5b68af699
| * Prepare 6.7.0-SNAPSHOT buildsMatthias Sohn2023-08-303-4/+4
| | | | | | | | Change-Id: I49751232464e70b7d1dc3292a9f36b7a7015e44f
| * JGit v6.7.0.202308301100-rc1v6.7.0.202308301100-rc1Matthias Sohn2023-08-303-4/+4
| | | | | | | | | | Signed-off-by: Matthias Sohn <matthias.sohn@sap.com> Change-Id: I712a9f6830364ed404d03f3a145c055906273544
| * Prepare 6.7.0-SNAPSHOT buildsMatthias Sohn2023-08-033-4/+4
| | | | | | | | Change-Id: I936d2d9106a1e3b7a98ec89fec8ae8a92ec765f2
| * JGit v6.7.0.202308011830-m2v6.7.0.202308011830-m2Matthias Sohn2023-08-023-4/+4
| | | | | | | | | | Signed-off-by: Matthias Sohn <matthias.sohn@sap.com> Change-Id: I255a979e9f48f60a251ef7b74ced3f720f012706
| * Fix all Javadoc warnings and fail on themAntoine Musso2023-06-165-14/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes all the javadoc warnings, stops ignoring doclint 'missing' category and fails the build on javadoc warnings for public and protected classes and class members. Since javadoc doesn't allow access specifiers when specifying doclint configuration we cannot set `-Xdoclint:all,-missing/private` hence there is no simple way to skip private elements from doclint. Therefore we check javadoc using the Eclipse Java compiler (which is used by default) and javadoc configuration in `.settings/org.eclipse.jdt.core.prefs` files. This allows more fine grained configuration. We can reconsider this when javadoc starts supporting access specifiers in the doclint configuration. Below are detailled explanations for most modifications. @inheritDoc =========== doclint complains about explicits `{@inheritDoc}` when the parent does not have any documentation. As far as I can tell, javadoc defaults to inherit comments and should only be used when one wants to append extra documentation from the parent. Given the parent has no documentation, remove those usages which doclint complains about. In some case I have moved up the documentation from the concrete class up to the abstract class. Remove `{@inheritDoc}` on overriden methods which don't add additional documentation since javadoc defaults to inherit javadoc of overridden methods. @value to @link =============== In PackConfig, DEFAULT_SEARCH_FOR_REUSE_TIMEOUT and similar are forged from Integer.MAX_VALUE and are thus not considered constants (I guess cause the value would depends on the platform). Replace it with a link to `Integer.MAX_VALUE`. In `StringUtils.toBoolean`, @value was used to refer to the `stringValue` parameter. I have replaced it with `{@code stringValue}`. {@link <url>} to <a> ==================== @link does not support being given an external URL. Replaces them with HTML `<a>`. @since: being invalid ===================== org.eclipse.jgit/src/org/eclipse/jgit/util/Equality.java has an invalid tag `@since: ` due to the extra `:`. Javadoc does not complain about it with version 11.0.18+10 but does with 11.0.19.7. It is invalid regardless. invalid HTML syntax =================== - javadoc doesn't allow <br/>, <p/> and </p> anymore, use <br> and <p> instead - replace <tt>code</tt> by {@code code} - <table> tags don't allow summary attribute, specify caption as <caption>caption</caption> to fix this doclint visibility issue ======================== In the private abstract classes `BaseDirCacheEditor` and `BasePackConnection` links to other methods in the abstract class are inherited in the public subclasses but doclint gets confused and considers them unreachable. The HTML documentation for the sub classes shows the relative links in the sub classes, so it is all correct. It must be a bug somewhere in javadoc. Mute those warnings with: @SuppressWarnings("doclint:missing") Misc ==== Replace `<` and `>` with HTML encoded entities (`&lt; and `&gt;`). In `SshConstants` I went enclosing a serie of -> arrows in @literal. Additional tags =============== Configure maven-javad0c-plugin to allow the following additional tags defined in https://openjdk.org/jeps/8068562: - apiNote - implSpec - implNote Missing javadoc =============== Add missing @params and descriptions Change-Id: I840056389aa59135cfb360da0d5e40463ce35bd0 Also-By: Matthias Sohn <matthias.sohn@sap.com>
| * Prepare 6.7.0-SNAPSHOT buildsMatthias Sohn2023-05-243-13/+13
| | | | | | | | Change-Id: I50ff7ee31046cfc29a087c8963be3deae24b1c9c
| * Prepare 6.6.0-SNAPSHOT buildsMatthias Sohn2023-03-013-13/+13
| | | | | | | | Change-Id: I17893f9db12bcb208866f40a06cd4f1ccbb4fe30
| * Prepare 6.5.0-SNAPSHOT buildsMatthias Sohn2022-11-233-13/+13
| | | | | | | | Change-Id: I4238b6181e96e22e540cf34802a332f868cb6dfb
| * Fix the path for JSchText.propertiesSebastian Schuberth2022-11-071-0/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The paths needs to include "ssh" to match the class's package name. This resolves Caused by: TransportException: ssh://git@git.xx.com/xx/xx.git: remote hung up unexpectedly Caused by: TranslationBundleLoadingException: Loading of translation bundle failed for [org.eclipse.jgit.internal.transport.ssh.jsch.JSchText, en_US] Caused by: MissingResourceException: Can't find bundle for base name org.eclipse.jgit.internal.transport.ssh.jsch.JSchText, locale en_US Also see [1] for reference. [1]: https://github.com/oss-review-toolkit/ort/issues/5894#issuecomment-1292100687 Change-Id: Ie27b9fc1cdd1d83f8123821be42e65da59ecf49d Signed-off-by: Sebastian Schuberth <opensource@schuberth.dev>
| * Prepare 6.4.0-SNAPSHOT buildsMatthias Sohn2022-09-143-13/+13
| | | | | | | | Change-Id: I47ca5f1d0263caa0bfc7c303042360c6c5ac4dec
| * Prepare 6.3.1-SNAPSHOT buildsMatthias Sohn2022-09-123-13/+13
| | | | | | | | Change-Id: I44e159eca4131880d74d3078060e7e20f9b5ce76
| * JGit v6.3.0.202209071007-rv6.3.0.202209071007-rMatthias Sohn2022-09-073-4/+4
| | | | | | | | | | Signed-off-by: Matthias Sohn <matthias.sohn@sap.com> Change-Id: Iea3fae9f6f6c5fb0a79f7684334a3e0059738c4f
| * JGit v6.3.0.2022009070944-rMatthias Sohn2022-09-073-4/+4
| | | | | | | | | | Signed-off-by: Matthias Sohn <matthias.sohn@sap.com> Change-Id: I3cc78dbcf8c7970e80bf1499751611110ec2b30b
| * Prepare 6.3.0-SNAPSHOT buildsMatthias Sohn2022-08-173-4/+4
| | | | | | | | Change-Id: Ie398b651c5308ec86812bf01fcc563d3e679c828
| * JGit v6.3.0.202208161710-m3v6.3.0.202208161710-m3Matthias Sohn2022-08-163-4/+4
| | | | | | | | | | Signed-off-by: Matthias Sohn <matthias.sohn@sap.com> Change-Id: I0954d11a1f35eff196b157df3aa8386476c48a7e
| * Prepare 6.3.0-SNAPSHOT buildsMatthias Sohn2022-06-073-13/+13
| | | | | | | | Change-Id: I092fdd2c35d85bf35e3ef700aa7078e6d304d977
| * Prepare 6.2.0-SNAPSHOT buildsMatthias Sohn2022-03-033-13/+13
| | | | | | | | Change-Id: Ic2dde88bee3242169d6fa50956f8938f3fc4ba8e
* | Prepare 7.0.0-SNAPSHOT buildsMatthias Sohn2021-12-043-13/+13
|/ | | | Change-Id: Ia2c109af4520302acfc403450778dcaa7a532e6f
* Prepare 6.1.0-SNAPSHOT buildsMatthias Sohn2021-11-243-13/+13
| | | | Change-Id: Ied07b1298bd32672a5025cec5079440ab9b9a100
* Typo fix in o.e.j.ssh.{jsch,apache}/README.mdThomas Wolf2021-11-151-1/+1
| | | | Change-Id: Ia7da92421f8fecb2a175eb23ecfd04a67e0ca8cc Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
* [doc] Add README and package-info to the SSH bundlesThomas Wolf2021-10-312-0/+73
| | | | | | | | Explain in the JSch bundle that it is essentially unmaintained. Add descriptions in both bundles explaining how to use it, or how to use an alternate implementation. Change-Id: Idaf46c33b14543279f78a55cb7c6bd42b06ee6b8 Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
* Fix bad indentation in pom.xmlThomas Wolf2021-10-241-9/+9
| | | | Change-Id: I683f190d6914fb48f32cc3b3f0910b4264c7d725 Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
* JSch: fix service publication for ServiceLoaderThomas Wolf2021-10-191-0/+0
| | | | | | | | | | | | The file name in META-INF/services must be the fully qualified interface name; the content the fully qualified implementation class name. This was broken in commit 9683bc71. Add a test for the default factory being found by the ServiceLoader. Change-Id: I1f180d7f60e5c1e74a39bbd9a5f0099bd8343e21 Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
* Set JSch global config values only if not set alreadyThomas Wolf2021-10-191-2/+15
| | | | | Bug: 576604 Change-Id: I04415f07bf2023bc8435c097d1d3c65221d563f1 Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
* Fix split package in bundle org.eclipse.jgit.ssh.jschMatthias Sohn2021-09-298-28/+64
| | | | | | | | The package org.eclipse.jgit.transport was split between org.eclipse.jgit and org.eclipse.jgit.ssh.jsch. Bug: 564544 Change-Id: I91d38e67c65ed97a880f8dc8f9559663b9eec33b
* Enable compiler option --releaseMatthias Sohn2021-09-292-3/+122
| | | | | | | | | | | | | | | | | | | This ensures the compiler compiles against the public, supported and documented API for a specific VM version (here 11) [1]. This also means that we don't need EE descriptors in Eclipse anymore in order to ensure that only supported APIs of the selected Java version can be used. According to [2] if option --release is used --source and --target options can't be used. While we are at it also add default value for all new jdt core options added in Eclipse 4.21. [1] https://docs.oracle.com/en/java/javase/11/tools/javac.html [2] https://docs.oracle.com/en/java/javase/14/docs/specs/man/javac.html#option-release Change-Id: I852a5d7b0a3210751c15d79ec91915b4c01c41e2 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* Bump minimum required Java version to 11Matthias Sohn2021-09-293-5/+9
| | | | | | Bug: 569917 Change-Id: Ifdcdb022a3f29321b4d10da1cc34acca68ed7b03 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* Merge branch 'master' into nextMatthias Sohn2021-02-281-4/+21
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * master: (143 commits) Prepare 5.11.0-SNAPSHOT builds JGit v5.11.0.202102240950-m3 [releng] japicmp: update last release version IgnoreNode: include path to file for invalid .gitignore patterns FastIgnoreRule: include bad pattern in log message init: add config option to set default for the initial branch name init: allow specifying the initial branch name for the new repository Fail clone if initial branch doesn't exist in remote repository GPG: fix reading unprotected old-format secret keys Update Orbit to S20210216215844 Add missing bazel dependency for o.e.j.gpg.bc.test GPG: handle extended private key format dfs: handle short copies [GPG] Provide a factory for the BouncyCastleGpgSigner Fix boxing warnings GPG: compute the keygrip to find a secret key GPG signature verification via BouncyCastle Post commit hook failure should not cause commit failure Allow to define additional Hook classes outside JGit GitHook: use default charset for output and error streams ... Change-Id: I689f4070e79f4a0ac1c02b35698ccaab68ad2f34
| * Client-side protocol V2 support for fetchingThomas Wolf2021-01-011-4/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make all transports request protocol V2 when fetching. Depending on the transport, set the GIT_PROTOCOL environment variable (file and ssh), pass the Git-Protocol header (http), or set the hidden "\0version=2\0" (git anon). We'll fall back to V0 if the server doesn't reply with a version 2 answer. A user can control which protocol the client requests via the git config protocol.version; if not set, JGit requests protocol V2 for fetching. Pushing always uses protocol V0 still. In the API, there is only a new Transport.openFetch() version that takes a collection of RefSpecs plus additional patterns to construct the Ref prefixes for the "ls-refs" command in protocol V2. If none are given, the server will still advertise all refs, even in protocol V2. BasePackConnection.readAdvertisedRefs() handles falling back to protocol V0. It newly returns true if V0 was used and the advertised refs were read, and false if V2 is used and an explicit "ls-refs" is needed. (This can't be done transparently inside readAdvertisedRefs() because a "stateless RPC" transport like TransportHttp may need to open a new connection for writing.) BasePackFetchConnection implements the changes needed for the protocol V2 "fetch" command (stateless protocol, simplified ACK handling, delimiters, section headers). In TransportHttp, change readSmartHeaders() to also recognize the "version 2" packet line as a valid smart server indication. Adapt tests, and run all the HTTP tests not only with both HTTP connection factories (JDK and Apache HttpClient) but also with both protocol V0 and V2. The SSH tests are much slower and much more focused on the SSH protocol and SSH key handling. Factor out two very simple cloning and pulling tests and make those run with protocol V2. Bug: 553083 Change-Id: I357c7f5daa7efb2872f1c64ee6f6d54229031ae1 Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
| * Prepare 5.11.0-SNAPSHOT buildsMatthias Sohn2020-12-023-14/+14
| | | | | | | | | | Change-Id: I91e5532526775191fbd34f81e2ef777cba605e3b Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* | Merge branch 'master' into nextMatthias Sohn2020-11-282-5/+1
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * master: Remove unused imports Silence API warnings Remove erraneously merged source features Add support for reading symrefs from pack capabilities Prepare 5.3.9-SNAPSHOT builds JGit v5.3.8.202011260953-r Prepare 5.1.15-SNAPSHOT builds JGit v5.1.14.202011251942-r GC#deleteOrphans: log warning for deleted orphaned files GC#deleteOrphans: handle failure to list files in pack directory Ensure that GC#deleteOrphans respects pack lock Prepare 5.10.0-SNAPSHOT builds JGit v5.10.0.202011251205-m3 PacketLineIn: ensure that END != DELIM Update Orbit to S20201118210000 and add target for 4.18 PacketLineIn: ensure that END != DELIM PacketLineIn: ensure that END != DELIM Allow to resolve a conflict by checking out a file Update Orbit to I20201111205634 Document that setLastModified sets time of symlink target Fix bug in PerformanceLogContext Fix IOException occurring during gc Prepare 5.10.0-SNAPSHOT builds JGit v5.10.0.202011041322-m2 Revert "Client-side protocol V2 support for fetching" Close Repository to fix tests failing on Windows Client-side protocol V2 support for fetching Update slf4j to 1.7.30 Update Orbit to S20201027182932 (2020-12 M2) Fix formatting of config option values Document options in core section supported by JGit Ensure .gitmodules is loaded when accessing submodule name Export new package org.eclipse.jgit.logging and import it where used Ensure GC.deleteOrphans() can delete read-only orphaned files on Windows Add new performance logging Implement git describe --all Compute time differences with Duration Override config http.userAgent from environment GIT_HTTP_USER_AGENT Upgrade spotbugs-maven-plugin to 4.1.3 Fix OperatorPrecedence warning flagged by error prone UploadPackTest#testUploadRedundantBytes: ensure test repo is closed ObjectDirectory#selectObjectRepresentation: fix formatting Upgrade ecj to 3.23.0 Support "http.userAgent" and "http.extraHeader" from the git config sshd: better error report when user cancels authentication API filters for PackStatistics.Accumulator Add TypedConfigGetter.getPath() Make Javadoc consistent for PackStatistics fields Measure time taken for reachability checks Measure time taken for negotiation in protocol V2 IndexDiffFilter: handle path prefixes correctly sshd: support the ProxyJump ssh config Upgrade jacoco-maven-plugin to 0.8.6 ReceivePackStats: Add size and count of unnecessary pushed objects Upgrade maven-project-info-reports-plugin to 3.1.1 Prepare 5.9.1-SNAPSHOT builds JGit v5.9.0.202009080501-r [releng] Enable japicmp for the fragments added in 5.8.0 GitlinkMergeTest: fix boxing warnings Remove unused API problem filters Add missing since tag on BundleWriter#addObjectsAsIs SshdSession: close channel gracefully GPG: include signer's user ID in the signature jgit: Add DfsBundleWriter Bump Bazel version to 3.5.0 Upgrade maven-resources-plugin to 3.2.0 Upgrade plexus-compiler version to 2.8.8 [bazel] Add missing dependency to slf4j-api [errorprone] DirCacheEntry: make clear operator precedence [errorprone] PackWriter#parallelDeltaSearch: avoid suppressed exception [errorprone] Declare DirCache#version final Add jgit-4.17-staging target platform for 2020-09 Update target platform to R20200831200620 Prepare 5.10.0-SNAPSHOT builds Prepare 5.9.0-SNAPSHOT builds ResolveMerger: do not content-merge gitlinks on del/mod conflicts ResolveMerger: Adding test cases for GITLINK deletion ResolveMerger: choose OURS on gitlink when ignoreConflicts ResolveMerger: improving content merge readability ResolveMerger: extracting createGitLinksMergeResult method ResolveMerger: Adding test cases for GITLINK merge JGit v5.9.0.202008260805-m3 Fix possible NegativeArraySizeException in PackIndexV1 FS: use binary search to determine filesystem timestamp resolution Do not prematurely create directory of jgit's XDG config file FS: write to JGit config in a background thread FS: don't cache fallback if running in background Keep line endings for text files committed with CR/LF on text=auto Delay WindowCache statistics JMX MBean registration [releng] Update plexus-compiler to 2.8.7 DirCache: support index V4 Update javadoc for RemoteSession and SshSessionFactory Fix JSchProcess.waitFor() with time-out sshd: work around a race condition in Apache MINA sshd 2.4.0/2.5.x sshd: store per-session data on the sshd session object FilterSpec: Use BigInteger.ZERO instead of valueOf(0) Do not send empty blob in response to blob:none filter Add support for tree filters when fetching sshd: use PropertyResolver in test FS_POSIX: avoid prompt to install the XCode tools on OS X Remove dependency on JSch from SSH test framework Use LinkedBlockingQueue for executor determining filesystem attributes Update API warning filters Remove unused imports Bazel: Add workspace status command to stamp final artifact DiffFormatter: correctly deal with tracked files in ignored folders Prepare 5.8.2-SNAPSHOT builds JGit v5.8.1.202007141445-r Update Jetty to 9.4.30.v20200611 Fix writing GPG signatures with trailing newline Rename a test method Add a test for upstream bug SSHD-1028 Improve error message when receive.maxCommandBytes is exceeded LfsConnectionFactory#getLfsUrl: Fix unconditional break in for-loop DiffFormatterTest: Add a test to confirm the default rename detection settings Upgrade maven-site-plugin to 3.9.1 Upgrade build-helper-maven-plugin to 3.2.0 Upgrade spotbugs to 4.0.4 MergedReftable: Include the last reftable in determining minUpdateIndex Add new osgi fragments to maven-central deploy scripts PackBitmapIndex: Not buffer inflated bitmap during bitmap creation. Do not require org.assertj.core.annotations Upgrade ecj to 3.22.0 Remove workaround for signing jars using Tycho plugins Use https for URL of jgit website Fix CI information in pom.xml Use gitiles as scm url in pom.xml for browsing source code Update API baseline to 5.8.0.202006091008-r Remove trailing whitespace Change-Id: Ie6bc6954741a47cfbd32c0886bdbd7b594f08b31 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| * Revert "Client-side protocol V2 support for fetching"Thomas Wolf2020-11-031-21/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit f802f06e7fd5a98f256b7b7727598491f563bf2f. I had misunderstood how protocol V2 works. This implementation only works if the negotiation during fetch is done in one round. Fixing this is substantial work in BasePackFetchConnection. Basically I think I'd have to change back negotiate to the V0 version, and have a doFetch() that does if protocol V2 doFetchV2() else doFetchV0() with doFetchV0 the old code, and doFetchV2 completely new. Plus there would need to be a HTTP test case requiring several negotiation rounds. This is a couple of days work at least, and I don't know when I will have the time to revisit this. So although the rest of the code is fine I prefer to back this out completely and not leave a only half working implementation in the code for an indeterminate time. Bug: 553083 Change-Id: Icbbbb09882b3b83f9897deac4a06d5f8dc99d84e Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
| * Client-side protocol V2 support for fetchingThomas Wolf2020-10-291-4/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make all transports request protocol V2 when fetching. Depending on the transport, set the GIT_PROTOCOL environment variable (file and ssh), pass the Git-Protocol header (http), or set the hidden "\0version=2\0" (git anon). We'll fall back to V0 if the server doesn't reply with a version 2 answer. A user can control which protocol the client requests via the git config protocol.version; if not set, JGit requests protocol V2 for fetching. Pushing always uses protocol V0 still. In the API, there is only a new Transport.openFetch() version that takes a collection of RefSpecs plus additional patterns to construct the Ref prefixes for the "ls-refs" command in protocol V2. If none are given, the server will still advertise all refs, even in protocol V2. BasePackConnection.readAdvertisedRefs() handles falling back to protocol V0. It newly returns true if V0 was used and the advertised refs were read, and false if V2 is used and an explicit "ls-refs" is needed. (This can't be done transparently inside readAdvertisedRefs() because a "stateless RPC" transport like TransportHttp may need to open a new connection for writing.) BasePackFetchConnection implements the changes needed for the protocol V2 "fetch" command (simplified ACK handling, delimiters, section headers). In TransportHttp, change readSmartHeaders() to also recognize the "version 2" packet line as a valid smart server indication. Adapt tests, and run all the HTTP tests not only with both HTTP connection factories (JDK and Apache HttpClient) but also with both protocol V0 and V2. Do the same for the SSH transport tests. Bug: 553083 Change-Id: Ice9866aa78020f5ca8f397cde84dc224bf5d41b4 Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch> Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| * Merge branch 'stable-5.9' into masterMatthias Sohn2020-09-091-4/+0
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * stable-5.9: Prepare 5.9.1-SNAPSHOT builds JGit v5.9.0.202009080501-r [releng] Enable japicmp for the fragments added in 5.8.0 GitlinkMergeTest: fix boxing warnings Remove unused API problem filters Add missing since tag on BundleWriter#addObjectsAsIs GPG: include signer's user ID in the signature Change-Id: Iaa96f9228752540f446fc232a49f31a738fd8d30 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>