团结与P4Connect

时间:2015-06-23 14:23:42

标签: version-control unity3d perforce perforce-client-spec

我刚为公司设置了Perforce服务器,我将为Unity项目存储一些软件仓库。我正在使用P4Connect插件在Unity中集成p4功能。

但是我在文件的提交阶段遇到了一些问题,弹出窗口上显示的确切错误是:

"Cannot submit files... Submit failed4, open P4V and make sure your files are in the default change list"

文件实际上已经在默认的更改列表中,遗憾的是P4Connect日志文件没有显示有关此错误的任何内容。

这些是我从创建软件仓库到提交尝试所做的步骤。

  1. 我使用P4Admin
  2. 在服务器上创建一个本地软件仓库
  3. 我确保我有足够的权限来访问/编辑软件仓库
  4. 使用P4V我创建一个新工作区,其根与库中的一个
  5. 相匹配
  6. 通过窗口浏览器,我将项目复制到工作区的根目录
  7. 我在Unity中打开工作区中的项目
  8. 在项目设置中,我启用了可见的图元文件
  9. 我从统一资产商店安装P4Connect
  10. 我配置它并确保它可以连接到服务器,并且工作区名称与我使用P4V创建的名称相匹配
  11. 直到现在一切正常,插件才能识别新文件
  12. 由于每个文件都是新的,我选择每个文件并点击“添加到仓库”
  13. 在Perforce选项卡中输入说明并单击提交
  14. 先前描述的错误显示
  15. 即使我尝试添加单个文件而不是整个项目,也会出现问题。

    这是抛出异常的callstack:

    NullReferenceException: Object reference not set to an instance of an object
    Perforce.P4.FileMetaData.op_Implicit (Perforce.P4.FileMetaData s) (at c:/tmp/53044412/depot/main/p4-connect/src/P4Bridge/p4api.net/FileMetaData.cs:866)
    Perforce.P4.Changelist.ToString () (at c:/tmp/53044412/depot/main/p4-connect/src/P4Bridge/p4api.net/Changelist.cs:584)
    Perforce.P4.Repository.SaveChangelist (Perforce.P4.Changelist change, Perforce.P4.Options options) (at c:/tmp/53044412/depot/main/p4-connect/src/P4Bridge/p4api.net/Repository.Changelist.cs:54)
    Perforce.P4.Repository.CreateChangelist (Perforce.P4.Changelist change, Perforce.P4.Options options) (at c:/tmp/53044412/depot/main/p4-connect/src/P4Bridge/p4api.net/Repository.Changelist.cs:331)
    Perforce.P4.Repository.CreateChangelist (Perforce.P4.Changelist change) (at c:/tmp/53044412/depot/main/p4-connect/src/P4Bridge/p4api.net/Repository.Changelist.cs:435)
    P4Connect.Engine.SubmitFiles (P4Connect.PerforceConnection aConnection, System.String aChangeListDescription, System.Collections.Generic.List`1 aFiles) (at c:/tmp/53044412/depot/main/p4-connect/src/P4Connect/P4Connect/P4Connect.Engine.cs:818)
    UnityEngine.Debug:LogException(Exception)
    P4Connect.Engine:SubmitFiles(PerforceConnection, String, List`1) (at c:/tmp/53044412/depot/main/p4-connect/src/P4Connect/P4Connect/P4Connect.Engine.cs:825)
    P4Connect.<>c__DisplayClassa:<SubmitFiles>b__8(PerforceConnection) (at c:/tmp/53044412/depot/main/p4-connect/src/P4Connect/P4Connect/P4Connect.PendingChanges.cs:917)
    P4Connect.Engine:PerformConnectionOperation(Action`1) (at c:/tmp/53044412/depot/main/p4-connect/src/P4Connect/P4Connect/P4Connect.Engine.cs:753)
    P4Connect.PendingChanges:SubmitFiles() (at c:/tmp/53044412/depot/main/p4-connect/src/P4Connect/P4Connect/P4Connect.PendingChanges.cs:917)
    P4Connect.PendingChanges:OnGUI() (at c:/tmp/53044412/depot/main/p4-connect/src/P4Connect/P4Connect/P4Connect.PendingChanges.cs:744)
    UnityEditor.DockArea:OnGUI()
    

    如果我使用P4V提交这些文件一切正常,但是我更愿意避免使用P4V,因为它没有与Unity集成,并使整个事情变得更加复杂。

    我做错了什么或有没有人遇到类似的问题并且知道如何解决这个问题? 我正在使用Unity 5.1.1f1和P4Connect 2.7(实际上是两者的最新版本)。

    由于

0 个答案:

没有答案