Skip to main content
Jump to: navigation, search

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

m (EGit)
(Add video; thanks Howlger!)
 
(8 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
= EGit =
 
= EGit =
  
TODO:
+
== Diff Viewer ==
  
* Diff Editor
+
The outline view of the diff viewer has now a toolbar:
** Menus/Hyperlinks: show commit ID, commit message in tooltip on newer Eclipse platform versions (>= 4.14)
+
** Outline: collapse all, compact tree
+
** Quick outline
+
  
* Repositories View
+
[[File:EGit 5.8 DiffViewer Toolbar.png|alt="Screenshot showing the toolbar of the outline view of the diff viewer in EGit 5.8.0."]]
** Tag filtering; describe pattern syntax (substring, wildcards allowed, ^ and $ anchors; #<number>)
+
  
* Cloning
+
There's a button to collapse all folders, and a button to toggle the presentation from a flat folder list to a hierarchical display.
** Can select a [https://git-scm.com/docs/git-bundle git bundle file] to clone from.
+
  
* API
+
[[File:EGit 5.8 DiffViewer CompactOutline.png|alt="Screenshot showing nested folders in the outline view of the diff viewer in EGit 5.8.0."]]
** org.eclipse.egit.ui.RepositoriesViewClone command newly has a command parameter "repositoryUri". The value should be a string containing a clone URI. The command opens the clone wizard, if repositoryUri is set, it is used to pre-fill the dialog from the given clone URI. If the value cannot be parsed as a URI, it is silently ignored.
+
 
 +
When clicked, the content is shown using nested folders.
 +
 
 +
Additionally, the diff viewer now also has a "quick outline" that can be opened with the standard keybinding Ctrl/Cmd-O.
 +
 
 +
[[File:EGit 5.8 DiffViewer QuickOutline.png|alt="Screenshot showing the quick outline in the diff viewer in EGit 5.8.0."]]
 +
 
 +
== Repositories View ==
 +
 
 +
In the Git Repositories view, there is a new command on the "Tags" node to filter the tags.
 +
 
 +
[[File:EGit 5.8 RepoView TagFilterCommand.png|alt="Screenshot showing the tag filter command in the repositories view in EGit 5.8.0."]]
 +
 
 +
It opens a text box where the user can enter a filter expression to restrict which tags will be shown:
 +
 
 +
[[File:EGit 5.8 RepoView TagFilter.png|alt="Screenshot showing tag filtering in the repositories view in EGit 5.8.0."]]
 +
 
 +
A filter expression can be either of
 +
* a name pattern: only tags with names matching the pattern are shown. The pattern can be any text and may include the wildcards '<tt>?</tt>' to denote any single character or '<tt>*</tt>' to mean any number of arbitrary characters. By default, the filter does a substring match. By prefixing the pattern with '<tt>^</tt>', it can be made to match only at the beginning, and if the last character is '<tt>$</tt>', the pattern will match only at the end.
 +
** "<tt>foobar</tt>" will match any tag with a name containing "<tt>foobar</tt>"
 +
** "<tt>foo*bar</tt>" matches any tag whose name contains "<tt>foo</tt>" and later "<tt>bar</tt>"
 +
** "<tt>^foo</tt>" matches tags with names starting with "<tt>foo</tt>"
 +
** "<tt>foo$</tt>" matches any tag whose name ends with "<tt>foo</tt>"
 +
** "<tt>^foo$</tt>" only matches a tag named "<tt>foo</tt>"
 +
** "<tt>foo*bar$</tt>" matches tags with names that contain "<tt>foo</tt>" and that end with "<tt>bar</tt>"
 +
** To match '<tt>^</tt>' or '<tt>#</tt>' or '<tt>$</tt>' in a name, make sure it's not the first (or last, if '<tt>$</tt>') character. For instance "<tt>*^foo</tt>" or "<tt>^^foo</tt>" or "<tt>foo$*</tt>".
 +
** To match '<tt>*</tt>' or '<tt>?</tt>' or '<tt>\</tt>' in a name, escape it with an additional '<tt>\</tt>': "<tt>foo\?</tt>" will match any tag whose name contains "<tt>foo?</tt>".
 +
* a '<tt>#</tt>' followed by a number, for instance "<tt>#10</tt>". This shows only the 10 most recent tags determined by the commit date of the commit they point to.
 +
 
 +
 
 +
If the user hits <tt><return></tt>, the filter pattern is saved. The filter is persisted and will be re-applied when Eclipse is re-started. Different repositories can have different tag filters. A filter can be removed by clearing its filter expression: all tags will be shown again.
 +
 
 +
<tt><ESC></tt> cancels the filter change.
 +
 
 +
== Cloning ==
 +
 
 +
[[File:EGit 5.8 CloneWizard Bundle.png|alt="Screenshot of the Clone wizard of EGit 5.8.0 with the button to select a local bundle file highlighted."]]
 +
 
 +
EGit 5.8.0 supports cloning from a local [https://git-scm.com/docs/git-bundle git bundle file]. There is a new button in the "Clone" wizard to open a file selection dialog to select the bundle file to clone from.
 +
 
 +
== API ==
 +
 
 +
The command that opens the "Clone" wizard shown above is registered in the Eclipse platform with ID <code>org.eclipse.egit.ui.RepositoriesViewClone</code>. This command newly accepts an optional [https://help.eclipse.org/index.jsp?topic=%2Forg.eclipse.platform.doc.isv%2Freference%2Fextension-points%2Forg_eclipse_ui_commands.html command parameter] named <code>repositoryUri</code>. The value is supposed to be a string containing a git clone URI. If set and the value can indeed be parsed as a git clone URI, it is used to pre-fill the dialog with the values from that URI. If <tt>repositoryUri</tt> is not set or contains an invalid value it is silently ignored.
  
 
== Other Changes ==
 
== Other Changes ==
Line 23: Line 60:
 
= Contributors =
 
= Contributors =
  
The following X developers worked on this release:
+
The following 11 developers worked on this release:
 +
 
 +
Alexander Nittka,
 +
Andrew Obuchowicz,
 +
Kelvin Zhu,
 +
Konrad Windszus,
 +
Lars Vogel,
 +
Matthias Becker,
 +
Matthias Sohn,
 +
Michael Keppler,
 +
Mickael Istria,
 +
Simon Muschel,
 +
Thomas Wolf
 +
 
 +
= Video =
  
<TBD: list of contributors, number>
+
You can see many of the changes in action in the [https://www.youtube.com/watch?v=igbIAS6vlU8&t=547 Eclipse 2020-06 Java IDE Improvements] video.
  
 
= See Also =
 
= See Also =
  
See also the [[JGit/New_and_Noteworthy/5.7|new features in JGit]] for additional information.
+
See also the [[JGit/New_and_Noteworthy/5.8|new features in JGit]] for additional information.

Latest revision as of 15:48, 15 June 2020

EGit

Diff Viewer

The outline view of the diff viewer has now a toolbar:

"Screenshot showing the toolbar of the outline view of the diff viewer in EGit 5.8.0."

There's a button to collapse all folders, and a button to toggle the presentation from a flat folder list to a hierarchical display.

"Screenshot showing nested folders in the outline view of the diff viewer in EGit 5.8.0."

When clicked, the content is shown using nested folders.

Additionally, the diff viewer now also has a "quick outline" that can be opened with the standard keybinding Ctrl/Cmd-O.

"Screenshot showing the quick outline in the diff viewer in EGit 5.8.0."

Repositories View

In the Git Repositories view, there is a new command on the "Tags" node to filter the tags.

"Screenshot showing the tag filter command in the repositories view in EGit 5.8.0."

It opens a text box where the user can enter a filter expression to restrict which tags will be shown:

"Screenshot showing tag filtering in the repositories view in EGit 5.8.0."

A filter expression can be either of

  • a name pattern: only tags with names matching the pattern are shown. The pattern can be any text and may include the wildcards '?' to denote any single character or '*' to mean any number of arbitrary characters. By default, the filter does a substring match. By prefixing the pattern with '^', it can be made to match only at the beginning, and if the last character is '$', the pattern will match only at the end.
    • "foobar" will match any tag with a name containing "foobar"
    • "foo*bar" matches any tag whose name contains "foo" and later "bar"
    • "^foo" matches tags with names starting with "foo"
    • "foo$" matches any tag whose name ends with "foo"
    • "^foo$" only matches a tag named "foo"
    • "foo*bar$" matches tags with names that contain "foo" and that end with "bar"
    • To match '^' or '#' or '$' in a name, make sure it's not the first (or last, if '$') character. For instance "*^foo" or "^^foo" or "foo$*".
    • To match '*' or '?' or '\' in a name, escape it with an additional '\': "foo\?" will match any tag whose name contains "foo?".
  • a '#' followed by a number, for instance "#10". This shows only the 10 most recent tags determined by the commit date of the commit they point to.


If the user hits <return>, the filter pattern is saved. The filter is persisted and will be re-applied when Eclipse is re-started. Different repositories can have different tag filters. A filter can be removed by clearing its filter expression: all tags will be shown again.

<ESC> cancels the filter change.

Cloning

"Screenshot of the Clone wizard of EGit 5.8.0 with the button to select a local bundle file highlighted."

EGit 5.8.0 supports cloning from a local git bundle file. There is a new button in the "Clone" wizard to open a file selection dialog to select the bundle file to clone from.

API

The command that opens the "Clone" wizard shown above is registered in the Eclipse platform with ID org.eclipse.egit.ui.RepositoriesViewClone. This command newly accepts an optional command parameter named repositoryUri. The value is supposed to be a string containing a git clone URI. If set and the value can indeed be parsed as a git clone URI, it is used to pre-fill the dialog with the values from that URI. If repositoryUri is not set or contains an invalid value it is silently ignored.

Other Changes

EGit 5.8 includes lots of less noticeable improvements in the UI, plus a number of bug fixes. The complete list of new features and bug fixes is available in the release notes.

Contributors

The following 11 developers worked on this release:

Alexander Nittka, Andrew Obuchowicz, Kelvin Zhu, Konrad Windszus, Lars Vogel, Matthias Becker, Matthias Sohn, Michael Keppler, Mickael Istria, Simon Muschel, Thomas Wolf

Video

You can see many of the changes in action in the Eclipse 2020-06 Java IDE Improvements video.

See Also

See also the new features in JGit for additional information.

Back to the top