commit | 674e990b88c992d517f706314cdc5e780b4c767f | [log] [tgz] |
---|---|---|
author | Thomas Wolf <thomas.wolf@paranor.ch> | Mon Oct 17 09:18:15 2016 +0200 |
committer | Matthias Sohn <matthias.sohn@sap.com> | Wed Oct 19 00:14:56 2016 +0200 |
tree | 2891e87fd2fa266114cd4aac393cdd34048857ec | |
parent | f9bf65864c70e585bf1bcfa0149195714e4441a4 [diff] |
Fix drag&drop in staging view Drag&drop offers a FileTransfer, but considered only StagingEntries. If only StagingFolderEntries were selected, the resulting FileTransfer would be empty, which is not allowed and produces a SWTException, making the drag&drop fail. This is especially devastating on GTK, where the FileTransfer sometimes gets created up front, and thus even drags between our own two viewers failed frequently. On Mac, the FileTransfer is created lazily when hovering over an item (such as a Finder window) that accepts such transfers, and the problem thus went largely unnoticed there. Fix this by also considering folders and including the staged or unstaged files contained in those folders when creating a FileTransfer. Transfer creation may still fail and log an exception if the selection includes only deleted files. In my tests on GTK, drag&drop of deleted files between the staged and unstaged viewer worked all the same. Also reduce code duplication by factoring out the creation of the staged and unstaged viewers into a common method. Additionally, ensure that dropping onto the same staged or unstaged viewer the drag&drop initially started from is a no-op; otherwise this did inadvertently stage/unstage other files contained in selected folders. Bug: 453637 Bug: 505923 Change-Id: I3016da202f7d02365374fd9b90ca3537e277ece1
EGit is an Eclipse plugin for working with Git repositories. It is based on the JGit library, which is a Git implementation in pure Java.
This package is licensed under the EPL. Please refer to the LICENSE file for the complete license.
This package is composed of the following major components:
org.eclipse.egit.core
An Eclipse plugin providing an interface to org.eclipse.jgit and support routines to allow processing against the Eclipse workspace and resource APIs, rather than the standard Java file APIs. It also supplies the team provider implementation.
org.eclipse.egit.ui
An Eclipse plugin providing the user interface on top of org.eclipse.egit.core.
org.eclipse.egit.core.test
Unit tests for org.eclipse.egit.core.
org.eclipse.egit.ui.test
UI tests for org.eclipse.egit.ui.
org.eclipse.egit
A plugin for packaging
org.eclipse.egit-feature
Also packaging. This project is for building an Eclipse “feature” out of the plugins above.
org.eclipse.egit.repository
This package is for producing a p2 repository, i.e. a web site you can point your eclipse at and just upgrade.
There are other components which provide integration with other plugins.
Symbolic links are supported on Java 7 and higher and require that the optional JGit Java 7 feature is installed. For remaining issues with symbolic link support see https://bugs.eclipse.org/bugs/show_bug.cgi?id=429304.
CRLF conversion works for some things, but is in general still being worked on.
In general, EGit supports at least the latest two Eclipse releases. For details, please see https://wiki.eclipse.org/EGit/FAQ
Newer version of EGit may implement new functionality, remove existing functions and change others without other notice than what is written in the commit log and source files themselves.
The following list is not complete, but it gives an overview of the features:
org.eclipse.egit.core
Supplies an Eclipse team provider.
Connect/disconnect the provider to a project.
Search for the repositories associated with a project by autodetecting the Git repository directories.
Store which repositories are tied to which containers in the Eclipse workspace.
Tracks moves/renames/deletes and reflects them in the cache tree.
Resolves through linked containers.
org.eclipse.egit.ui
Connect team provider wizard panels.
Connect to Git team provider by making a new repository.
Connect to Git team provider by searching local filesystem for existing repository directories.
Team actions: track (add), untrack (remove), disconnect, show history, compare version.
Resource decorator shows file/directory state in the package explorer and other views.
Creating new commits or amending commits.
View for staging changes (whole files and partial staging), showing their differences and committing them.
Graphical history viewer with the ability to compare versions using eclipse built-in compare editor.
Clone, push, pull, fetch
Merge, rebase, cherry-pick
gitattributes support
In particular CRLF conversion is not yet fully implemented.
Post question or comments to the egit-dev@eclipse.org mailing list. You need to be subscribed to post, see here:
https://dev.eclipse.org/mailman/listinfo/egit-dev
See the EGit Contributor Guide:
http://wiki.eclipse.org/EGit/Contributor_Guide
More information about Git, its repository format, and the canonical C based implementation can be obtained from the Git websites: