CVS comma-v файлы на чердаке и в каталоге - PullRequest
5 голосов
/ 06 августа 2010

У меня есть производственный CVS-репозиторий, которому несколько лет, и я заметил, что в нем есть файлы comma-v с одинаковыми именами как на чердаке, так и в реальном каталоге для данного места. Это похоже на ошибку.

Мой вопрос: как это может произойти в первую очередь и что будет делать CVS при наличии дублирующихся файлов.

Я предполагаю (надеюсь), что он будет игнорировать чердак версии все время, когда есть не чердак версия. Может ли кто-нибудь подтвердить, что CVS постоянно ведет себя хорошо в этой ситуации.

Кстати, эта ошибка была помечена cvs2svn, поскольку я нахожусь в процессе "более новой" системы контроля версий.

1 Ответ

6 голосов
/ 07 августа 2010

Эта проблема возникает из-за того, что кто-то копается в репозитории CVS (т.е. не через клиент cvs). К сожалению, такое хулиганство распространено, например, чтобы обойти ограничение, заключающееся в том, что CVS не позволяет переименовывать файлы. Возможно, кто-то пытался переименовать файл, переместив его файл FILENAME,v, не заметив, что имя файла использовалось ранее в истории проекта и, следовательно, уже имело файл Attic/FILENAME,v.

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

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

Кстати, эта ошибка была помечена cvs2svn, поскольку я нахожусь в процессе "более новой" системы контроля версий.

cvs2svn предлагает несколько предложений по решению этой проблемы .

...