首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Qt转换和git的最佳实践

Qt转换和git的最佳实践
EN

Stack Overflow用户
提问于 2015-01-30 01:06:38
回答 2查看 2.5K关注 0票数 22

今天我尝试合并一个Qt项目的两个git分支。两个分支都为它们添加了一些新的字符串和新的翻译。现在,Qt的lupdate工具在.ts文件中存储了需要翻译的源文件的行号。正如您可以想象的那样,两个分支的行号不相同,并且当两个转换文件都已更新时,这将导致每个单独的转换文件出现数百个这样的合并冲突:

<<<<<<< HEAD
 +        <location filename="../../src/network/mail/CSmtp.cpp" line="856"/>
=======
+         <location filename="../../src/network/mail/CSmtp.cpp" line="860"/>
>>>>>>> master

您可能会说,只需使用其中一个版本并再次运行lupdate,但这样您就会丢失其中一个分支的所有新翻译。

其他工具,如gettext,没有这个问题,因为它们不存储行号。

在Qt中有什么好的方法来避免这个问题?

EN

回答 2

Stack Overflow用户

发布于 2015-04-25 03:09:43

您也可以使用-locations none通过lupdate删除行号。这将消除与行号的任何冲突,但您将失去源代码中字符串的上下文。对于.ui文件,还有-no-ui-lines参数。

lupdate -locations none -no-ui-lines ...
票数 4
EN

Stack Overflow用户

发布于 2015-04-27 07:13:32

如果您使用ourstheirs策略进行合并(请参阅MERGE STRATEGIES一章中的git merge doc ),您将获得来自两个分支的所有翻译:

git merge branch1 -X theirs
git merge branch2 -X theirs

然后运行lupdate命令来修复rong number行。

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

https://stackoverflow.com/questions/28220472

复制
相关文章

相似问题

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