Skip to main content
Jump to: navigation, search

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

(API)
m (See Also)
Line 66: Line 66:
 
= 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.

Revision as of 13:30, 16 May 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 X developers worked on this release:

<TBD: list of contributors, number>

See Also

See also the new features in JGit for additional information.

Back to the top