首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SVN外部(或类似的)与共享文件在一棵树中?

SVN外部(或类似的)与共享文件在一棵树中?
EN

Stack Overflow用户
提问于 2012-06-03 14:09:24
回答 2查看 638关注 0票数 0

所以我想解决这个难题。我是一个独立游戏开发人员,在任何时候与团结游戏引擎一起工作的6-7客户端项目。我遇到的问题是在项目之间保持共享代码同步--我目前的解决方案非常“手动”,而且耗时(而且当我忘记更新所有内容时容易出错)。我开始研究SVN外部作为解决方案,但有一个问题。统一游戏引擎使用*.meta文件来维护有关文件在每个游戏中的使用方式的数据。

作为一个简单的例子,下面是一个示例文件夹结构:

项目1:

  • ROOT
  • ROOT/Assets
  • ROOT/Assets/SharedCode
  • ROOT/Assets/SharedCode/SharedScript.cs
  • ROOT/Assets/SharedCode/SharedScript.meta

项目2:

  • ROOT
  • ROOT/Assets
  • ROOT/Assets/SharedCode
  • ROOT/Assets/SharedCode/SharedScript.cs
  • ROOT/Assets/SharedCode/SharedScript.meta

显而易见的/立即的解决方案是将我的"SharedCode“文件夹设置为SVN外部文件夹。出现的问题是,SharedScript.cs文件在两个项目上都应该是相同的,但是SharedScript.meta文件是特定于项目的,由游戏引擎自动生成(所以我不能说,将我的所有元文件存储在"SharedCode“文件夹之外的某个文件夹中)。

这里有数百个这样的文件,所以我希望有一个解决方案,它不需要将每个“共享”文件作为一个外部SVN来处理。

我目前丑陋的解决方案是将整个项目树保存在SVN中,并且我有一个子文件夹,它是一个GIT,它忽略了.meta文件。不过,这很难看,我经常提交/更新主项目,忘记提交/推/拉git“库”项目。

如有任何建议,将不胜感激!

EN

回答 2

Stack Overflow用户

发布于 2012-10-15 08:40:26

为什么不对代码使用一个版本控制系统,对统一项目的资产使用一个版本控制系统呢?然后,对需要在项目之间共享的代码使用svn:externals。

您可以忽略项目中的元文件,并使用git对元文件进行版本化。

票数 4
EN

Stack Overflow用户

发布于 2012-06-03 16:06:49

为什么不将您的"SharedCode“文件夹设置为SVN外部-但是没有"SharedScript.meta”文件(以及任何其他特定于项目的/自动生成的文件)。

现在让SharedCode.csproj指向一个不存在的文件"$(SolutionDir)/<(blah)/SharedScript.meta“。您只需手动编辑csproj即可。请注意,您的所有解决方案现在都必须将这个元文件生成到这个相对路径。

现在,当您将这个csproj添加到您选择的解决方案中时,您需要设置项目依赖项,以便在构建"SharedScript.meta“项目之前生成"SharedCode”文件。现在不应该有任何问题。

希望这能帮上忙!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10871030

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档