Skip to content

New and Noteworthy 5.0

Matthias Sohn edited this page Dec 5, 2023 · 1 revision

EGit

Features

  • Built-in EGit integration for LFS

    • Register builtin LFS on startup. When EGit starts and the lfs bundle (org.eclipse.jgit.lfs) is available register the LFS implementation and check configuration.
    • Allow install (enablement) of LFS support in Preferences (global) and on the repository (local).
    • Apply smudge/clean filters where applicable and required.
    • LFS integration using built-in JGit lfs filters fully works when using Gerrit with lfs plugin using ssh protocol.
    • Authentication when transporting lfs objects over http still missing, this is tracked in JGit
  •  Enable resource selection for launch variables

  •  Allow cherry-picking a Gerrit change

  •  Allow cherry-picking merge commits

  •  Github API: Support diff/patch generation via the Github API

Usability

  • Add tracing of low-level JSch log messages

  • Natural sort for refs in FetchResultTable

  • Allow shortcuts for Gitflow commands

  •  Suggest complete repository path in NewRepositoryWizard

  •  Natural sort for tags in CreateTagDialog

  •  Show affected projects when deleting repository

  •  Add support for the "*" as wildcard character in the staging view filter

  •  Select repositories via double-click in RepositorySearchDialog

  •  Update staging view on repository config changes

  •  Remove some margins in staging view

Performance Improvements

  • Use hash lookup for TreeViewers

  • Ignore IndexChangedEvent if it originates from the same JGit process

  •  Improve asynchronous Eclipse workspace refreshes done by EGit

  • Speed up the RepositoriesViewContentProvider

  • Use PathFilterGroup instead of PathFilter if possible. TreeWalks looking for a single path can use PathFilterGroup instead of PathFilter. This should be a little bit faster.

  • In EGit use mmap to map git packfiles into memory. Avoids allocating JGit buffer cache on the Java heap.

Bug Fixes

21 Bugs and 8 enhancement requests were closed

  • Fix AssumeUnchangedOperation not working on directory/project

  • Don't try to store incomplete credentials in secure store

  •  Improve check for uncommitted changes before cherry-pick

  •  Respect gitattributes in the compare editor

  •  Fix Repositories view blocking Eclipse on startup

  •  improve branch name validation performance which was bad for big repositories

  •  Fix substring matches in filter in branch selection dialogs

  •  Handle Gerrit Change-Ids for merge commits

  •  Keep Gerrit Change-Id for conflicting cherry-pick

  •  Remove problem characters from task related branch name suggestion

  •  Fix invalid thread access in staging view when config changes

  •  Don't try to store incomplete credentials in secure store

  •  Github API: Fix Repository.getWatchers(); add Repository.getStars()

Removal of deprecated methods

  • Remove deprecated UIUtils#applyHyperlinkDetectorStyleRanges and #getHyperlinkDetectorStyleRanges.
  • Remove deprecated InitOperation constructor. Use InitOperation#InitOperation(Repository, InitParameters) instead.
  • Remove deprecated GitFlowOperation#fetch(IProgressMonitor). Use GitFlowOperation#fetch(IProgressMonitor, int) instead.
  • Remove deprecated FeatureTrackOperation constructor. Use FeatureTrackOperation#FeatureTrackOperation(GitFlowRepository, Ref, int) instead.
  • Remove deprecated GitSynchronizeData#getSrcRemoteName
  • Remove deprecated GitSynchronizeData#getSrcMerge
  • Remove deprecated RepositoryMapping#getSubmoduleRepository. Use #getMapping(IResource) and then #getRepository()} on the returned mapping instead; it will return a submodule repository if the resource is in one.
  • Remove deprecated RemoveFromIndexOperation(Repository, IResource[]). Use #RemoveFromIndexOperation(Collection) instead.
  • Remove deprecated IgnoreOperation#IgnoreOperation(IResource[]). Use #IgnoreOperation(Collection) instead.
  • Github API: Remove deprecated WatcherService. Use StargazerService instead.
  • Github API: Remove deprecated User#getGravatarId and #setGravatarId
  • Github API: Remove deprecated Repository#getMasterBranch and #setMasterBranch
  • Github API: Remove deprecated Gist#setUser and #getUser methods

Build and Release Engineering

  • Update to latest Photon Orbit R20180606145124

  • Update EGit license to EPL-2.0

  • Update target platform to use Orbit R20180531190352

  •  Update API baseline in Oomph setup

Contributors

The following 5 developers worked on this release:

Christian Barcenas, Markus Duft, Matthias Sohn, Michael Keppler, Thomas Wolf

Clone this wiki locally