我的项目有一个网络文件系统上的Subversion版本库,以及一个新的团队想使用Git从它来访问它,并能够承诺,并得到更新。自动同步Subversion版本库和一个Git仓库
我想到的是在同一个网络文件系统上创建Subversion版本库的新版本git-svn
,并确保两个版本库始终保持最新。
做到这一点的方法可能是添加一个post-commit钩子两个颠覆和新的Git仓库,将每个更新其他的存储库。
颠覆post-commit钩子将包括git svn rebase
,和GIT中一个git svn dcommit
。
的问题是,我将不得不使用某种类型的锁,以确保没有人提交要么库,而其他也正在致力的,因为他们总是要同步的任何承诺之前。这有几个缺点,其中包括提交到Subversion或推送到Git存储库所需的时间(它必须等待挂钩完成),以及某些用户可能无法运行的事实(因为它没有安装在他们的机器上),这意味着它们在提交/推送时不能更新其他存储库。
我该如何解决这些问题? Subversion和Git钩子会是什么样子?
'git config hooks.denycreatebranch false' @丹尼尔你的意思是“真”吗? – basin 2013-04-22 11:10:25
@basin是的,我想是的。谢谢。 – 2013-04-22 12:57:08