Есть ли способ заставить CVS не создавать конфликтов слияния при замене ключевых слов, таких как $ Id: $ - PullRequest
3 голосов
/ 06 июля 2010

В настоящее время мы используем CVS и разрабатываем новые функции в ветке до слияния с транком. Иногда мы получаем конфликты слияния, вызванные подстановкой ключевых слов CVS. Итак, при просмотре файла конфликта мы видим что-то вроде

<<<<<<< collect_logs.conf
# CVS $Id: collect_logs.conf,v 1.6 2010/02/03 16:43:11 peterw Exp $
=======
# CVS $Id: collect_logs.conf,v 1.13 2010-05-07 17:14:43 peterw Exp $
>>>>>>> 1.13

И это будет конфликт only в файле.

Я провел небольшое расследование, и, как вы, вероятно, заметили, есть небольшая разница в форматировании даты в записи. Это связано с тем, что разные версии cvs используются на разных платформах (одна на Solaris, другая на Linux). Я считаю, что именно это и вызывает конфликт.

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

Мой вопрос: можете ли вы дать команду cvs, чтобы лучше справляться с объединением подстановок ключевых слов. Или просто лучше избежать новых проверок, как у меня?

Спасибо

Peter

1 Ответ

2 голосов
/ 13 октября 2011

Вы будете использовать update -kk ... согласно документации CVS на Объединение и ключевые слова (раздел 5.10).

k, прикрепленный к -k (режим подстановки ключевых слов), заставляет CVS просто выводить ключевое слово, а не его значение. Так что в теории ваши несколько форматов даты не должны быть проблемой. Хотя я не проверял эту теорию.

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