我们目前有一个包含一堆数据(〜20Gb)的Subversion服务器。但是,每个人都使用git svn与该服务器交谈。从git-svn迁移到纯git
我们希望转向使用纯粹的git,但我们不想为此设置一个服务器,只需在文件共享上安装git存储库。
设置它的最佳方法是什么?理想情况下,文件服务器上的版本应该是“裸露”的存储库,但理想情况下,也可以将svn更新拉一点,因为在克隆时可能会完成一些提交。
[注:一切都是窗口]
我们目前有一个包含一堆数据(〜20Gb)的Subversion服务器。但是,每个人都使用git svn与该服务器交谈。从git-svn迁移到纯git
我们希望转向使用纯粹的git,但我们不想为此设置一个服务器,只需在文件共享上安装git存储库。
设置它的最佳方法是什么?理想情况下,文件服务器上的版本应该是“裸露”的存储库,但理想情况下,也可以将svn更新拉一点,因为在克隆时可能会完成一些提交。
[注:一切都是窗口]
如果你想拥有一个纯粹的“裸”的Git与SVN仓库同步服务器,你可以尝试SubGit。
不仅每个SVN更新都会进入它,反之亦然:每次对Git存储库的推送都会被转换为SVN。
要设置这面镜子来看
$ subgit configure --svn-url SVN_PROJECT_ROOT_URL --layout auto --trunk trunk repo.git
然后调整repo.git/subgit/config中根据自己的需要,然后运行
$ subgit install repo.git
后,如果您可以直接克隆repo.git:
$ git clone repo.git wt/
或设置对其的访问例如与git-http-backend
一起使用,并与正常的Git存储库一起使用。
有关更多详细信息,请参见Quick Howto。
声明:我是SubGit开发人员之一。
嗯.....我猜你可以在服务器上设置一个回购站,你可以设置一个cronjob(或计划任务,不管),它将运行git svn fetch来同步svn上显示的内容然后移动一个“本地”分支到svn分支,以便人们可以“看到”它们。使用git的开发人员可以将此回购作为远程(例如:origin或“mainrepo”)添加,然后它就成为了解您将如何设置回购以开始分享内容的问题(这本身就是一个整体主题)。
我没有管理员权限到svn仓库。这是否意味着我无法自动配置svn-> git更新? – xorsyst
它根本不需要管理员权限,它只是一个SVN客户端。你需要的是在“subgit configure”步骤之后立即在subgit/passwd中设置密码,或者将凭证缓存在Subversion主目录中(通常情况下,如果SVN没有要求输入密码,就已经存在)。 –