Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "EGit/New and Noteworthy/5.2"

m (Title case for "New Preferences")
(21 intermediate revisions by 2 users not shown)
Line 3: Line 3:
 
== New Preferences ==
 
== New Preferences ==
  
The main Egit preference page has two new preferences: one for enabling [[#Parallel Pull Operations|parallel pull]] and one for selecting the [[#New SSH Library|SSH client library]] to use.
+
The main EGit preference page has two new preferences: one for enabling [[#Parallel Pull Operations|parallel pull]] and one for selecting the [[#New SSH Library|SSH client library]] to use.
[[Image:New_Options_5.2.png]]
+
[[Image:New_Options_5.2.png|frame|none|alt=Screenshot of the Egit preference page with the two new preferences highlighted]]
  
 
== New SSH Library ==
 
== New SSH Library ==
  
EGit 5.2.0 newly includes an SSH client based on [https://mina.apache.org/sshd-project/ Apache MINA sshd]. Until now, EGit used an older library called JSch for its built-in SSH handling.
+
EGit 5.2.0 newly includes an SSH client based on the [https://mina.apache.org/sshd-project/ Apache MINA sshd] library. Until now, EGit used an older library called JSch for its built-in SSH handling.
  
You can choose which library to use in the main EGit preferences page, and we encourage you to switch to the new Apache MINA sshd. Benefits for now are that more kinds of SSH keys work: ECDSA-384 and ECDSA-521 keys work, and ed25519 keys now also work!
+
You can choose which library to use in the main EGit preferences page, and we encourage you to switch to the new Apache MINA sshd. Benefits for now are that more kinds of SSH keys work: ECDSA-384 and ECDSA-521 keys work, and '''ed25519 keys''' now also work! It also properly reads private key files generated by modern OpenSSH (or older OpenSSH <code>ssh-keygen -o</code>), if they are not password-protected. ''Encrypted new-style OpenSSH private keys are not supported by Apache MINA sshd yet.'' Keys in the older PEM format are read fine.
  
Note that there is no support yet for ssh-agent or for Pageant with the new SSH library.
+
* Supported authentication mechanisms: gssapi-with-mic, publickey, password, keyboard-interactive.
 +
* Supported private keys: DSA, RSA, ECDSA (256, 384, and 521 bits), ed25519.
 +
* Supported proxy types: SOCKS5 and HTTP, with anonymous access or GSSAPI or username-password (Basic) authentication.
 +
 
 +
 
 +
There is no support yet for ssh-agent or for Pageant with the new SSH library.
  
 
The previously existing mechanism for using an external SSH executable by setting the <code>GIT_SSH</code> environment variable is still available.
 
The previously existing mechanism for using an external SSH executable by setting the <code>GIT_SSH</code> environment variable is still available.
  
We plan to remove the old JSch SSH implementation completely in a future release of EGit.
+
Support for reading ''encrypted'' OpenSSH keys is on the roadmap for the next EGit 5.3.0 release. We plan to remove the old JSch SSH implementation completely in a future release of EGit.
 +
 
 +
:Known bugs:
 +
:* [https://bugs.eclipse.org/bugs/show_bug.cgi?id=542845 Bug 542845]: after having added a new private key in ''Preferences&rarr;Global&rarr;Network Connections&rarr;SSH2'', restart Eclipse to have the new Apache MINA sshd library pick it up. This will be fixed in EGit 5.3.0 so that a restart is not needed anymore.
  
 
== Parallel Pull Operations ==
 
== Parallel Pull Operations ==
  
 
On the main EGit preference page, you can define how many parallel pull operations EGit should do when you pull from several repositories. Setting the value to "1" disables parallel pulls, and EGit will pull one repository after another. A larger value will make EGit run pull operations on different repositories in parallel.
 
On the main EGit preference page, you can define how many parallel pull operations EGit should do when you pull from several repositories. Setting the value to "1" disables parallel pulls, and EGit will pull one repository after another. A larger value will make EGit run pull operations on different repositories in parallel.
 +
 +
== Multi-Repository Branch Switch ==
 +
 +
You can now switch to a common branch in several repositories at once.
 +
 +
[[Image:Multi_Branch_Switch_5.2.png|frame|none|alt=Screenshot of the Git Repositories view with the context menu visible and "Switch Repositories To" selected]]
 +
 +
When there are several repositories selected, the context menu entry "Switch Repositories To" allows you to do a branch switch in all of them. The sub-menu proposes the local branches that have the same name in all of the selected repositories. When you select a branch, EGit checks out that branch in all those repositories. If some check-outs cannot be done successfully, for instance because of conflicts in some repositories, a dialog will be presented showing which repositories were switched and which ones not.
 +
 +
This branch switch in several repositories works not only in the Git Repositories view as shown in the screenshot above but also in the Package Explorer or Project Explorer when resources from several repositories are selected.
 +
 +
== Gitflow Configuration ==
 +
 +
We've started implementing support for the [https://github.com/petervanderdoes/gitflow-avh/wiki/Reference:-Configuration git config settings] used by command-line gitflow tools.  This work has just begun; EGit 5.2.0 supports only one config entry:
 +
 +
* <code>gitflow.feature.start.fetch</code> &mdash; if <code>true</code>, fetch from upstream before starting a new feature branch.
 +
 +
== Other Changes ==
 +
 +
EGit 5.2.0 includes lots of less noticeable improvements in the UI, such as icons for menu items, using verbs instead of "OK" for dialog buttons, and so on, plus a number of bug fixes. Find the complete list of new features and bug fixes in the [https://projects.eclipse.org/projects/technology.egit/releases/5.2.0/ release notes].
 +
 +
= Contributors =
 +
 +
The following 10 developers worked on this release:
 +
 +
Andrey Loskutov, Gunnar Wagenknecht, Jonas Hungershausen, Karsten Thoms, Luís Copetti, Markus Duft, Matthias Sohn, Max Hohenegger, Michael Keppler, and Thomas Wolf.

Revision as of 10:22, 17 December 2018

EGit

New Preferences

The main EGit preference page has two new preferences: one for enabling parallel pull and one for selecting the SSH client library to use.

Screenshot of the Egit preference page with the two new preferences highlighted

New SSH Library

EGit 5.2.0 newly includes an SSH client based on the Apache MINA sshd library. Until now, EGit used an older library called JSch for its built-in SSH handling.

You can choose which library to use in the main EGit preferences page, and we encourage you to switch to the new Apache MINA sshd. Benefits for now are that more kinds of SSH keys work: ECDSA-384 and ECDSA-521 keys work, and ed25519 keys now also work! It also properly reads private key files generated by modern OpenSSH (or older OpenSSH ssh-keygen -o), if they are not password-protected. Encrypted new-style OpenSSH private keys are not supported by Apache MINA sshd yet. Keys in the older PEM format are read fine.

  • Supported authentication mechanisms: gssapi-with-mic, publickey, password, keyboard-interactive.
  • Supported private keys: DSA, RSA, ECDSA (256, 384, and 521 bits), ed25519.
  • Supported proxy types: SOCKS5 and HTTP, with anonymous access or GSSAPI or username-password (Basic) authentication.


There is no support yet for ssh-agent or for Pageant with the new SSH library.

The previously existing mechanism for using an external SSH executable by setting the GIT_SSH environment variable is still available.

Support for reading encrypted OpenSSH keys is on the roadmap for the next EGit 5.3.0 release. We plan to remove the old JSch SSH implementation completely in a future release of EGit.

Known bugs:
  • Bug 542845: after having added a new private key in Preferences→Global→Network Connections→SSH2, restart Eclipse to have the new Apache MINA sshd library pick it up. This will be fixed in EGit 5.3.0 so that a restart is not needed anymore.

Parallel Pull Operations

On the main EGit preference page, you can define how many parallel pull operations EGit should do when you pull from several repositories. Setting the value to "1" disables parallel pulls, and EGit will pull one repository after another. A larger value will make EGit run pull operations on different repositories in parallel.

Multi-Repository Branch Switch

You can now switch to a common branch in several repositories at once.

Screenshot of the Git Repositories view with the context menu visible and "Switch Repositories To" selected

When there are several repositories selected, the context menu entry "Switch Repositories To" allows you to do a branch switch in all of them. The sub-menu proposes the local branches that have the same name in all of the selected repositories. When you select a branch, EGit checks out that branch in all those repositories. If some check-outs cannot be done successfully, for instance because of conflicts in some repositories, a dialog will be presented showing which repositories were switched and which ones not.

This branch switch in several repositories works not only in the Git Repositories view as shown in the screenshot above but also in the Package Explorer or Project Explorer when resources from several repositories are selected.

Gitflow Configuration

We've started implementing support for the git config settings used by command-line gitflow tools. This work has just begun; EGit 5.2.0 supports only one config entry:

  • gitflow.feature.start.fetch — if true, fetch from upstream before starting a new feature branch.

Other Changes

EGit 5.2.0 includes lots of less noticeable improvements in the UI, such as icons for menu items, using verbs instead of "OK" for dialog buttons, and so on, plus a number of bug fixes. Find the complete list of new features and bug fixes in the release notes.

Contributors

The following 10 developers worked on this release:

Andrey Loskutov, Gunnar Wagenknecht, Jonas Hungershausen, Karsten Thoms, Luís Copetti, Markus Duft, Matthias Sohn, Max Hohenegger, Michael Keppler, and Thomas Wolf.

Back to the top