Невозможно добавить файл с именем VERSION в CVS на том же уровне, что и каталог с именем version.

Я сообщаю о серии коммитов из git в cvs с помощью cvsexportcommit. Я обнаружил, что невозможно добавить файл VERSION в следующем контексте

|
\_version/
| |
| \_version.txt (to be removed)
|
\_VERSION (to be added)

Вывод, который я получаю, следующий:

Applying to CVS commit f6ce403e6e1d57b61661527969ac97c52bcbe41f from parent 076d1fb72d8498670582561b7318939bf209c1f4
Checking if patch will apply
cvs status: Examining prometeo/VERSION
Applying
fatal: unable to write file prometeo/VERSION mode 100644
Patch applied successfully. Adding new files and directories to CVS
cvs [add aborted]: there is a version in prometeo/VERSION already
Failed to cvs add prometeo/VERSION -- you may need to do it manually at /usr/local/git/libexec/git-core/git-cvsexportcommit line 314.
cvs remove: scheduling `prometeo/version/version.txt' for removal
cvs remove: use 'cvs commit' to remove this file permanently
Commit to CVS
Patch title (first comment line): Moved tmtc-prometeo version number to prometeo/VERSION
NOTE: One or more hunks failed to apply cleanly.
You'll need to apply the patch in .cvsexportcommit.diff manually
using a patch program. After applying the patch and resolving the
problems you may commit using:
    cd "/Users/elia/Code/linux-tmtc/"
    cvs -d :ext:eschito@********:/cvshome/ground commit -F .msg 'prometeo/VERSION' 'prometeo/tool/bin/tmtc_info' 'prometeo/version/version.txt'

Если я попытаюсь вручную добавить файл "VERSION" в cvs, я получу:

> cvs add prometeo/VERSION
cvs [add aborted]: there is a version in prometeo/VERSION already

Любые идеи?


person Elia Schito    schedule 06.07.2009    source источник


Ответы (2)


На какой платформе работает ваш сервер CVS? Насколько я знаю, некоторые версии CVS (по крайней мере, для Windows NT) в некоторых местах имеют регистронезависимую обработку имен файлов, поэтому не будут принимать два файла, имена которых различаются только регистром.

В любом случае я бы очень настоятельно не советовал использовать имена файлов, отличающиеся только регистром. Это может быть кошмаром, если вы когда-нибудь захотите проверить файловую систему, которая не полностью нечувствительна к регистру (некоторые версии MS Windows, некоторые версии MacOS...), и это также сбивает с толку ("вам нужно отредактировать файл foo во мля, нет, не тот фу, тот, что с большой буквы "Ф"...).

So:

  1. Не делай этого
  2. Если вы чувствуете, что вам нужно, размещайте на Linux :-)
person sleske    schedule 06.07.2009

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

Кстати, теперь cvs жалуется на то, что не находит (старую) папку каждый раз, когда я проверяю или обновляю...

person Elia Schito    schedule 07.07.2009