Skip to main content
Jump to: navigation, search

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

(EGit: Diff Viewer section)
(EGit: Tag filtering)
Line 17: Line 17:
 
[[File:EGit 5.8 DiffViewer QuickOutline.png|alt="Screenshot showing the quick outline in the diff viewer in EGit 5.8.0."]]
 
[[File:EGit 5.8 DiffViewer QuickOutline.png|alt="Screenshot showing the quick outline in the diff viewer in EGit 5.8.0."]]
  
== TODO: ==
+
== Repositories View ==
  
* Repositories View
+
In the Git repositories view, there is a new command on the "Tags" node to filter the tags.
** Tag filtering; describe pattern syntax (substring, wildcards allowed, ^ and $ anchors; #<number>)
+
 
 +
[[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. <tt><ESC></tt> cancels the filter change. 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.
 +
 
 +
== TODO: ==
  
 
* Cloning
 
* Cloning

Revision as of 16:51, 7 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. <ESC> cancels the filter change. 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.

TODO:

  • API
    • 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.

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.

Copyright © Eclipse Foundation, Inc. All Rights Reserved.