Skip to main content
aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2018-09-11Prepare 5.1.1-SNAPSHOT buildsMatthias Sohn2-39/+39
Change-Id: Ie1dc5eccaa9b66fbe80f42b543c7b82fe865a5ce Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2018-09-11EGit v5.1.0.201809111528-rv5.1.0.201809111528-rMatthias Sohn2-2/+2
Change-Id: Id5ef97610f6fcd5c7104b6ae7a72d4c559621b33 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2018-09-05Prepare 5.1.0-SNAPSHOT buildsMatthias Sohn2-2/+2
Change-Id: Ica4fdc7b32809b00fbe2ce11be50b22fe4788436 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2018-09-05EGit v5.1.0.201809051400-rc1v5.1.0.201809051400-rc1Matthias Sohn2-2/+2
Change-Id: I9fbc165f94573ba179138eb24ada2c0bfa820369 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2018-09-01Fix Findbugs RV_NEGATING_RESULT_OF_COMPARETOMichael Keppler1-1/+1
Instead of negating, invert the order of compareTo. Change-Id: Iba3ed5985d91111b07f1276a92f5e9abb406666e Signed-off-by: Michael Keppler <Michael.Keppler@gmx.de>
2018-08-23Fix missing optional import of jgit.lfs in egit.core MANIFEST.MFThomas Wolf1-0/+1
Commit e2be982 inadvertently lost the optional import again, leading to a CCE at run-time if the JGit LFS was installed because the package was not on the bundle classpath. Re-add it again. Change-Id: I31ce187f6496d5482e485bbe6f9bbbeb365ce685 Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
2018-08-20Organize OSGi manifestsMatthias Sohn1-6/+7
- ensure all packages appear in manifest - mark internal packages - calculate 'uses' directives for public packages - remove unused dependencies - add required dependencies - remove unnecessary lazy activation headers Change-Id: I308e0b1f380fbc02a64f1c94ea13388c70baa93b Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2018-08-13Avoid refresh on up-to-date pull operationMichael Keppler1-4/+11
Previously we only checked the merge result for being up-to-date. Up-to-date rebase results were simply forgotten and led to a full refresh of the workspace projects. Bug: 537813 Change-Id: I1277b55e96dd58739ac453e4b66bce493ae3c27c Signed-off-by: Michael Keppler <Michael.Keppler@gmx.de>
2018-08-13refactor: simplify collection.toArray()Michael Keppler19-24/+24
On recent VMs, collection.toArray(new T[0]) is faster than collection.toArray(new T[collection.size()]). Since it is also more readable, it should now be the preferred way of collection to array conversion. https://shipilev.net/blog/2016/arrays-wisdom-ancients/ Change-Id: If0c3202aa3ebb2d4e4ea68da8fe431cd8f363826 Signed-off-by: Michael Keppler <Michael.Keppler@gmx.de>
2018-08-09Merge remote-tracking branch 'origin/stable-5.0'Thomas Wolf1-0/+2
* stable-5.0: Ensure that JSch knows HostKeyAlgorithms ssh-rsa and ssh-dss Change-Id: I125bd46077ed59f7b2810b338856b527035f3029 Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
2018-08-09Handle cancellation of rename detectionMatthias Sohn1-2/+9
Bug: 536324 Change-Id: I54cbb02e8b0160079eb6bcce47869f090de81325 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2018-08-08Ensure that JSch knows HostKeyAlgorithms ssh-rsa and ssh-dssThomas Wolf1-0/+2
Without these registrations, JSch's up-front checks which algorithms are available at all fail if the ssh config explicitly sets only these algorithms. Bug: 537790 Change-Id: I1e088447c0ce68aea1bb7bf573d7a1e78713b019 Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
2018-08-02Prepare 5.0.3-SNAPSHOT buildsMatthias Sohn2-40/+40
Change-Id: I2da458c6eabca038ac7bfb1b4b1ccc36527359e2 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2018-08-02EGit v5.0.2.201807311906-rv5.0.2.201807311906-rMatthias Sohn2-2/+2
Change-Id: I80865c9494eff472c267f5c40fc99383af9be75f Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2018-07-24Hide $GIT_DIR and friends from JGitThomas Wolf1-0/+73
Register an Eclipse-specific SystemReader that hides the git repository location environment variables. Otherwise JGit may try to use them when creating repositories (init, clone), which gives very surprising results if a user creates several repositories and these environment variables are defined for the Eclipse process. Bug: 537331 Change-Id: I20639f5a4fbd65f14ce39283e19a35ccf127c905 Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
2018-07-07mark more jobs as system or userMichael Keppler1-4/+4
When browsing some job creations, I noticed that some of the egit internal jobs are not marked as system or user. Change-Id: I8d557bcf5ccfc54e5d27e0f3c1f4455dc62a751a Signed-off-by: Michael Keppler <Michael.Keppler@gmx.de>
2018-07-02Do not refresh projects that use a PessimisticResourceRuleFactoryThomas Wolf1-1/+5
With some setups where the Eclipse workspace is inside the git working tree EGit may end up trying to refresh a project that needs the workspace root as scheduling rule for a refresh. EGit generally uses multi-rules containing affected projects, though, and thus it may run into an IAE in that case. EGit-managed projects use an optimistic rule factory that uses the project itself as scheduling rule. So do normal unshared projects. So this can only occur if there are projects inside the git working tree that are not shared with EGit but with some other provider that does not use an optimistic rule factory. This is a rare occurrence, and such projects had better be git-ignored, too. Not refreshing such projects is a thus viable approach. Bug: 536472 Change-Id: I17c06fd69e232a7b864a98c4e95598fa7ab6b7b0 Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
2018-06-22Prepare 5.0.2-SNAPSHOT buildsMatthias Sohn2-40/+40
Change-Id: Ia23aad588d3a82c4f3c977123180a05916cec0b0 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2018-06-21EGit v5.0.1.201806211838-rv5.0.1.201806211838-rMatthias Sohn2-2/+2
Change-Id: I72343949948b8461813a4c5168bafb0ae8304e53 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2018-06-18Merge remote-tracking branch 'origin/stable-5.0'Thomas Wolf1-9/+11
* origin/stable-5.0: Don't warn about LFS if LFS bundle is not present. Change-Id: Ie56c256ac828a783f1541095913016b919d6a8ed Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
2018-06-18Don't warn about LFS if LFS bundle is not present.Thomas Wolf1-9/+11
Bug: 535954 Change-Id: Ib26d895085cebe537f0cdf30a8a355a81ac472bc Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
2018-06-16Batch resource refreshesThomas Wolf1-5/+8
Wrap multiple resource refreshes in an IWorkspaceRunnable with IWorkspace.AVOID_UPDATE to avoid a flood of resource change events. Most operation that do refresh parts of the workspace already did that, but a few didn't. Wrap those as appropriate. Bug: 535950 Change-Id: I1d1028544f70d5211e91c962900cf51d81cad725 Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
2018-06-14Fix missing optional import of jgit.lfs in egit.core MANIFEST.MFThomas Wolf1-0/+1
Merge commit 3a25cb61 [1] lost the optional import of jgit.lfs. Re-add it. Bug: 535917 Change-Id: Ifc1735b30978efb0c693640a7d38fb08ec4fe368 Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
2018-06-13Merge branch 'stable-5.0'Matthias Sohn7-19/+54
* stable-5.0: Prepare 5.0.1-SNAPSHOT builds EGit v5.0.0.201806131550-r Fix merge of wrong patchset of "EGit integration for LFS" Prepare 5.0.0-SNAPSHOT builds EGit v5.0.0.201806131210-r Update documentation for 5.0 EGit integration for LFS Downgrade Apache httpclient to 4.5.2.v20170210-0925 Handle new CommandFailedException when execution of ssh command fails Fix target platform Revert "Update staging view on repository config changes" Update to latest Photon Orbit R20180606145124 Use hash lookup for TreeViewers Prepare 5.0.0-SNAPSHOT builds EGit v5.0.0.201806050710-rc3 Fix AssumeUnchangedOperation not working on directory/project Change-Id: Ideee702514592028c5757b976237f35f4eea32bf Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2018-06-13Prepare 5.0.1-SNAPSHOT buildsMatthias Sohn2-40/+40
Change-Id: I344cd75d3b44fbeebe87de555a98066f57e27f03 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2018-06-13EGit v5.0.0.201806131550-rv5.0.0.201806131550-rMatthias Sohn2-2/+2
Change-Id: I6b046484f48916052bf74dd015e9ece545e4308a Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2018-06-13Prepare 5.0.0-SNAPSHOT buildsMatthias Sohn2-2/+2
Change-Id: I59be07483080554d69b5737f977f0a6433963658 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2018-06-13EGit v5.0.0.201806131210-rMatthias Sohn2-2/+2
Change-Id: Ib61537201fe182218e8ea4e3ddce6222a80c0f9c Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2018-06-13EGit integration for LFSMarkus Duft7-13/+42
* Register builtin LFS on startup When EGit starts and the lfs bundle (org.eclipse.jgit.lfs) is available register the LFS implementation and check configuration. * Allow install (enablement) of LFS support in Preferences (global) and on the repository (local). * Apply smudge/clean filters where applicable and required. * LFS integration using built-in JGit lfs filters fully works when using Gerrit with lfs plugin using ssh protocol. * Pushing lfs objects over http still fails with 401 response code, this is tracked in JGit bug 535814 Change-Id: I465da0f1c7f88272d3ec0e6545eea582eae631ec Also-by: Christian Halstrick <christian.halstrick@sap.com> Signed-off-by: Markus Duft <markus.duft@ssi-schaefer.com>
2018-06-12Handle new CommandFailedException when execution of ssh command failsMatthias Sohn1-1/+2
Change-Id: I530741244439c0e3ffa2e543620cfd8be62c2e8a Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2018-06-05Prepare 5.0.0-SNAPSHOT buildsMatthias Sohn2-2/+2
Change-Id: Id81ae5fcbdf351c56ca84d8355c0b8f4042dc8bb Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2018-06-05EGit v5.0.0.201806050710-rc3v5.0.0.201806050710-rc3Matthias Sohn2-2/+2
Change-Id: I830741837622e4014235a6a04d473198022bdf73 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2018-06-04Do not display "[NO-HEAD]" for empty repositoryThomas Wolf1-5/+3
After a new repository has been created, its "master" branch is an unborn branch. EGit showed "NO-HEAD" in the decorations for this case. This is confusing for novices and looks like something went wrong. The canonical implementation shows after "git init; git status": "On branch master" and "Initial commit". So let's display "master" in this case, too. Reserve the "NO-HEAD" for cases where there is really no HEAD. Also show such a HEAD in the repositories view under "References" and decorate it as "[master] unborn; will be created by commit". Limit showing such a HEAD to the repositories view: the content provider is used in other places where such a HEAD node would only cause confusion or malfunctioning. Use an extension factory to create the content provider for the repositories view; in this way the new behavior can be enabled there only without having to touch all the other places where this content provider is used. Adapt the label provider to handle the new case, and ensure that the history page doesn't get confused and broken if HEAD is such an unborn branch. In the staging view, use the the warning message label above the commit message text area to tell the user that this commit will create the still unborn branch. Bug: 533596 Change-Id: Ifd0547a156f0a5616ce7e032ea8daebd2596f31e Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
2018-06-02Fix AssumeUnchangedOperation not working on directory/projectMatthias Sohn1-5/+11
This fixes the regression introduced by https://git.eclipse.org/r/#/c/102471/ Bug: 529141 Change-Id: I49c716128861110350a8a5fe5e33a072453c6536 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2018-05-30Prepare 5.0.0-SNAPSHOT buildsMatthias Sohn2-2/+2
Change-Id: Ib418b88ee8e348c3020e0e9cafbf21fe554cc076 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2018-05-30EGit v5.0.0.201805301535-rc2v5.0.0.201805301535-rc2Matthias Sohn2-2/+2
Change-Id: I53299d92926e128e3b3c59190c2147d74cf9a9b5 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2018-05-29Merge branch 'stable-5.0'Matthias Sohn147-306/+660
* stable-5.0: Fix description property in org.eclipse.egit-feature/feature.properties Update license to EPL-2.0 Add tracing of low-level JSch log messages Change-Id: I2bd4012226097efc8826db3396cccd9e423a283d Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2018-05-29Update license to EPL-2.0Matthias Sohn146-308/+606
Bug: 530393 Change-Id: Iea3b247253a97c28043187df0e35daecf518011e Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2018-05-28Add tracing of low-level JSch log messagesThomas Wolf4-1/+57
Currently there is no way in Eclipse to get hold of the log messages JSch produces. But those might be useful to analyze connection problems. So add debug logging via the OSGi debug trace mechanism; a user can switch this on by enabling tracing in the preferences (Preferences->General->Tracing) and then setting the flags for org.eclipse.egit.core/debug and org.eclipse.egit.core/debug/core/jsch to true. Change-Id: I4c9befbca0330671050fae60efafd72d9925825e Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
2018-05-23Prepare 5.1.0-SNAPSHOT buildsMatthias Sohn2-39/+39
Change-Id: I5b4427a73f05ed2144d886acb37640fc714757bc Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2018-05-22Prepare 5.0.0-SNAPSHOT buildsMatthias Sohn2-2/+2
Change-Id: I7aa21538b1340e8499390e4d543ab0a768c4934b Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2018-05-22EGit v5.0.0.201805221745-rc1v5.0.0.201805221745-rc1Matthias Sohn2-2/+2
Change-Id: I5deced0bacd81c5590e81e3aa9bc269d8a4e3f77 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2018-05-22Merge branch 'stable-4.11'Matthias Sohn1-2/+8
* stable-4.11: Don't try to store incomplete credentials in secure store Change-Id: I01bdf89103bbf5cd9a9576689c324d78ceac38a7 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2018-05-13Ignore IndexChangedEvent if it originates from the same JGit processMatthias Sohn4-6/+6
Repository.scanForRepoChanges() fires an IndexChangedEvent when the index file was modified. Since JGit now fires fine grained WorkingTreeModifiedEven indicating exactly which files have been changed we should only handle IndexChangedEvents originating from external git commands in order to avoid double processing. Change-Id: Id28c26b5fe08c0466ae8680c7385cfa0901ae4e6 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2018-05-13Improve asynchronous Eclipse workspace refreshes done by EGitThomas Wolf1-3/+26
EGit uses two asynchronous workspace refreshes: one to keep the Eclipse resource tree in sync with changes made by JGit through the normal java.io interfaces, which is particularly important when previously deleted files are restored, and a second one to catch changes made in a repository outside of Eclipse via git. Both are implemented in the EGit UI Activator. The previous implementation refreshed on index changes. This refreshed far too often -- we actually need to refresh only when something in the git working tree changes. It also refreshed way too much since it did full refreshes of all projects from a repository. And it ran all these refreshes in a single workspace operation holding the workspace lock. The net result of all this were very noticeable delays, in particular on Windows. For instance, staging and unstaging files in the staging view could get blocked on the refresh for many seconds. Change [1] makes JGit send events when it modifies anything in the git working tree. These events contain the precise paths of all modified or deleted files. With that information, EGit can figure out much more precisely which parts of the Eclipse workspace to refresh, and since JGit will never report changes to git-ignored files, EGit will never even try to refresh those. This implementation does away with the global workspace lock for refreshes. IResource.refreshLocal() will acquire an appropriate scheduling rule on its own. Tested on Windows with the setup described in bug 500106 (the unbearable slowness was most pronounced on Windows): with a git- ignored folder containing 50000 files, operations outside of that folder (staging/unstaging files, replace with head, ...) are now fast on Windows, too. [1] https://git.eclipse.org/r/#/c/100916/ Bug: 500106 Change-Id: Ia97df24e7a3b6fbf89bc55cbcce1a61b8ef8d4fb Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
2018-05-12Allow cherry-picking merge commitsThomas Wolf1-0/+19
If the commit to be cherry-picked is a merge commit, ask the user to choose the parent commit to define the changes to be applied. Then pass on the chosen parent (index) to JGit's CherryPickCommand. Bug: 531953 Change-Id: I1d9eb551d6db5ad39a4a5d96a0196cfd3f4f4e95 Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
2018-05-12Merge "Respect gitattributes in the compare editor"Matthias Sohn12-72/+301
2018-05-05Respect gitattributes in the compare editorThomas Wolf12-72/+301
Apply smudge/clean filters. Store the filters to be applied when we create the internal GitBlobStorage and apply them when the stream is opened. Unfortunately this requires quite a few interface changes to pass through CheckoutMetadata. Adds tests for the new behavior, including index edits. Bug: 520693 Change-Id: If7696501f3e1b8f6d99518915b7292e268d656bd Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
2018-05-05Replace deprecated getRefs() callsMichael Keppler2-17/+14
getRefs() was recently deprecated for a new method getRefsByPrefix() in I4c92f852e8c1558095dd460b5fd7b602c1d82df1. This change redirects the majority of calls to the new method. 12 calls have not been replaced, since they are either part of public API or they actually use the keys of the formerly returned maps. Change-Id: Ie975212e7ebe4225de920043522d8d63a9bea229 Signed-off-by: Michael Keppler <Michael.Keppler@gmx.de>
2018-04-19Handle Gerrit Change-Ids for merge commitsThomas Wolf1-0/+6
Otherwise successful, non-conflicting merges will never get a Gerrit Change-Id. Bug: 358206 JGit-Dependency: I9b599ad01d9f7332200c1d81a1ba6ce5ef990ab5 Change-Id: I96f1bdc718842a2aa3489be97a9628506ece5800 Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>

Back to the top