CVS comma-v файлы на чердаке и в каталоге
У меня есть производственный CVS-репозиторий, которому несколько лет, и я заметил, что в нем есть файлы comma-v с одинаковыми именами как на чердаке, так и в реальном каталоге для данного местоположения. Это похоже на ошибку.
Мой вопрос заключается в том, как это может произойти в первую очередь и что будет делать CVS при наличии дублирующихся файлов.
Я думаю (надеюсь), что он будет игнорировать чердак версии все время, когда есть не чердак версия. Может ли кто-нибудь подтвердить, что CVS ведет себя хорошо все время в этой ситуации.
Кстати, эта ошибка была помечена cvs2svn, поскольку я нахожусь в процессе "более новой" системы контроля версий.
1 ответ
Эта проблема возникает из-за того, что кто-то копается в репозитории CVS (то есть не через клиент cvs). К сожалению, такое взлом является распространенным, например, чтобы обойти ограничение, что CVS не позволяет переименовывать файлы. Возможно, кто-то пытался переименовать файл, перемещая его FILENAME,v
файл, не замечая, что имя файла использовалось ранее в истории проекта и, следовательно, уже имело Attic/FILENAME,v
файл.
Я думаю (надеюсь), что он будет игнорировать чердак версии все время, когда есть не чердак версия. Может ли кто-нибудь подтвердить, что CVS ведет себя хорошо все время в этой ситуации.
Поскольку это форма повреждения хранилища, я сомневаюсь, задокументировано ли поведение CVS в этой ситуации. Скорее всего, ваше предположение верно, но для обеспечения того, чтобы он всегда вел себя таким образом, вероятно, потребуется анализ исходного кода CVS - для всех версий CVS, которые вы когда-либо использовали. Я предлагаю вам провести несколько экспериментов с вашим типичным клиентом CVS и вашими наиболее важными ветвями.
Кстати, эта ошибка была помечена cvs2svn, поскольку я нахожусь в процессе "более новой" системы контроля версий.
У cvs2svn есть несколько предложений для решения этой проблемы.