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.
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."]] | ||
− | == | + | == 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. <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
Contents
EGit
Diff Viewer
The outline view of the diff viewer has now a toolbar:
There's a button to collapse all folders, and a button to toggle the presentation from a flat folder list to a hierarchical display.
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.
Repositories View
In the Git repositories view, there is a new command on the "Tags" node to filter the tags.
It opens a text box where the user can enter a filter expression to restrict which tags will be shown:
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:
- Cloning
- Can select a git bundle file to clone from.
- 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.