Speed up building of the sync cache using dircacheiterator

By using the dircache we can usually avoid actually reading the file
most of the time. The most obvious effect is the amount of time it
takes before the git decorations appear. It also affects the
synchronization view.

JGit-Change-Id: Iff768422cba140a5d6a776e2c627b852f079c1da
Change-Id: Ia80d62607cc808fcb857316713045b9a9fec6914
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
[repoView] Pull up method to get IPaths of files/folders

Pull method to get collection of IPath for selected files and folders up
to base class.

This method is used by the following change for the "Delete" command.

Bug: 385001
Change-Id: I59a4df60e1878575913b0fa1e98538f2e35a1e47
Signed-off-by: Robin Stocker <robin@nibor.org>
Don't activate editors in single-click mode

Bug 387261
Change-Id: If04df692bff6b7035b3936dc017465b6212114f9
Signed-off-by: Dani Megert <Daniel_Megert@ch.ibm.com>
Refactor building of list of reachable branches

The error handling is also changed. If an IOException occurs, no
branches will be listed and only one exception will be logged.
Previously we simply cut off the list at then point of exception.

The refactored code will be moved to JGit for re-use.

Change-Id: I13c2d885493d46954d78dcd9ffedcafd20a3fb1d
Use findBranchesReachableFrom from RevWalkUtils

The method has been moved to RevWalkUtils.

Change-Id: I8fd859b6a147941f4acc50013dbc5d9103e6dfe0
JGit-Change-Id: Ic4a7584811a2b0bf24e4f6b3eab2a7c022eabee8
Use a faster routine for finding branches in the commit editor

The new routine uses time based heuristics to avoid traversing
the full history of all branches.

Also, log errors.

Change-Id: I0224cf0de40fbd88c6bbcc8470d1284860a47f4b
Merge "Don't activate editors in single-click mode"
Make help more readable by replacing entity numbers

Change-Id: Iac6c46b70a6f19242c593fdf1ee24fd83560e325
Signed-off-by: Dani Megert <Daniel_Megert@ch.ibm.com>
Merge "Refactor building of list of reachable branches"
Merge "Use findBranchesReachableFrom from RevWalkUtils"
Merge "Use a faster routine for finding branches in the commit editor"
Continue checkout after removal of uncommitted changes

When a checkout conflict occurs a dialog is presented to the user. From
here different actions can be triggered to remove the uncommitted
changes: commit, stash and reset.

With this commit the checkout is triggered again after one of the
operations above have been performed successfully.

Bug: 343072
Change-Id: Ic64052246e39b9560b3d77272a6b21b71ed73b3b
Signed-off-by: Stefan Lay <stefan.lay@sap.com>
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
Fix target platform definitions

- Jetty 7.1.6 p2 repository was moved to the archive server
- Use latest SWTBot snapshot build for UI testing on Eclipse 4.2.
  A release version compatible with Juno doesn't yet exist.

Change-Id: I6633607c14c439994e7679e06e9aef16a45f6c02
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
Make test robust by using listener for detecting job schedule

The problem with using IJobManager#find to check for a job is that it
may already have finished, which can cause a test to fail spuriously.

Change-Id: I20c7a50b2034ce140396f0c639da082086ada510
Signed-off-by: Robin Stocker <robin@nibor.org>
Improve hard wrapping by joining the line after a wrapped line

This extends the hard wrapping of the commit message in the Staging View
and Commit Dialog.

With the previous behavior, if one had a finished line/paragraph and
added text at the front, the text at the end would get
wrapped
like
this.

That made manual re-wrapping necessary. In the case of a paragraph,
several lines had to be edited again.

This change improves that use case by turning the line delimiter after a
wrapped word into a space to join the lines. It takes care not to join
empty lines or lines which start with a symbol (e.g. a bullet list).

It also gets rid of flickering during wrapping by only redrawing after
having applied all edits.

Bug: 387932
Change-Id: I197270a68700e7aacf12585c79418c7f8fc8a131
Signed-off-by: Robin Stocker <robin@nibor.org>
[repoView] Add Delete command for files and folders

Works on workspace and non-workspace resources.

For sharing the code with the Staging View, extracted the UI logic into
a new DeletePathsOperationUI class. This dispatches either to the
standard action from org.eclipse.ui or to DeletePathsOperation.

DeleteResourcesOperation was renamed to DeletePathsOperation to make it
clear that it operates on paths, not on potentially non-existing
resources.

Undo is also supported if all selected elements are resources.

Bug: 385001
Change-Id: I0d113cfa0fdc2c58ec33fa1c7ffd34b74e6c11a9
Signed-off-by: Robin Stocker <robin@nibor.org>
Also-by: Stefan Lay <stefan.lay@sap.com>
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
Squash merge commits in Merge wizard

Bug: 382720
Change-Id: Ib8670fbe849ece2b5436255dc408b7dfa5ebdeaa
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
Merge "Improve hard wrapping by joining the line after a wrapped line"
Update maven plugin versions

Change-Id: I62b782641078dc580c5326d95617082bee678a59
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
Add command to enable running garbage collector

The command is exposed in the context menu of repository nodes in the
Repositories View. If multiple repositories are selected they are gc'ed
one after the other.

JGit change I8dcdf0b83e91e6132dc490e8ec53818220773c94 isn't strictly
required for this change but fixes how the gc progress is displayed in
Eclipse.

Change-Id: Id5ef0b96a791187559efcdd032a0b929057cf851
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>