EGit Features

Support for Eclipse-SourceReferences manifest headers

This adds extensions required to clone/import a plug-in's git repository using SCM URL from its
MANIFEST.MF. To give it a try, open Plug-ins view, select a plug-in and click "Import As > Project from a Repository...". Then follow
instructions in the wizard. Importing with a tag is not supported yet, see bug 367712.

Allow push of single Refs/Commits from Repositories & History Views

This adds a new SimplePushWizard which allows selecting a target
remote and ref name. It then pushes out the selected Ref/Commit to the
selected target ref.

Stash Support

Support to create stashed commits

Support to apply stashed commits to the index and working tree

Support for dropping stashed commits

New stash option in branch result dialog. This allows the to quickly stash any conflicting changes that are preventing a branch from being checked out.

Support for "workspace patches"

Workspace-aware patches include comments to tell the Apply Patch wizard
about the target projects for individual diffs. They contain enough
information to allow the wizard to decide which resources need to be
patched.

Also allow to save patches in the workspace.

Preemptively close missing projects when switching branches

When checking out another branch look for projects that differ between the current branch, target branch, and working directory and
close any projects not available on target branch before checkout begins.

Reopened projects are now also refreshed after being opened
in order to keep the Eclipse resource model in sync with the
working directory changes.