Git-svn and Eclipse?

Is there a plugin for Eclipse for git-svn? I’m looking for a way to handle the SVN repo with Git (for fast branch switching etc.)

  • Files have different revision numbers in Eclipse (Subversion)
  • Post-commit hook failed (exit code 3) with output
  • Managing Android project using Git and Eclipse
  • How to deal best with SVN and local changes, that should not be committed?
  • Red arrow icon in subclipse
  • Can't fetch from private repository with EGit
  • File Management Server in JAVA
  • Git tag at the end of build on Visual Studio Online (Build vNext, hosted pool)
  • Change branch of GIT GUI
  • Visual Studio Tools for Git, Page not found, visual studio 2013.1
  • Check if current directory is a Git repository
  • Fast-forward, merge commit or merge to working tree, which is the right option to pick here?
  • 3 Solutions collect form web for “Git-svn and Eclipse?”

    It does not look like there is a Git plugin for Eclipse that supports git-svn yet.

    EGit appears to be the most active and popular Git plugin for Eclipse at the moment and it does not support git-svn, but there isn’t anything stopping you from using EGit with Eclipse and interacting with git-svn via command line (or via tortoise git for example).

    Eclipse bug 315264 is the EGit bug for supporting git-svn, and it looks like something that the maintainers of EGit are willing implement, but they have other priorities atm. So make sure you vote for this bug if you want the feature.

    EGit is the only Git plugin for Eclipse at the moment. It doesn’t support git-svn. But there is a way to make EGit work with your Subversion repository and this approach works well with any other Git client.

    SubGit is the server-side solution that enables Git access to your Subversion repositories as well as Subversion access to Git repositories. You may refer to SubGit documenation for more details, but in general they are quite straightforward:

    $ subgit configure --layout auto $SVN_URL $GIT_REPO
    # Adjust $GIT_REPO/subgit/config
    #     to specify your branches, tags and other settings
    # Adjust $GIT_REPO/subgit/authors.txt 
    #     to introduce svn author names to their git counterparts
    # Adjust $GIT_REPO/subgit/passwd
    #     in case you have no SVN credentials cached on your machine
    $ subgit install $GIT_REPO
    $ ... translating ... a little git is gonna born right here ... 
    $ TRANSLATION SUCCESSFUL
    

    After that:

    1. You have Git repository at $GIT_REPO synchronized with SVN repository at $SVN_URL; this sync is reliably bi-directional, i.e. both SVN and Git repositories remain writable and SubGit takes care of changes from both sides.

    2. SubGit has installed hooks into $GIT_REPO/hooks directory which are triggered on every git push to that repository.

    3. SubGit polls SVN repository in order to fetch new revisions.

    Please note that your teammates may use the same mirror for sending their changes to Subversion repository. In this case you should setup Git server, fortunately, SubGit supports virtually every Git server available at the moment:

    • Apache HTTP server with git-http-backend, GitLab, Gitosis, Gitolite: supported out of the box;
    • Atlassian Bitbucket Server: in this case you can use SVN Mirror add-on which is built on SubGit engine;
    • Gerrit: you’d need to install SubGit plugin for Gerrit in this case;

    Disclaimer: I’m SubGit developer; SubGit is commercial software with free options for small teams, Open Source and Academic projects.

    Although this question is 4 years old, I thought I would share my recently found workaround:

    1. Open “External Tools Configurations” (right next to “Run
      Configurations”
      ) and create a new “Program” configuration.
    2. For the working directory, choose your project from the workspace.
    3. Enter svn dcommit into the arguments textfield.
    4. Duplicate the configuration and replace svn dcommit by svn rebase.

    Now you can launch git svn dcommit and git svn rebase with two clicks.

    Git Baby is a git and github fan, let's start git clone.