Skip to main content
AgeCommit message (Collapse)AuthorFilesLines
2016-04-08Prepare 4.3.1-SNAPSHOT buildsMatthias Sohn2-12/+12
Change-Id: Ide5a9401f66b246cab18e66d3a2046f7c22cabb6 Signed-off-by: Matthias Sohn <>
2016-04-07EGit v4.3.0.201604071810-rv4.3.0.201604071810-rMatthias Sohn2-2/+2
Change-Id: If4a677af68862a663b1fc0cdc56b867f9c7193b8 Signed-off-by: Matthias Sohn <>
2016-04-07EGit v4.3.0.201604071045-rMatthias Sohn2-2/+2
Change-Id: I26ca17f5ce5c83bea828ee642fdfcdf4708c25d7 Signed-off-by: Matthias Sohn <>
2016-03-25Distinguish unchanged/deleted files in logical modelsLaurent Delaigue2-1/+167
Change-Id: Iba967102da2118fcf795bdd3e4bc56c9ef8abec2 Also-by: Arthur Daussy <> Signed-off-by: Laurent Delaigue <>
2016-03-01Fix bug in RepositoryMappingTestThomas Wolf1-6/+6
Minor mixup between OS and portable strings went unnoticed on Unixlike systems and would fail on Windows. Change-Id: I21175bbaacde4793065c08f157cc3467b17adfcd Signed-off-by: Thomas Wolf <> Signed-off-by: Matthias Sohn <>
2016-02-23Make RepositoryMapping use java.nio.file.PathThomas Wolf1-0/+46
org.eclipse.resources.Path.fromOSString normalizes paths. However, the FileRepositoryBuilder returns paths like /some/path/container/../.git/modules/... . If that get's normalized, we end up with /some/path/.git/modules/... , which defeats the subsequent attempt to relativize the string to ../.git/modules/... . Using java.nio.file.Path, we can avoid this premature normalization, and moreover we can create relative paths in way more cases. Change-Id: I19da4aed3a4a8476f6cb4b1466fa5ab75b095f66 Signed-off-by: Thomas Wolf <>
2016-02-21Test stability investigation: GitSubscriberMergeContextTestThomas Wolf2-0/+52
I can't get that test to fail locally; neither on native OS X nor on a Linux (Ubuntu 15.04) VM. Yet it fails frequently on Hudson. I don't see anything wrong with the test either. Let's include a lot of debug output in an attempt to figure out what's going on. I suggest we do actually merge this, so that we have the extra info the next time it fails. Hopefully that'll give some hints. I couldn't find a thread dump method anywhere, so I wrote my own. Change-Id: Icdd054c5b7f878771046706f615746e3f47e9b4f Signed-off-by: Thomas Wolf <>
2016-02-19Handle relative paths in RepositoryMapping creatorThomas Wolf1-0/+11
file.getAbsolutePath() with a relative path here resolves against the current working directory of the Eclipse instance. The path is, however, relative to the IContainer being mapped! This causes many of the various occurrences of errors in the log about gone repository mappings, especially those where the absolute path is nowhere near any expected directory. Bug: 456799 Bug: 476011 Change-Id: I9eebf4cb81b7584936f823885db8a5d9340035fd Signed-off-by: Thomas Wolf <>
2016-01-23[test log] Unify pom.xml for tests and configure JVMThomas Wolf1-4/+0
- Move the mac and not-mac profiles into the global pom. - Move the coretest.vmargs (empty) and uitest.vmargs (with defaults) there. - Remove the profiles for selecting the target platform. Target platform can be configured directly, e.g.: $ mvn clean install -Dtarget-platform=egit-4.4 - Configure max heap size (1GB) and max perm gen size (150MB). Max values observed by monitoring JVM during Maven build were ~400MB (heap) and ~100MB (permgen). Change-Id: Ia210bad67889cdad9dbf269216a1554af249a9ed Signed-off-by: Thomas Wolf <> Signed-off-by: Matthias Sohn <>
2016-01-21Prepare 4.3.0-SNAPSHOT buildsMatthias Sohn2-12/+12
Change-Id: I706e98e52ed35db93c830b82eccac6db83ee20df Signed-off-by: Matthias Sohn <>
2016-01-07[test stability] Make sure we don't miss index diff eventsAndrey Loskutov7-39/+62
The global listener to the indexDiffEntry should be added *before* reload job is triggered by the entry, otherwise it can happen that the job is done earlier. Also changed related test code to allow us better catch jobs etc. Change-Id: I0889c46b5577bf818658480270256ba634796608 Signed-off-by: Andrey Loskutov <>
2016-01-07[test stability] trying to stabilize recently failed unstable testsAndrey Loskutov1-2/+9
Change-Id: Ibf8298ebd16ec55a7320aeef5303b6006432f8ca Signed-off-by: Andrey Loskutov <>
2016-01-07TestUtils.waitForJobs() arguments from core should match those from uiAndrey Loskutov2-4/+5
Change-Id: I9cde928cfd84cd599d72729f89caf471d83e9522 Signed-off-by: Andrey Loskutov <>
2015-12-23[performance] Remove ContainerTreeIterator and AdaptableFileTreeIteratorAndrey Loskutov4-345/+5
Don't hook any extra Eclipse based iterators to jgit tree traversal: 1) Eclipse IResource API can't handle "unusual" links (unresolved or recursive), see bug 290318. This is a major functional deficiency for repositories which make use of links. 2) The assumption that Eclipse IResource API traverses the file system faster as does not hold on Windows/Linux/Mac/NFS with modern (7+) Java, see bug 484498 comments 10 and 14,15,17. The opposite is true: especially on Linux the access is considerably faster as IResource API or what the ContainerTreeIterator makes of it. AdaptableFileTreeIterator/ContainerTreeIterator use is replaced with default FileTreeIterator, tests adopted or removed. Bug: 484498 Change-Id: I026abee1706e6fbcd470cc7262b9fc1e59a7fe8b Signed-off-by: Andrey Loskutov <> Signed-off-by: Matthias Sohn <>
2015-12-13Revert "Temporarily disabled failing submodule tests"Christian Halstrick1-5/+1
This change should only be merged when change Id1b988aded06939b1d7edd2671e34bf756896c0e is accepted This reverts commit eef72a4b552fddd51951394fd63e9cee53117cb4. Change-Id: I1d7ff66b0dfce535aed149cf80159650555133d1
2015-11-29Temporarily disabled failing submodule testsAndrey Loskutov1-1/+5
See last comments on and Change-Id: Id27198c72acf003ec82295546cce803a4affee9a Signed-off-by: Andrey Loskutov <>
2015-10-10[nested projects] Allow EGit request inner most projects in some casesAndrey Loskutov1-10/+42
Currently Eclipse resources API offers the choice of having very fast but unpredictable results (getFileForLocation()) or very slow but deterministic (findFilesForLocationURI()) while requesting a file via IPath key in context of nested projects. The "unpredictability" of the fast API is not documented and has side effects only if workspace contains nested projects - in this case if the file is located in many projects, it is not guaranteed, file handle from which project will be returned (it is related to project names, see bug 476585). During the fix for bug 440722, by choosing the very fast file lookup for ResourceUtil we unintentionally changed the EGit behavior so that in case nested projects were involved, EGit sometimes could not use the file from the inner most project, but from parent one. This fix offers an explicit option for clients which would prefer to see resources from inner most projects independently how long it takes to resolve them. Some of the affected ResourceUtil API clients are changed to always request files inner most projects: mostly editor related code. Bug: 476857 Change-Id: I5f076bbf6bb74392265d6ec1c9c80965111005ef Signed-off-by: Andrey Loskutov <>
2015-09-28Prepare 4.2.0-SNAPSHOT buildsMatthias Sohn2-12/+12
Change-Id: Ib8648c6885c90f0c812fb06cf79defdd9368e301 Signed-off-by: Matthias Sohn <>
2015-09-28Prepare 4.1.1-SNAPSHOT buildsMatthias Sohn2-12/+12
Change-Id: Ic04e32bea8bdc7c351cc6ddddb2e33012f952829 Signed-off-by: Matthias Sohn <>
2015-09-28EGit v4.1.0.201509280440-rv4.1.0.201509280440-rMatthias Sohn2-2/+2
Change-Id: Icfa40a868fe197aaf761e0323af0fffbe9107a90 Signed-off-by: Matthias Sohn <>
2015-09-26GitURI should not try to parse "path" part if it is missing in the URIAndrey Loskutov1-0/+8
Bug: 478464 Change-Id: I4c376c1d8df3a90ca5d59d8cfa36d2dbecab9772 Signed-off-by: Andrey Loskutov <>
2015-09-21Use save action to add missing @Override annotations on saveMatthias Sohn1-3/+9
Change-Id: I3c55808a0279ac10a23be40739306259091037d8 Signed-off-by: Matthias Sohn <>
2015-09-17Add missing @Override annotations to all EGit bundlesLars Vogel43-0/+77
Bug: 477689 Change-Id: I490e6558db5133a60caf00af2b996feae0e2e832 Signed-off-by: Lars Vogel <> Signed-off-by: Matthias Sohn <>
2015-09-16Configure version of tycho-surefire-plugin in parent pom.xmlMatthias Sohn1-1/+0
This ensures we use the same version in all modules. Change-Id: I4521e8cf52a23465923efb0b3a2dadcb011611ee Signed-off-by: Matthias Sohn <>
2015-09-13Don't use IPath.equals() since it is broken on WindowsAndrey Loskutov1-0/+40
C:\\test and c:\\test are different paths for IPath.equals(). So if we search for repositories, we cannot rely on it's implementation and should compare instances instead. Bug: 475453 Change-Id: I9ec19dc3cc31b4717db5a6348cb84a9d4e7751ae Signed-off-by: Andrey Loskutov <>
2015-08-30Introduce a mergeStrategy extension point.Laurent Delaigue5-0/+276
The new extension point can be used to implement and register custom merge strategies which can be used by EGit operations that require merge (merge, rebase, pull, revert, squash, stash, submodule update). Add a preference page to allow selection of the preferred merge strategy. Make sure that relevant operations use the preferred strategy. Bug: 418151 Change-Id: I4d455ce171cca13c780e72b8d27dd929b28c6b71 Signed-off-by: Laurent Delaigue <> Signed-off-by: Matthias Sohn <>
2015-08-14Use default repository location for all import wizardsAndrey Loskutov1-17/+72
Bug: 395143 Change-Id: Iadc600c78e58195da4d2173764b90001fb410b2a Signed-off-by: Andrey Loskutov <> Signed-off-by: Matthias Sohn <>
2015-07-08Do not automatically ignore paths not found by the treewalkAndrey Loskutov1-15/+107
RepositoryUtil.isIgnored(path) is used to check if the resource should be added to the .gitignore by IgnoreDerivedResources and IgnoreOperation. However if the TreeWalk can't *find* the path "isIgnored" returns "false", but probably should return "true" in the same way as if the mapping were missing. To not break API, the old "isIgnored" method behavior is documented and new "canBeAutoIgnored" method is used instead, with different behavior. Added & fixed javadoc and tests. Bug: 470820 Change-Id: Id732684999da1561bc3812fdb2daeee7a5fae369 Signed-off-by: Andrey Loskutov <>
2015-07-07Test stability: another attempt to have stable connect() behaviorAndrey Loskutov1-2/+8
Refactored ConnectProviderOperation to make it easier to understand and to be more verbose if it fails to connect. If multiple projects are to be connected, do not fail entire task if only some of the projects have issues. RepositoryFinder should also not silently fail during connect if resource is unknown in workspace. Change-Id: Ied79b1846495d7662ee40128b1a0edceb55d6860 Signed-off-by: Andrey Loskutov <>
2015-06-23[findBugs] Don't rely on default encodingMatthias Sohn2-2/+2
Change-Id: Ic2d088d9cc8bc8c8e05267917314188c9dbde839 Signed-off-by: Matthias Sohn <>
2015-06-03Prepare 4.1.0-SNAPSHOT buildsMatthias Sohn2-12/+12
Change-Id: I8a3123e90609b0ee84342bd30d2af5fe7933e628 Signed-off-by: Matthias Sohn <>
2015-05-21Use try-with-resource to avoid leaks with RevWalk and TreeWalkMatthias Sohn11-305/+343
Change-Id: I1ea48039ea38766bb07f079e5ef4569de034d577 Signed-off-by: Matthias Sohn <>
2015-05-21Replace calls to release() methods with try-with-resourceMatthias Sohn2-8/+2
JGit deleted the deprecated release() methods in change I2c67384309c5c2e8511a7d0d4e088b4e95f819ff Change-Id: I1a166ba477543669824888296b3533dd9b0ef3be Signed-off-by: Matthias Sohn <>
2015-05-04Introduce internal API to integrate Team merging.Laurent Delaigue5-0/+1051
Team provides a number of APIs to provide access to merge, comparison and synchronization features. This introduces a git-specific Subscriber implementation that can retrieve information from three different sources, along with implementations to use the index or a TreeWalk to populate these three 'sources'. CQ: 9453 Bug: 418151 JGit-Dependency: I722352e619794988791c452545d57b17dada407a Change-Id: Ieda23bb556d342f421f03b93c7faa160998598aa Also-by: Laurent Goubet <> Signed-off-by: Axel Richard <> Signed-off-by: Laurent Delaigue <> Signed-off-by: Matthias Sohn <>
2015-04-18Fix unnecessary cast errors from generified IAdaptable#getAdapter(..)Andrey Loskutov1-3/+2
Bug: 460685 Change-Id: Iec050627f71b31f0b10b19771b67e5eb86f1aa86 Signed-off-by: Andrey Loskutov <>
2015-03-31Optimizations for GitResourceDeltaVisitor visit()Andrey Loskutov4-23/+54
Follow up discussion on the bug 463296: * don't look into unrelated projects * don't look inside linked folders * simplified code a little bit Bug: 463296 Change-Id: If717a5efc8146cfa336c59e4e45298487a5b1524 Signed-off-by: Andrey Loskutov <>
2015-03-30Don't let timestamps depend on the timer resolutionAndrey Loskutov1-7/+9
Looks like on my workstation Java can resolve timestamps up to last two-three digits, so that file1.getLocalTimeStamp() and Repository.lastModifiedInIndex() always differ in few hundred milliseconds. Reduced timestamps resolution to seconds to avoid unstable tests. Change-Id: I369353230e0013eab4dd90a661c45398aef134c7 Signed-off-by: Andrey Loskutov <>
2015-03-25Provide access to the absolute path of the git storages.Laurent Delaigue1-7/+8
IStorage#getFullPath() was implemented in such a way that the underlying resource is unresolveable for any client not aware of git innards. This opens a new API to allow clients to access the path if the needs arises. Change-Id: I70724413c79f4756cdaffaa4229f4d9a1d8082e5 Also-by: Laurent Goubet <> Also-by: Axel Richard <> Signed-off-by: Laurent Delaigue <> Signed-off-by: Matthias Sohn <>
2015-03-23Adapt to org.eclipse.jgit.java7 being merged into org.eclipse.jgitMatthias Sohn2-10/+0
Adapt the EGit build to change Ib5da61b0886ddbdea65298f1e8c6d65c9879ced1 which merges the bundle org.eclipse.jgit.java7 into the bundle org.eclipse.jgit. JGit-Dependency: Ib5da61b0886ddbdea65298f1e8c6d65c9879ced1 Change-Id: I5d06588e4f815c3bfd26d7f33c36eed0c62352f1 Signed-off-by: Matthias Sohn <>
2015-03-14Extract convenience methods in a separate class from the testsLaurent Delaigue9-288/+438
This extracts a base abstract class for tests aimed at the logical model support, and extract the Sample logical model out of GitSubscriberContextTest to make it available for other test classes. The sample logical model provider is now properly contributed through the extension point so that it will be found and used by the platform during our tests the same way it would be during regular use by an end-user. Change-Id: Idd602bc7af278bdc47f38801388f533754a46819 Also-by: Laurent Goubet <> Also-by: Axel Richard <> Signed-off-by: Laurent Delaigue <> Signed-off-by: Matthias Sohn <>
2015-03-03Fix behavior of EGit when repo is a symlinkGunnar Wagenknecht1-10/+2
The use of getCanonicalPath is problematic on POSIX file systems. If the repo is a symlink (or one folder of the repo path) then this will be resolved to the real file system location. There are multiple issues with that. Most notably is the fact that Eclipse resource locations will not use the canonical path but an absolute path. This translates into a couple of weird issue with RepositoryMapping and resolving paths. This change removes every occurence of getCanonicalPath() calls, which should also be line with what JGit does. Bug: 460118 Change-Id: I884eded8b24c2de14f0255d2371d016b4e435c28 Signed-off-by: Gunnar Wagenknecht <>
2015-03-02Replace use of deprecated TreeWalk.release()Matthias Sohn1-9/+3
Use try-with-resources statements instead. Change-Id: I953b0cce5c09dfea5bfaabbdf98711c87edd8bb2 Signed-off-by: Matthias Sohn <>
2015-03-01[findBugs] Ensure that FileOutputStream is closedMatthias Sohn1-4/+8
Change-Id: Icdfb04dd7a549c544993f6c5d118279cb6a6b498 Signed-off-by: Matthias Sohn <>
2015-02-28[findBugs] Don't rely on default encodingMatthias Sohn2-5/+5
Change-Id: Ie4d73c4b620a8bf7001d3e8d70fac910fbd30369 Signed-off-by: Matthias Sohn <>
2015-02-18Merge "Consider different users and repo suffixes in project importer"Christian Halstrick1-0/+117
2015-02-11Consider different users and repo suffixes in project importerChristian Georgi1-0/+117
Two URLs differing in users *and* repo suffixes (.git) should be treated the same. This was not handled properly with the last fix for bug 453892. In addition there is now also test cases for the relevant parts of ProjectReferenceImporter. Bug: 459551 Change-Id: I5308d089996cfc1be3a13120ef50e6cf23c5cf42 Signed-off-by: Christian Georgi <>
2015-02-10Set minimum required Java version to Java 7Matthias Sohn3-5/+5
Also update the installation instructions. Bug: 458476 Change-Id: I7a2b20bb7d5ec71d63feeb068078bc4a94fa2f24 Signed-off-by: Matthias Sohn <>
2015-02-04Merge branch 'stable-3.7'Matthias Sohn2-0/+346
* stable-3.7: Prepare post builds EGit v3.7.0.201502031740-rc1 Lookup active window before opening commit selection dialog [stagingview] "Updating index" should indicate that view is "busy" [stagingview] "Refresh" operation should indicate that view is "busy" Update readme to describe current state of symlink support Let staging view use submodule repos UI Activator: allow tracing if workbench UI is active Jobs should not unnecessarily lock the workspace Open mergetool by default in staging view when in conflicting state Don't run "Compare with previous" in UI thread Implement hasChildren() to avoid diff calculation in UI thread Don't run indexDiff.diff() in UI thread Always run compare input calculation in background thread Scalability: don't run incremental update if there are too many changes Change-Id: I5452a465bb4b2bbd988f5f11fd4bf395ee875272 Signed-off-by: Matthias Sohn <>
2015-02-04Prepare post buildsMatthias Sohn2-2/+2
Change-Id: I3ca05472be02232041a9ed4a8add1316b2759f7f Signed-off-by: Matthias Sohn <>
2015-02-03EGit v3.7.0.201502031740-rc1v3.7.0.201502031740-rc1Matthias Sohn2-2/+2
Change-Id: Ia4dff70fcfaf199febb564c3b57e70536b3d6865 Signed-off-by: Matthias Sohn <>

Back to the top