偶尔出现的问题是确定您上次在Perforce中同步的更改列表的最佳方法.这通常需要通过自动构建系统将更改列表编号注入修订信息中.
我遇到的问题与此处描述的类似,但略有不同(加载程序集及其依赖项).
我有一个用于3D渲染的C++ DLL,这是我们向客户销售的产品.对于.NET用户,我们将有一个CLR包装器.C++ DLL可以在32位和64位版本中构建,但我认为这意味着我们需要有两个CLR包装器,因为CLR绑定到特定的DLL?
现在假设我们的客户有一个可以是32位或64位的.NET应用程序,并且它是一个纯粹的.NET应用程序,它让CLR从一组程序集中解决它.问题是应用程序代码如何在运行时动态选择我们的32位和64位CLR/DLL组合?
更具体地说,这里也适用于上述问题的建议答案(即创建一个ResolveEvent处理程序)?
我遇到了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',这个问题会失去一些意义.在尝试澄清问题时欣赏帮助,但总是值得先检查事实:)