编辑我的问题与SVN本身无关(请参阅下面的答案)
我正在使用Tortoise SVN。我有一个开发人员正在处理的文件,包括我。
我在开始处理文件之前更新了,但是另一位开发人员对文件进行了更改并提交了。我更新了我的本地(如果我理解的话,使我的文件的本地工作副本与repo中的Head修订版匹配)。当我做差异时,TortoiseMerge向我展示了其他开发人员在Working Base副本中所做的更改,以及我在工作副本中所做的更改。
我想要做的是让我的更改和其他开发者的更改合并。我知道如果我们编辑同一行,我可能会遇到冲突,并且很高兴在那时手动合并。但我希望能够让svn自动合并这两组更改而不会被设置为破坏。
上次发生这种情况时,我刚刚承诺,希望它在进入途中合并,但我的更改破坏了其他开发者。建议?设置?对我来说缺乏理解(完全可能)?
答案 0 :(得分:0)
如果你们两个人都使用相同的分支,你可以合并其他开发人员的更改(比如修订版99)
svn merge -r 98:99 dir/filename
答案 1 :(得分:0)
提交时Subversion不会合并。它在您更新时合并。
如果其他开发人员对您所拥有的文件进行了更改,那么当您尝试提交时,Subversion将拒绝并告诉您先更新。然后,您将更新,并且subversion将尝试将其他开发人员的更改合并到您的工作副本中。如果有冲突,它会告诉你。否则,您的工作副本将只包含两组更改。然后,您将提交该文件,因此这两组更改将存储在repo中。
答案 2 :(得分:0)
抱歉这个虚假的问题。
我弄清楚它是什么。我正在使用Eclipse,我必须保存在顶部而不是在提交之前从磁盘刷新。所以我的本地工作副本正在正确更新,我只是在破坏它。