svn 1.6.9
我有我的开发(dev)机器和目标测试机器(测试)
但是,如果我在我的开发机器上做了一些更改,那么在我更新时会导致测试机器发生冲突,因为我在同一个文件中修改了相同的行代码。
例如
(DEV)
main.c
void get_device(int device_id);
(测试)
main.c
void get_device(int device_id);
两者都完全一样。现在,当我将dev的原型更改为:
char* get_device(int device_id);
然后提交更改。
当我在测试机器上更新时。它不应该导致冲突,因为我修改了相同的代码行吗?我更新时得到的全部内容如下:
U main.c
它是否应该告诉我有一行代码存在冲突?而不只是更新代码行?
但是,如果我对测试机器做了一些小改动,那么我尝试提交。然后它无法提交。然后,当我尝试更新它时,它将向我显示在该行中将void更改为char *的冲突。
在我看来,如果我更改相同的代码行,我希望在尝试更新时收到任何冲突的通知。
非常感谢任何建议,
答案 0 :(得分:2)
如果SVN能够合并更改,则不会导致冲突。当SVN在更新期间没有很好的方法来合并更改时,通常会出现冲突,尤其是同时对同一代码进行多次更改。
在您的情况下,在一个地方进行了更改,然后在另一个地方进行了更新。这不是冲突情况。
答案 1 :(得分:2)
答案 2 :(得分:1)
如果测试机器上的main.c与BASE相同,则可以预期(无冲突,只需更新)。当您在测试中执行'svn update'时,svn首先通过将它与BASE进行比较来检查main.c是否存在任何本地更改 - 仅当本地副本和HEAD对文件的同一部分进行更改时才会发生冲突(与BASE比较时。)
希望这有帮助。