Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "EGit/Differences to Git"

m
m (linkify some of the items)
 
(10 intermediate revisions by 3 users not shown)
Line 1: Line 1:
= Differences to Git  =
 
 
 
Main differences between original (command line, C) Git and JGit (EGit).  
 
Main differences between original (command line, C) Git and JGit (EGit).  
  
* JGit does not yet support 'stash'. This is planned for the final 1.3 release. Simple stash/unstash can be handled with an external launcher using command-line Git.  
+
*JGit does not support any SVN bridging operations. There is a feature request discussed in [https://bugs.eclipse.org/bugs/show_bug.cgi?id=315264 bug 315264]. The most common ones (svn rebase, svn fetch, svn dcommit) can be handled with external launchers.  
* JGit does not support any SVN bridging operations and there are no plans to add it. The most common ones (svn rebase, svn fetch, svn dcommit) can be handled with external launchers.
+
*JGit does not support bundles in any way - they can't be created pulled, or queried. There are no current plans to add bundle support.  
* JGit does not support bundles in any way - thet can't be created pulled, or queried. There are no current plans to add bundle support.  
+
*JGit supports the [http://git-scm.com/docs/merge-strategies merge strategies] "resolve" and "recursive"
* The only supported merge strategy is 'resolve'. Since the default strategy in command-line Git is 'recursive'in the most common case (pulling or merging one branch) you might well get different behavior from an egit merge or pull.  
+
*JGit is missing support for a number of [https://git-scm.com/docs/git-config configuration settings], including most of the ones related to merging. Some of them:
* JGit is also missing support for a number of configuration settings, including most of the ones related to merging. It also lacks support for 'core.autocrlf', which is is important for cross-platform development. This is planned for 1.3.  
+
**'push.default' no supported.
* Hooks are not currently supported.  
+
*[https://git-scm.com/docs/githooks Hooks] are not currently supported.  
* Submodules are not currently supported.  
+
*Creation of light-weight and signed tags is not supported ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=386908 bug 386908]).
* When a directory is deleted from the working set, JGit will immediately remove it from the working tree and stage the deletion of the files. If you want to undo this you must manually recreate the deleted directory first. At that point you can use standard egit tools to recover the deleted files. [this one might be obsolete]
+
*Creation of  signed commits is not supported ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=382212 bug 382212]).
 
+
*When a directory is deleted from the working set, EGit will immediately remove it from the working tree and stage the deletion of the files. If you want to undo this you must manually recreate the deleted directory first. At that point you can use standard egit tools to recover the deleted files. [this one might be obsolete]
See also [https://github.com/reshapiro/DVCS/blob/master/git/egit-notes.txt] section 2. JGit and missing features.
+

Latest revision as of 03:58, 9 October 2015

Main differences between original (command line, C) Git and JGit (EGit).

  • JGit does not support any SVN bridging operations. There is a feature request discussed in bug 315264. The most common ones (svn rebase, svn fetch, svn dcommit) can be handled with external launchers.
  • JGit does not support bundles in any way - they can't be created pulled, or queried. There are no current plans to add bundle support.
  • JGit supports the merge strategies "resolve" and "recursive"
  • JGit is missing support for a number of configuration settings, including most of the ones related to merging. Some of them:
    • 'push.default' no supported.
  • Hooks are not currently supported.
  • Creation of light-weight and signed tags is not supported (bug 386908).
  • Creation of signed commits is not supported (bug 382212).
  • When a directory is deleted from the working set, EGit will immediately remove it from the working tree and stage the deletion of the files. If you want to undo this you must manually recreate the deleted directory first. At that point you can use standard egit tools to recover the deleted files. [this one might be obsolete]

Copyright © Eclipse Foundation, Inc. All Rights Reserved.