我正在开始一个游戏开发项目,我的团队和我将使用 Mercurial 进行版本控制,我想知道存储游戏二进制 Assets 的更合适的方法是什么。基本上,我有两个选择:

  • Mercurial 2.1 有 largefiles extension ,但我不太了解。它似乎可以解决“存储库膨胀”问题,但不能解决二进制合并冲突问题。
  • 将二进制 Assets 保存在 SVN 结帐中,作为子存储库。这样我们就可以锁定文件进行编辑并避免合并冲突,但我真的很想避免使用 2 个版本控制系统(尤其是我不太喜欢的一个)。

  • 我没有想到的任何见解/建议或其他选择?

    最佳答案

    正如您猜测的那样,large files 会满足您的需求。对于合并二进制文件,您可以 set up a merge tool if one exists for your file type 。像这样的东西:

    [merge-tools]
    mymergetool.priority = 100
    mymergetool.premerge = False
    mymergetool.args = $local $other $base -o $output
    myimgmerge = SOME-PROGRAM-THAT-WILL-MERGE-IMAGES-FOR-YOU
    [merge-patterns]
    **.jpg = myimgmerge
    **.exe = internal:fail
    

    但总的来说,使用源代码控制工具合并非文本内容总是很痛苦。数字 Assets 管理应用程序的存在是为了减轻痛苦,但它们不是去中心化的,也不是很适合工作。

    关于mercurial - 如何使用 Mercurial 存储我的二进制 Assets ?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9220912/

    10-15 13:10