Don't show "Running Launch" dialog again after "Checkout Conflicts"

See bug report for how to reproduce.

Bug: 446092
Change-Id: I439bd642341976057305d503a6c769cbb2395f5d
Signed-off-by: Robin Stocker <robin@nibor.org>
Optimize RevUtils.isContainedInAnyRef by not checking older refs

Same optimization as in JGit's RevWalkUtils.findBranchesReachableFrom.
We could also use JGit's method directly, but that does more than what
we need here (it checks all refs).

Change-Id: I80cbd1a732141ac9c3484c14e2b469219f1ddd77
Signed-off-by: Robin Stocker <robin@nibor.org>
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
Remove files from src.includes which aren't required in source build

This fixes warnings Eclipse raises for the removed entries in
build.properties.
See https://bugs.eclipse.org/bugs/show_bug.cgi?id=286808

Change-Id: I00a88c3847fc787fd8fe571942b51a7e4faf46fc
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
[historyView] Show date columns in local time zone, original on hover

The local time zone makes sense to the user as they can compare the
different commit dates much easier, and it is what is shown in other
places of the UI as well.

On hover, the full date in original time zone is shown in ISO format.

Bug: 369802
Change-Id: I4b0b19dfa8e3c51efc21ff394a84f891c6f72113
Signed-off-by: Robin Stocker <robin@nibor.org>
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
[historyView] Show name and email on hover of author/committer column

Change-Id: I430857cfafe72942b045d06dcdc6fee0259c0c52
Signed-off-by: Robin Stocker <robin@nibor.org>
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
[stagingView] Compare against HEAD for conflicting files

Previously, the first index entry was used (base stage, content of file
in common ancestor), which is confusing. Comparing against HEAD is more
sensible in that case.

Bug: 427054
Change-Id: I186448f79ff1d8a416a985543138ba8715a7705a
Signed-off-by: Robin Stocker <robin@nibor.org>
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
Revert "Show a rebase result dialog if cherry-picking fails."

This reverts commit 677e4b02ed6964a153fb380888019a1996fe562b.

Bug: 447115
Change-Id: I675b2cff383f650cd82ea2d72e8c70a81d9d2529
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
Revert "Add support for cherry-picking multiple commits at once"

This reverts commit e7a0ec115347e2d147b8794d78cc5a8883f1cc3e.

Bug: 447115
Change-Id: Ife9a30e68660d879e8d394d2c3ecb87d568fe34d
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
[stagingView] Enhance IndexDiffData to support submodules

By enhancing IndexDiffData to support submodules like we did earlier for
symlinks (see ceee3050) we can avoid a SubmoduleWalk otherwise needed to
decorate modified submodules in the staging view.

Bug: 439674
Change-Id: I366a13f81f82acd7ddab084571c44d6fb51bbf2d
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
Decorate symlinks properly according to their git status

The Eclipse resource model handles a symlink to a folder like the
container it refers to but git status handles the symlink source like a
special file.

Change-Id: Ic3f6e0ba495c507951034b90807e915624d46432
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
[stagingView] Don't forget amend state after repository refreshes

The commit message and the amend state were cleared after repository
refreshes while amending. Now both is usually preserved and cleared only
if the underlying amended commit changed, e.g. because the user switched
to another branch.

We now also remember the commit message and that amend was enabled when
the Staging View or Eclipse as a whole is closed.

Bug: 454559
Change-Id: I246fd94032b8d8b0d220f2e39857bc63404e941b
Signed-off-by: Konrad Kügler <swamblumat-eclipsebugs@yahoo.de>
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
Add ProjectUtil.refreshRepositoryResources

Refreshes resources of repository-relative paths within a repository.

Change-Id: I35a537a8d5ec1de20fdcd0b757faadde28b64845
Signed-off-by: Robin Stocker <robin@nibor.org>
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
Make DiscardChangesOperation work for non-resources

Uses the new ProjectUtil.refreshRepositoryResources from the parent
change to correctly refresh the resources that were possibly affected.

Change-Id: I1c2bc7fdc9a673d33d1cf84b43894937f2cd27c6
Signed-off-by: Robin Stocker <robin@nibor.org>
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
Support checking out stage with DiscardChangesOperation

For resolving conflicts, we want to be able to do `git checkout --ours`
or `git checkout --theirs` for a path.

Change-Id: Ia6d003993ad1016602ff960203b3526cd884bad2
Signed-off-by: Robin Stocker <robin@nibor.org>
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
[stagingView] Add "Replace With > Ours/Theirs" menu for conflicts

Note that this also requires JGit change
Ie2b3685d958c09b241991b74e6177401e8a1ebc9 for it to work for add/add
conflicts.

To get a nicer "theirs" in case of rebasing, reading some of the files
in .git/rebase-merge/ would be required.

Change-Id: I9e1ddb7bb2cf295fcb6d18ffa4393fcc6dac605e
Signed-off-by: Robin Stocker <robin@nibor.org>
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
Merge "Decorate symlinks properly according to their git status" into stable-3.6
EGit v3.4.2.201412180340-r

Change-Id: I41144804d1298005b0583d7956edd9a5572bb41c
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
Merge branch 'stable-3.4' into stable-3.5

* stable-3.4:
  EGit v3.4.2.201412180340-r

Change-Id: Iea44d412126b54ae28eeb0ab5761f36f5bc811a9
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
EGit v3.5.3.201412180710-r

Change-Id: I23ef401bef590de31ded2ba8e46587c526d1ce3b
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
Merge branch 'stable-3.5' into stable-3.6

* stable-3.5:
  EGit v3.5.3.201412180710-r
  EGit v3.4.2.201412180340-r

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