Понимание истории конфликтов слияния в хранилище Subversion - PullRequest
2 голосов
/ 06 декабря 2011

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

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

Тогда у меня возникает вопрос: содержит ли история хранилища Subversion какую-либо информацию о конфликтах слияний, которые произошли на протяжении всего процесса разработки? Как насчет того, когда эти конфликты будут разрешены? У меня складывается впечатление, что этот тип информации нигде не хранится, но мне любопытно, есть ли у других мысли или идеи по этому поводу.

Ответы [ 2 ]

2 голосов
/ 06 декабря 2011

Нет, Subversion не записывает, что произошел конфликт.Это происходит при выполнении обновления и разрешается лицом, которое выполнило обновление.Единственный способ, которым svn знает, что ревизия была объединена, это свойство merge-info в корневой папке.Он будет отображаться как редактирование, потому что, когда он разрешен, это не что иное, как редактирование.Это может быть отменено, если версия из обновления является заменой локального изменения.

1 голос
/ 06 декабря 2011

Нет, процесс слияния является действием клиента и приводит к «объединенному» файлу, который затем загружается в хранилище. Единственная история, сохраненная сервером, будет заключительным действием, загрузкой.

...