【问题标题】:Why is my qt makefile overwritting my makefile after my switch from cvs to git?从 cvs 切换到 git 后,为什么我的 qt makefile 会覆盖我的 makefile?
【发布时间】:2013-01-25 13:06:31
【问题描述】:
cvs version 1.11.22
git 1.7.41
qt 3.3.3
qt 3.3.6
Red Hawk 5.4.12 (from uname)
gmake (???? the machines in question are not connected to the internet and are hard to update)

为了证明我们从 cvs 到 git 的转换进展顺利,我从 cvs checkout 和 git checkout 构建了一个。

但是现在我们注意到 git 被 qt makefile 覆盖了 cvs 和 git 存储库都有正确的文件,但只有 git 版本显示 makefile 被重新生成(并且错误)。

想去哪里找?

【问题讨论】:

  • 您是如何从 CVS 迁移到 git 的? git仓库有什么特殊配置吗?
  • Re: 更新机器:您不能通过 DVD 或大型随身碟获得更新包存储库的副本吗?在许多情况下,“神秘问题”早已在上游得到解决......
  • 所以在向这里的好心人提出这个问题之后。我去实验室研究它,我很难重现它但我有一些修改过的 makefile ????
  • @vonbrand 我们使用了一些脚本来进行转换,但文件在 git 存储库中看起来不错,但一段时间后就坏了
    我没有更新的权力 我没有 root 权限需要特别许可才能引入软件
  • git 存储库中的文件不会腐烂,某些东西正在改变它们。当文件损坏时运行任何命令? git checkout makefile 是否提供正确的文件?也许构建这些东西会创建生成文件?也许ls -l makefile 的时间戳(上次修改时间)提供了线索。如果结果是“旧的”,则意味着该副本以某种方式从 git 中签出。

标签: git qt makefile cvs


【解决方案1】:

好吧,我能够重现该问题!这帮助我确定它只发生在新的 git checkout 上,因此这是一个 cvs vs git 问题。

当您从 cvs 检查某些内容时,文件的日期是随机的。 (我从来没有打算弄清楚文件的日期在 cvs 中的来源。)

在 git 中,所有文件都有今天的日期。

因此,当 qmake 查看 filename.pro 时,它发现它比 Makefile 更新,因此需要重新生成 Makefile。现在再次签出 Makefile 时,它​​的日期比 filename.pro 更新,并且 Makefile 再也没有重新生成。

所以我可以删除 filename.pro 以便 qmake 无法重新制作 Makefile 或者 更新 filename.pro 以包含我需要的额外库并制作 Makefile。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-04-28
    • 1970-01-01
    • 1970-01-01
    • 2020-03-01
    • 2018-11-04
    • 1970-01-01
    • 2014-01-14
    相关资源
    最近更新 更多