程序的语言端口是否应该在新的SVN回购中?

时间:2010-10-05 15:40:17

标签: svn

我们有一个程序几乎完成,但现在需要用另一种语言。因为它是同一个程序,它应该是在一个新的仓库中的同一个库中的单独文件夹中,因为代码没有一起使用,或者没有对话,我可以做我想做的任何事情吗?

编辑:我的意思是编程语言。该程序从Java到C#。

3 个答案:

答案 0 :(得分:1)

一般来说,您应该查看i18n并提取字符串,以便“程序”不会被翻译,而只是字符串。那么你不需要为不同的语言提供单独的程序版本,而只需在运行时选择正确的语言。

答案 1 :(得分:1)

我从来没有完全理解对多个存储库的渴望 - 它们的存在提出了一个问题'我为X寻找哪个回购?'当然,将所有东西都放在一个回购中意味着问题变成了“我为X寻找回购的哪一部分?”但无论如何你必须要问。

根据您的要求,我还要质疑两个版本应该分开的方式。当然,您为Java版本编写的测试可用于测试C#版本而无需重写它们吗?

答案 2 :(得分:0)

您当然不希望为它创建新的存储库。使用另一种语言创建版本不仅仅是翻译所有字符串(例如布局问题,Unicode错误,安装程序更改等),而且您很可能会在此过程中发现代码库中的一些错误。因此,您需要将这些错误修复重新放回原始项目中。如果您创建一个单独的存储库,这将非常困难。

我建议您在主存储库中创建一个翻译分支,以便您进行翻译工作,并使程序稳定下来。还要测试原始语言版本,以确保您没有在其中引入错误。一旦它们都稳定,然后将它们合并回主干。

编辑:OP澄清说这是指一种新的编程语言。我仍然建议使用相同的存储库,但可能在新的分支上,或更改存储库布局,以便您有多个中继(即/Project1/[trunk|branches|tags]/Project2[trunk|branches|tags]