Номера редакций CVS
Когда я делаю cvs-статус моего проекта, я получаю разные номера ревизий для разных файлов. Что здесь происходит? Разве не все файлы должны иметь одинаковый номер ревизии?
4 ответа
Номер редакции CVS отражает количество изменений этого файла. Если вы хотите что-то согласованное в проекте, вам нужно использовать cvs tag
после совершения, чтобы дать всем последовательный ярлык.
Нет. У cvs нет ни одного номера ревизии, как у более современных систем контроля версий. Каждый файл имеет свою отдельную версию. Если есть какой-либо способ, вы можете перейти на другую систему контроля версий, такую как Subversion, Mercurial, Git... сделать это.
CVS не имеет глобальных номеров ревизий, они для каждого файла. (На самом деле, CVS даже не имеет атомарных коммитов)
Первоначально CVS был набором сценариев для файлово-ориентированного RCS, и он никогда не уходил от своей истории. Репозиторий CVS - это коллекция файлов RCS, расположенных в структуре каталогов, которую вы хотите получить после извлечения, а также некоторые каталоги блокировки. Помните об этом, и вы поймете (и, возможно, сможете предвидеть) множество особенностей CVS. (Позже в VCS была идея встроенных каталогов, а также таких вещей, как непрерывность файлов при переименованиях.)
Идея CVS о глобальном состоянии - это тег, который нужно применять вручную. Это делается путем пометки каждого файла RCS. Также возможно получить копию хранилища в определенный момент времени, но это не обязательно согласовано, так как большие коммиты не обязательно являются атомарными.
Итак, нет, редакция файла CVS - это редакция RCS в хранилище, и она не имеет ничего общего с любым другим номером редакции. Не парься номерами ревизий.