Git-svn and Eclipse?



是否有用于git-svn的Eclipse插件?我正在寻找一种方法来处理SVN repo与Git(用于快速分支切换等)

看起来还没有一个支持Git -svn的Eclipse Git插件

EGit似乎是目前Eclipse中最活跃和最流行的Git插件,它不支持Git -svn,但没有什么能阻止你在Eclipse中使用EGit,并通过命令行(或通过乌龟Git)与Git -svn交互。

Eclipse错误315264是支持git-svn的EGit错误,它看起来像是EGit的维护者愿意实现的东西,但他们有其他优先级。所以,如果你想要这个功能,请务必为这个bug投票。

EGit是目前唯一一个用于Eclipse的Git插件。它不支持git-svn。但是有一种方法可以使EGit与Subversion存储库一起工作,并且这种方法可以很好地与任何其他Git客户端一起工作。

SubGit是服务器端解决方案,它允许Git访问Subversion存储库以及Subversion访问Git存储库。您可以参考SubGit文档了解更多细节,但总的来说它们非常简单:

$ 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
之后

:

  1. Git库在$GIT_REPO与SVN库在$SVN_URL同步;这种同步是可靠的双向的,即SVN和Git的存储库都是可写的,并且SubGit会处理来自双方的更改。

  2. SubGit已经在$GIT_REPO/hooks目录中安装了钩子,这些钩子会在每个git push到该存储库时触发。

  3. SubGit轮询SVN仓库以获取新的版本。

请注意,您的团队成员可能使用相同的镜像将他们的更改发送到Subversion存储库。在这种情况下,你应该设置Git服务器,幸运的是,SubGit支持几乎所有可用的Git服务器:

  • Apache HTTP server with git-http-backend, GitLab, Gitosis, Gitolite:开箱即用;
  • Atlassian Bitbucket Server:在这种情况下,你可以使用SVN镜像插件,它建立在SubGit引擎上;
  • Gerrit:在这种情况下,你需要为Gerrit安装SubGit插件;

免责声明:我是SubGit开发者;SubGit是一个商业软件,为小型团队,开源和学术项目提供免费选项。

虽然这个问题已经4年了,但我想我应该分享一下我最近发现的解决方法:

  1. 打开"外部工具配置"(在"运行配置),并创建一个新的"程序"配置。
  2. 对于工作目录,从工作空间中选择项目。
  3. 在参数文本框中输入svn dcommit
  4. 复制配置,将svn dcommit替换为svn rebase

现在您可以启动git svn dcommitgit svn rebase点击两次。

最新更新