RW是否使用svn(git svn服务器)访问git存储库?
是否有一个程序可以像git svn那样工作,但是服务器上的存储库是git,开发人员使用svn 我知道github.com允许svn访问他们托管的git存储库,但看起来他们还没有发布这个开源项目(还没有?),使用他们的服务器对我来说不是一个选项(甚至不是他们的私有存储库) 编辑:我想我要找的是一个与“git cvsserver”类似的——git svnserver。在一些搜索中,我在git邮件列表中找到了一些2-3年前的线程,但看起来没有人取得重大进展。我希望有人能纠正我的错误RW是否使用svn(git svn服务器)访问git存储库?,svn,git,version-control,git-svn,Svn,Git,Version Control,Git Svn,是否有一个程序可以像git svn那样工作,但是服务器上的存储库是git,开发人员使用svn 我知道github.com允许svn访问他们托管的git存储库,但看起来他们还没有发布这个开源项目(还没有?),使用他们的服务器对我来说不是一个选项(甚至不是他们的私有存储库) 编辑:我想我要找的是一个与“git cvsserver”类似的——git svnserver。在一些搜索中,我在git邮件列表中找到了一些2-3年前的线程,但看起来没有人取得重大进展。我希望有人能纠正我的错误 目前是否有任何gi
目前是否有任何git svnserver项目正在进行中?我不喜欢重复的工作,但似乎是这样,但没有其他人可以重复。我相信
git svn
链接是由git驱动的(用于监视--rebase或dcommit--svn分支)。这意味着您可以首先在本地服务器上克隆所需的任何git repo(您也使用SVN),并将其用于本地git repo和SVN工作区之间的“
git SVN
”命令
一旦本地Git repo充分反映了您的SVN repo,您就可以返回到远程Git服务器。这是通过SVN协议为Git存储库提供服务的Python代码: 看一看 SubGit是服务器端解决方案,它支持Subversion访问Git存储库,反之亦然。有关更多详细信息,请参阅,但通常使用SubGit相当容易: SubGit需要本地访问您要推送到的Git存储库。在同一台计算机上创建Subversion存储库:
$ svnadmin create $SVN_REPOS
然后跑
$ subgit configure $SVN_REPOS
此命令创建$SVN_REPOS/conf/subgit.conf
文件,调整其git.default.repository
选项,如下所示:
[git "default"]
repository = /path/to/your/git/repository.git
您可以指定多个同步到单个Subversion存储库的Git存储库,只需添加必要的[Git“identifier”]
部分
您还可以指定任意存储库布局,例如,标准布局如下所示:
trunk = trunk:refs/heads/master
branches = branches/*:refs/heads/*
shelves = shelves/*:refs/shelves/*
tags = tags/*:refs/tags/*
您还可以调整$SVN\u REPOS/conf/authors.txt
以将SVN作者名称映射到git身份
在那次跑步之后:
$ subgit install $SVN_REPOS
$ ... let initial translation complete ...
$ TRANSLATION SUCCESSFUL
此时,您有了Subversion存储库及其Git对应项,它们是连续同步的,即SubGit在每次svn提交时立即将svn版本转换为Git提交
,在每次Git推送时将Git提交为svn版本
因此,您可以将更改提交到创建的Subversion存储库,并使所有更改与主Git存储库保持同步。正是您想要的。这是一个开源servlet库,SVN客户端可以访问Git存储库。我不确定这是否符合我的要求。这只适用于不想切换到git的同事,因为他们现在在svn中所做的只是签出/更新/提交。如果他们真的需要做更多的事情,有人可以通过实际使用git来控制他们。@dr可怕:这仍然可能是一个解决方案:像(另请参阅)这样的脚本可以为他们设置SVN历史记录,git repo就在那里,以便在被推回给其他git用户之前能够在本地git repo中恢复他们的SVN工作。向下:(有谁有镜子吗?我很想拿起这个项目。网站已经启动,但最后一次提交是20个月前。这看起来非常有用,但没有文档。有人知道一个例子、一个教程,或者至少是一个自述吗?谢谢分享!我会关注它,希望在它准备好投入生产时,我的公司y已经准备好尝试了。