是否有用于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
之后:
Git库在$GIT_REPO与SVN库在$SVN_URL同步;这种同步是可靠的双向的,即SVN和Git的存储库都是可写的,并且SubGit会处理来自双方的更改。
SubGit已经在$GIT_REPO/hooks目录中安装了钩子,这些钩子会在每个
git push
到该存储库时触发。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年了,但我想我应该分享一下我最近发现的解决方法:
- 打开"外部工具配置"(在"运行配置),并创建一个新的"程序"配置。
- 对于工作目录,从工作空间中选择项目。
- 在参数文本框中输入
svn dcommit
- 复制配置,将
svn dcommit
替换为svn rebase
现在您可以启动git svn dcommit
和git svn rebase
点击两次。