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/2.2"

(Staging by drag and drop of resources from navigator views (e.g. Package Explorer): screenshots)
(Bug Fixes)
(17 intermediate revisions by 3 users not shown)
Line 1: Line 1:
''Note that 2.2 is not yet released, please install from the [http://download.eclipse.org/egit/updates-nightly Nightly Update Site] to use these features.''
 
 
 
= EGit Features =
 
= EGit Features =
  
== Add files to .gitignore in Staging view ==
+
== Staging view ==
 
+
=== "Commit" and "Commit and Push" buttons ===
For an untracked file, the Staging view now has a ''Ignore'' action in the context menu. This will add the file to <tt>.gitignore</tt>. ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=385178 bug 385178])
+
 
+
== Staging view honors label decoration preferences ==
+
 
+
For example, when the label decorations are configured to not show any text decorations, but instead use an icon for the "dirty" state ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=390297 bug 390297]):
+
 
+
[[Image:EGit-2.2-staging-view-decoration-settings.png]]
+
 
+
== "Commit" and "Commit and Push" buttons in Staging view ==
+
  
 
We moved the commit button from the toolbar to the form. Furthermore we now allow you to push and commit in a single step by hitting the appropriate form button. The push occurrs either to the default remote or to upstream that the user configures in the push configuration dialog. ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=388913 bug 388913]):
 
We moved the commit button from the toolbar to the form. Furthermore we now allow you to push and commit in a single step by hitting the appropriate form button. The push occurrs either to the default remote or to upstream that the user configures in the push configuration dialog. ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=388913 bug 388913]):
Line 19: Line 8:
 
[[Image:EGit-2.2-staging-commit-and-push.png]]
 
[[Image:EGit-2.2-staging-commit-and-push.png]]
  
== Staging by drag and drop of resources from navigator views (e.g. Package Explorer) ==
+
=== Staging with drag and drop of resources from navigator views (e.g. Package Explorer) ===
  
 
Files and entire folders can now be staged by dragging them from the Package Explorer and other navigator views to the ''Staged Changes'' table of the Staging view ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=385412 bug 385412]).
 
Files and entire folders can now be staged by dragging them from the Package Explorer and other navigator views to the ''Staged Changes'' table of the Staging view ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=385412 bug 385412]).
Line 30: Line 19:
  
 
[[Image:EGit-2.2-staging-view-dnd-2.png]]
 
[[Image:EGit-2.2-staging-view-dnd-2.png]]
 +
 +
=== Ignore action for adding files to .gitignore ===
 +
 +
For an untracked file, the Staging view now has a ''Ignore'' action in the context menu. This will add the file to <tt>.gitignore</tt>. ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=385178 bug 385178])
 +
 +
[[Image:EGit-2.2-staging-view-ignore.png]]
 +
 +
=== Improved label decorations ===
 +
 +
The Staging view now honors label decoration preferences. For example, when the label decorations are configured to not show any text decorations, but instead use an icon for the "dirty" state ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=390297 bug 390297]):
 +
 +
[[Image:EGit-2.2-staging-view-decoration-settings.png]]
  
 
== Working set project decorations ==
 
== Working set project decorations ==
  
 
Working sets now also receive the decorations, depending on what projects they contain. When all are from the same repository, the repository name, branch name and branch status is shown. When they are from different repositories but all on the same branch, only the branch name is shown. ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=369969 bug 369969])
 
Working sets now also receive the decorations, depending on what projects they contain. When all are from the same repository, the repository name, branch name and branch status is shown. When they are from different repositories but all on the same branch, only the branch name is shown. ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=369969 bug 369969])
 +
 +
[[Image:EGit-2.2-working-set-decorations.png]]
  
 
== Resource filter and nested project support ==
 
== Resource filter and nested project support ==
  
 
Resource filters are now handled correctly, e.g. when used to exclude sub projects from appearing in the parent project tree with a nested project layout. ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=358901 bug 358901])
 
Resource filters are now handled correctly, e.g. when used to exclude sub projects from appearing in the parent project tree with a nested project layout. ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=358901 bug 358901])
 +
 +
The following shows an example of a nested project layout. Notice that there is a ''.project'' in the root of the working directory and that the ''.project'' for ''nested-sub'' is in a sub directory:
 +
 +
[[Image:EGit-2.2-nested-projects.png]]
 +
 +
Additionally, the ''Import Projects...'' wizard in the Git Repositories view now searches for nested projects ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=396067 bug 396067]). The standard ''Import Existing Projects'' wizard supports this since Eclipse 4.3 ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=144610 bug 144610]).
  
 
== Ancestor pane in compare editors (three-way mode) ==
 
== Ancestor pane in compare editors (three-way mode) ==
Line 44: Line 53:
  
 
The common ancestor (also called merge base) is the first parent commit that both compared commits have in common. E.g. when a ''feature'' branch was created from ''master'', the common ancestor is the commit on ''master'' after which ''feature'' was split off.
 
The common ancestor (also called merge base) is the first parent commit that both compared commits have in common. E.g. when a ''feature'' branch was created from ''master'', the common ancestor is the commit on ''master'' after which ''feature'' was split off.
 +
 +
[[Image:EGit-2.2-compare-ancestor.png]]
  
 
== Show In support for files in History view, Commit viewer and Staging view ==
 
== Show In support for files in History view, Commit viewer and Staging view ==
  
 
The listing of changed files of a commit and in the Staging view now has a ''Show In'' entry in the context menu, e.g. to show a file in the Package Explorer. The usual keyboard shortcut can also be used to show the menu. ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=363567 bug 363567])
 
The listing of changed files of a commit and in the Staging view now has a ''Show In'' entry in the context menu, e.g. to show a file in the Package Explorer. The usual keyboard shortcut can also be used to show the menu. ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=363567 bug 363567])
 +
 +
[[Image:EGit-2.2-commit-file-show-in.png]]
  
 
== Other Improvements ==
 
== Other Improvements ==
  
 
* Deleting untracked files from the Staging view can now be done using the delete key ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=389137 bug 389137]).
 
* Deleting untracked files from the Staging view can now be done using the delete key ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=389137 bug 389137]).
 +
* Deleting a repository including repository content now removes the empty repository folder ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=389137 bug 358256]).
 
* Amend now preserves the original authorship date and time ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=362391 bug 362391]).
 
* Amend now preserves the original authorship date and time ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=362391 bug 362391]).
 
* When comparing a file with the current version (HEAD), its side now always shows the author and ID of the commit which last affected the file, not from HEAD ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=359071 bug 359071]).
 
* When comparing a file with the current version (HEAD), its side now always shows the author and ID of the commit which last affected the file, not from HEAD ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=359071 bug 359071]).
Line 61: Line 75:
 
* Stashed commits are now sorted in the order in which they were created, not by the label.
 
* Stashed commits are now sorted in the order in which they were created, not by the label.
 
* The ''Remove from Index'' action now works across resources of multiple repositories ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=395722 bug 395722]).
 
* The ''Remove from Index'' action now works across resources of multiple repositories ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=395722 bug 395722]).
 +
* Pushing now also updates remote tracking branches when using Synchronize view, ''Push Branch...'' and ''Push...'' ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=317411 bug 317411], [https://bugs.eclipse.org/bugs/show_bug.cgi?id=317371 bug 317371], [https://bugs.eclipse.org/bugs/show_bug.cgi?id=328138 bug 328138]).
 +
* 'Push to Gerrit' wizard supports Gerrit draft reviews
  
 
= Performance Improvements =
 
= Performance Improvements =
Line 66: Line 82:
 
== Re-indexing repositories is now done incrementally ==
 
== Re-indexing repositories is now done incrementally ==
  
Instead of doing a full refresh each time the Git index changes, index diff updates are now done incrementally. This leads to a noticeable performance improvement when working with EGit. ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=393642 bug 393642])
+
Instead of doing a full refresh each time the Git index changes, index diff updates are now done incrementally ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=393642 bug 393642]). This leads to a noticeable performance improvement in the following areas:
 +
 
 +
* Staging view
 +
* ''Add to Index'' and ''Remove from Index'' actions
 +
* Git Label Decorations
 +
 
 +
= Installation =
 +
* EGit 2.2 requires at least Eclipse platform 3.7.2 (Indigo), support for older releases was discontinued (https://bugs.eclipse.org/bugs/show_bug.cgi?id=365425)
 +
* Feature org.eclipse.egit.psf was removed since it was only needed for platform versions older than 3.7
 +
 
 +
= Build =
 +
* EGit build was updated to Tycho 0.16
 +
* EGit bundles now contain Eclipse-SourceReference headers
  
 
= Bug Fixes =
 
= Bug Fixes =
[https://bugs.eclipse.org/bugs/buglist.cgi?list_id=3677001&resolution=FIXED&resolution=DUPLICATE&classification=Technology&chfieldto=Now&query_format=advanced&chfieldfrom=2012-09-26&bug_status=RESOLVED&bug_status=VERIFIED&bug_status=CLOSED&product=EGit 60 Bugs and 17 enhancement requests] were closed
+
[https://bugs.eclipse.org/bugs/buglist.cgi?list_id=3805932&resolution=FIXED&resolution=DUPLICATE&classification=Technology&chfieldto=2012-12-20&chfield=resolution&query_format=advanced&chfieldfrom=2012-09-26&bug_status=RESOLVED&bug_status=VERIFIED&bug_status=CLOSED&product=EGit 64 Bugs and 16 enhancement requests] were closed
  
 
= Contributors =
 
= Contributors =
  
The following people worked on this release of EGit:
+
The following 16 developers worked on this release of EGit:
  
* Andreas Hermann
+
Andreas Hermann, André Dietisheim, Chris Aniszczyk, Dani Megert, Dariusz Luksza, François Rey, Gunnar Wagenknecht, Jens Baumgart, Kaloyan Raev, Markus Duft, Markus Keller, Matthias Sohn, Robin Rosenberg, Robin Stocker, Stefan Lay, Tomasz Zarna
* André Dietisheim
+
* Chris Aniszczyk
+
* Dani Megert
+
* Dariusz Luksza
+
* François Rey
+
* Gunnar Wagenknecht
+
* Jens Baumgart
+
* Markus Duft
+
* Markus Keller
+
* Matthias Sohn
+
* Robin Rosenberg
+
* Robin Stocker
+
* Stefan Lay
+
* Tomasz Zarna
+

Revision as of 03:09, 8 January 2013

EGit Features

Staging view

"Commit" and "Commit and Push" buttons

We moved the commit button from the toolbar to the form. Furthermore we now allow you to push and commit in a single step by hitting the appropriate form button. The push occurrs either to the default remote or to upstream that the user configures in the push configuration dialog. (bug 388913):

EGit-2.2-staging-commit-and-push.png

Staging with drag and drop of resources from navigator views (e.g. Package Explorer)

Files and entire folders can now be staged by dragging them from the Package Explorer and other navigator views to the Staged Changes table of the Staging view (bug 385412).

For example, the package org.eclipse.jgit.api is dragged from the Package Explorer on the left:

EGit-2.2-staging-view-dnd-1.png

Which results in all the contained files being staged:

EGit-2.2-staging-view-dnd-2.png

Ignore action for adding files to .gitignore

For an untracked file, the Staging view now has a Ignore action in the context menu. This will add the file to .gitignore. (bug 385178)

EGit-2.2-staging-view-ignore.png

Improved label decorations

The Staging view now honors label decoration preferences. For example, when the label decorations are configured to not show any text decorations, but instead use an icon for the "dirty" state (bug 390297):

EGit-2.2-staging-view-decoration-settings.png

Working set project decorations

Working sets now also receive the decorations, depending on what projects they contain. When all are from the same repository, the repository name, branch name and branch status is shown. When they are from different repositories but all on the same branch, only the branch name is shown. (bug 369969)

EGit-2.2-working-set-decorations.png

Resource filter and nested project support

Resource filters are now handled correctly, e.g. when used to exclude sub projects from appearing in the parent project tree with a nested project layout. (bug 358901)

The following shows an example of a nested project layout. Notice that there is a .project in the root of the working directory and that the .project for nested-sub is in a sub directory:

EGit-2.2-nested-projects.png

Additionally, the Import Projects... wizard in the Git Repositories view now searches for nested projects (bug 396067). The standard Import Existing Projects wizard supports this since Eclipse 4.3 (bug 144610).

Ancestor pane in compare editors (three-way mode)

When comparing a file against another commit or branch, the content of the common ancestor can now be shown using the Show Ancestor Pane button in the compare editor. This will show a third text field showing the content of the ancestor.

The common ancestor (also called merge base) is the first parent commit that both compared commits have in common. E.g. when a feature branch was created from master, the common ancestor is the commit on master after which feature was split off.

EGit-2.2-compare-ancestor.png

Show In support for files in History view, Commit viewer and Staging view

The listing of changed files of a commit and in the Staging view now has a Show In entry in the context menu, e.g. to show a file in the Package Explorer. The usual keyboard shortcut can also be used to show the menu. (bug 363567)

EGit-2.2-commit-file-show-in.png

Other Improvements

  • Deleting untracked files from the Staging view can now be done using the delete key (bug 389137).
  • Deleting a repository including repository content now removes the empty repository folder (bug 358256).
  • Amend now preserves the original authorship date and time (bug 362391).
  • When comparing a file with the current version (HEAD), its side now always shows the author and ID of the commit which last affected the file, not from HEAD (bug 359071).
  • Git Tree Compare view now has an Expand all button (bug 376241).
  • When accidentally pressing Amend in the Commit dialog or Staging view, pressing it again causes the original commit message to appear again instead of being lost (bug 364022).
  • When using Compare With/Replace With > Commit..., the dialog now filters the shown commits to only those that affected the selected resources, not the complete history (bug 382476).
  • Synchronize view now fetches changes when using F5/Synchronize when the Always launch fetch before synchronization option is enabled (bug 355837).
  • Undo in the Staging view commit message field is now available again (bug 388594).
  • Stashed commits are now sorted in the order in which they were created, not by the label.
  • The Remove from Index action now works across resources of multiple repositories (bug 395722).
  • Pushing now also updates remote tracking branches when using Synchronize view, Push Branch... and Push... (bug 317411, bug 317371, bug 328138).
  • 'Push to Gerrit' wizard supports Gerrit draft reviews

Performance Improvements

Re-indexing repositories is now done incrementally

Instead of doing a full refresh each time the Git index changes, index diff updates are now done incrementally (bug 393642). This leads to a noticeable performance improvement in the following areas:

  • Staging view
  • Add to Index and Remove from Index actions
  • Git Label Decorations

Installation

  • EGit 2.2 requires at least Eclipse platform 3.7.2 (Indigo), support for older releases was discontinued (https://bugs.eclipse.org/bugs/show_bug.cgi?id=365425)
  • Feature org.eclipse.egit.psf was removed since it was only needed for platform versions older than 3.7

Build

  • EGit build was updated to Tycho 0.16
  • EGit bundles now contain Eclipse-SourceReference headers

Bug Fixes

64 Bugs and 16 enhancement requests were closed

Contributors

The following 16 developers worked on this release of EGit:

Andreas Hermann, André Dietisheim, Chris Aniszczyk, Dani Megert, Dariusz Luksza, François Rey, Gunnar Wagenknecht, Jens Baumgart, Kaloyan Raev, Markus Duft, Markus Keller, Matthias Sohn, Robin Rosenberg, Robin Stocker, Stefan Lay, Tomasz Zarna

Back to the top