Не удается добавить файл с именем "VERSION" в CVS на том же уровне, что и каталог с именем "version"
Я сообщаю о серии коммитов от git до cvs с помощью cvsexportcommit. Я обнаружил, что невозможно добавить файл VERSION в следующем контексте
| \_версия/ | | | \_version.txt (подлежит удалению) | \_VERSION (будет добавлено)
Вывод, который я получаю, следующий:
Применение к фиксации CVS f6ce403e6e1d57b61661527969ac97c52bcbe41f от родителя 076d1fb72d8498670582561b7318939bf209c1f4 Проверка того, будет ли исправление применять статус cvs: проверка режима prometeo/VERSION Применение фатального режима / ошибка VERSION 1004: не удается записать файл P44 Добавление новых файлов и каталогов в CVSCVS [добавить прервано]: в prometeo/VERSION уже есть версия. Не удалось cvs добавить prometeo/VERSION - вам может потребоваться сделать это вручную в /usr/local/git/libexec/git- строка core/git-cvsexportcommit 314. cvs remove: планирование `prometeo/version/version.txt'для удаления cvs remove: используйте'cvs commit', чтобы удалить этот файл навсегда Применить заголовок патча CVS (первая строка комментария): Moved tmtc- Номер версии prometeo для prometeo/VERSION ПРИМЕЧАНИЕ. Один или несколько блоков не были применены без ошибок. Вам нужно будет применить патч в.cvsexportcommit.diff вручную, используя программу патча. После применения патча и решения проблем вы можете выполнить коммит с помощью: 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
Есть идеи?
2 ответа
На какой платформе работает ваш сервер CVS? AFAIK, некоторые версии CVS (по крайней мере, для Windows NT) в некоторых местах обрабатывают имена файлов без учета регистра, поэтому не будут принимать два файла, имена которых отличаются только регистром.
В любом случае, я бы настоятельно рекомендовал не использовать имена файлов, которые отличаются только регистром. Это может быть кошмаром, если вы когда-нибудь захотите проверить файловую систему, которая не учитывает регистр (некоторые версии MS Windows, некоторые версии MacOS...), и это также сбивает с толку ("вам нужно отредактировать файл foo"). во всяком случае, не то, что foo, тот с большой буквы F" ...).
Так:
- Не делай этого
- Если вы чувствуете, что должны, хост на Linux:-)
Не удалось найти причину, но решение состоит в том, чтобы сделать две разные фиксации: одну для удаления папки и одну для добавленного файла.
Кстати, теперь cvs жалуется на то, что не находит (старую) папку каждый раз, когда я проверяю или обновляю...