参考:http://fableking.iteye.com/blog/1163590
相信 Redmine 是很多人在使用的档案管理系统,而Git,相信也是各种SCM里的大宗,而应该满多人使用 gitolite 来管理自己的git remote server的。
首先建立一个文件夹来存放我们待会要clone 的repository。
*这边开始以 /var/git-miroors
文件夹为例子:
再来我们要使用 git clone --mirror
建立一个原始repo的镜像:
接下来下一步,由于之后 git
使用者会透过post-receive
hook来同步两个repository,我们直接修改这个镜像
repository的owner / group为 git
来让它有读写权限。
在hook post-receive
设定git push到镜像repo的动作:
由于Git 在做mirror push 的时候,会保留原始的档案与文件夹存取权限,在gitolite 管理下,只有owner 有读写权限,所以一做mirror push 这个镜像的repository 就没办法被其他process 读取到了,所以我们一开始就要告诉这个mirror repository 它是被分享的,并且设定它应该要有的存取权限:
然后在Redmine 的Project / Settings / Repository 里,设定路径:
点选Project / Repository 等待一下,让Redmine 处理Repository 的信息,然后看到Repo 的信息: