конфликты не отображаются после обновления - PullRequest
0 голосов
/ 08 сентября 2010

svn 1.6.9

У меня есть машина разработки (dev) и целевая машина тестирования (test)

Однако, если я сделаю некоторые изменения на моей машине разработки, это должно вызватьконфликт на тестовом компьютере при обновлении, так как я изменил тот же код строки в том же файле.

пример

(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 * в этой строке.

Мне кажется, если я изменю ту же строку кода, я хочу получать уведомления о любых конфликтахкогда я пытаюсь обновить.

Большое спасибо за любые предложения,

Ответы [ 3 ]

2 голосов
/ 08 сентября 2010

Если SVN может объединить изменения, это не вызовет конфликта. Конфликты обычно возникают, когда в SVN нет хорошего способа объединения изменений во время обновления, особенно нескольких изменений в одном и том же коде одновременно.

В вашем случае изменение было внесено в одном месте, а затем обновлено в другом. Это не конфликтный сценарий.

2 голосов
/ 08 сентября 2010

Проверить наличие изменений в хранилище можно с помощью

svn status --show-updates

Команда не изменяет вашу рабочую копию.

Вы можете посмотреть документацию svn о состояниях файлов. Конфликт возникает, только если svn не может объединить изменения.

1 голос
/ 08 сентября 2010

Это ожидается (без конфликтов, просто обновите), если main.c на тестовом компьютере совпадает с BASE. Когда вы выполняете 'svn update' в тесте, svn сначала проверяет наличие локальных изменений в main.c, сравнивая его с BASE - конфликты возникают только тогда, когда локальная копия и HEAD вносят изменения в одну и ту же часть файла ( при сравнении с БАЗОВОЙ).

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...