Jump to: navigation, search

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

(Resource filter and nested project support: screenshot)
(Ancestor pane in compare editors (three-way mode): screenshot)
Line 52: Line 52:
  
 
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 ==

Revision as of 12:16, 8 December 2012

Note that 2.2 is not yet released, please install from the Nightly Update Site to use these features.

EGit Features

Add files to .gitignore in Staging view

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

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 (bug 390297):

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. (bug 388913):

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

Staging by 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

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

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)

Other Improvements

  • Deleting untracked files from the Staging view can now be done using the delete key (bug 389137).
  • 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).

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. This leads to a noticeable performance improvement when working with EGit. (bug 393642)

Bug Fixes

60 Bugs and 17 enhancement requests were closed

Contributors

The following people worked on this release of EGit:

  • Andreas Hermann
  • 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