我遇到了Perfarce扩展的问题,我似乎无法通过.我最初通过以下方式克隆了我的P4仓库的一部分:
hg clone --startrev 71555 p4://perforce:1666/greg_nt_main-hg lwnthg
Run Code Online (Sandbox Code Playgroud)
我选择了一个start rev,这只是目前主要版本背后的一些变更列表 - 尝试没有startrev的完整克隆不起作用,但这是一个单独的问题,我可能会单独写一下.
在克隆过程中,我收到以下错误:
"abort:untracked file in working directory differs from requested revision on 'MAIN/apps/Win32/BenchMark/Jamfile'”
Run Code Online (Sandbox Code Playgroud)
但是,在检查我的磁盘上出现的内容时,看起来所有文件实际上都已成功克隆.提到的文件与Peforce中的文件相同,并且lwnthg文件夹在克隆过程之前为空.'hg status'显示了许多尚未提交的文件 - 我猜是因为克隆已中止?所以我承诺了,所有人看起来都很棒.
我对我的文件进行了一些编辑,将它们提交到本地仓库而没有任何问题.我喜欢Mercurial的可爱;)
但当我将我的更改推回到Perforce时,我收到以下错误:
abort: no p4 changelist revision found
Run Code Online (Sandbox Code Playgroud)
我确认我有一张有效的P4登录票,P4已经启动等等,一切正常.
所以我的猜测是,Perfarce存储了它最后同步到P4的更改列表,并且第一次中止发生在此信息写出之前.如果我尝试从P4进行拉动操作,我也会得到同样的错误.假设我的理论是正确的,有没有办法在本地Perfarce配置中重建这些信息?
注意 'Perfarce'不是拼写错误.它是链接到Perforce 的Mercurial扩展名.如果你把它改成'Perforce',这个问题会失去一些意义.在尝试澄清问题时欣赏帮助,但总是值得先检查事实:)
我本质上是在寻找一种管理特定分支的写入权限的方法。
这可以在提交之前(本地),也可以在提交之后但推送之前(远程)。
我需要保护某些分支不被写入,以便强制执行发布分支只能由某些人编辑的工作流程。