我们有一些开发人员推动服务器上的远程裸回购,并希望做一些类似于自动推送的操作,以便在该中央裸回购中使用git p4进行夜间执行。但是我遇到了一个障碍,因为它似乎无法在工作树之外运行git p4提交。git p4从裸仓库提交?
建议如何处理这种情况?
我们有一些开发人员推动服务器上的远程裸回购,并希望做一些类似于自动推送的操作,以便在该中央裸回购中使用git p4进行夜间执行。但是我遇到了一个障碍,因为它似乎无法在工作树之外运行git p4提交。git p4从裸仓库提交?
建议如何处理这种情况?
我对每隔几分钟运行一次脚本做类似的事情,并在git和p4之间进行双向同步。但是如果没有检出的git树和p4回购库,git-p4就无法工作。在所有你结束了3个版本的源:
开发人员使用名为'dev'的分支推送到裸Git回购(在gitolite上)。然后,每隔几分钟,还有,做一个脚本:
Gotchas
合并冲突。这些实际上很少发生,但可能会导致一些问题。 (1)和(5)之间的变化,我不得不在整个事情上添加一些锁定,以便开发人员不会丢失更改。锁定只是创建一个锁定目录,然后在其中一个钩子脚本中使用它来延迟推送。
RCS关键字。较新版本的'git p4'现在可以处理RCS关键字,但最初并没有,所以整个事情偶尔会因为合并冲突而卡住。
设置过程需要一段时间,但现在已经进行了18个月,100多名开发人员的事件很少。
它可能是最简单的不使用git-p4,但只是有一个结帐的git树,这也是一个强制结帐,并从那里脚本的一切? 即做一个git拉,分析输出编辑适当的文件,添加新的,删除删除的,然后提交到perforce?
嗨卢克,thx在这看起来很有希望。我会尝试一下,让你知道它是如何发生的。 – ruedaminute 2012-07-13 14:59:06