【问题标题】:Qt/C++ project VS2010 svn-commit&update .slnQt/C++项目VS2010 svn-commit&update .sln
【发布时间】:2013-03-19 15:03:47
【问题描述】:

在 C++ VS2010 项目中使用 Tortoise-svn。我想知道在哪些情况下您要提交 .sln 文件。

我看到提交 .sln 文件的一些原因:

  • 一些项目已添加到解决方案中
  • 已修改依赖项

提交 .sln 的其他原因是什么? .sln 将如何合并?

另外,谁在生成 .sln 文件?它是在每个 qmake_all(或 make_all)生成的吗?

编辑

我正在使用 Tortoise SVN GUI。它应该告诉我 .sln 何时被我更改。

现在,.sln 是在什么情况下改变的?

还有:.sln 是如何合并的?

更务实的是,在哪种情况下,当我刚刚更新时,我应该接受我的还是接受他们的 .sln?

编辑

.sln 何时/如何从 .pro 文件生成?

编辑

为了让我的部分问题更清楚:

用tortoise svn更新后,如果.sln冲突,我应该

  • 接受我的(因为无论如何 .sln 将在我 qmakeall 时从 .pro 文件重新生成)或
  • 接受他们的(因为我的 .sln 不再是最新的)
  • 还是不重要

谢谢!

【问题讨论】:

  • 您的问题似乎与使用 qmake 的 Qt 和 *.sln 生成有关,您可能需要指出这一点。
  • 一个问题的问题太多,您需要将这些问题拆分为单独的问题并提出一个可以回答而不是讨论的问题

标签: c++ visual-studio-2010 qt svn solution


【解决方案1】:

对于我来说你不需要存储 sln 文件,因为 sln 文件是从你的 pro 文件派生的(换句话说 sln 是从 pro 文件生成的),所以考虑只存储主项目定义文件(这是一个pro 文件)并省略生成的工件。主要原因是当你决定改变开发环境(例如可以是mingw)时,你可以在pro文件的那一刻完成,并花费大量时间来转换sln文件。

【讨论】:

  • 谢谢! sln 何时从 .pro 文件生成?全部搞定?这是否意味着我在更新时应该始终在 svn 中为 .sln 选择 accept mine?过去,我在使用我的 .sln(svn:接受我的)时遇到了编译(执行?)的问题。
  • 考虑使用out source build,例如src是SVN控制的,vs2010是本地目录,包含vs解决方案和项目文件。要找出源解决方案,您应该进入 vs2010 并运行 qmake -tp vc ..\src\myproject.pro 在这种情况下,您不应该解决任何 svn 特定任务,因为生成的解决方案将超出 svn 范围。
  • 我没有完全理解你的回答。也许我不够清楚:在使用 tortoise svn 更新后,如果 .sln 有冲突,我应该接受我的(因为无论如何 .sln 将在我 qmakeall 时从 .pro 文件重新生成)还是接受他们的(因为我的 .sln 不是更新) - 还是不重要?谢谢!
  • 我的回答是“你没有将 sln 置于 svn 控制之下”,我描述了如何达到它。
  • 我想如果我不手动add.sln 和龟svn,那么它不会被添加到svn存储库中......不是那么简单吗?
【解决方案2】:

通常任何像 TutoiseSVN 这样的 svn GUI 都会检测到解决方案文件中的任何更改,并会警告您提交 .sln 文件,但如果您不使用此类 GUI,则可以通过打开 .sln 文件找到相关的解决方案参数使用 Notepad++ 之类的文本编辑器,您可以查看项目的所有变量

【讨论】:

    猜你喜欢
    • 2012-06-26
    • 1970-01-01
    • 2011-12-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多