Я пользовался системой контроля версий в течение нескольких лет (если вы считаете годы безопасности источников), но я ни в коем случае не эксперт. В настоящее время мы используем более старую версию Sourcegear Vault. Наша команда в настоящее время использует модель проверки и блокировки. Я бы предпочел перейти на модель обновления и слияния, но нужно убедить других разработчиков.
Причина, по которой разработчики (а не я) настроены на проверку и блокировку, была вызвана изменением файлов. Наша компания работает с консалтинговой фирмой, чтобы сделать большую часть нашей работы по развитию. Несколько лет назад, задолго до моего пребывания здесь, они установили контроль версий для обновления и слияния. Консультанты пошли регистрироваться, но обнаружили ошибку слияния. Затем они решили работать в автономном режиме в течение месяцев . Когда, наконец, пришло время протестировать проект, появилось множество ошибок, и было обнаружено, что кодовые базы сильно отличаются. Недели работы закончились тем, что пришлось переделывать. Поэтому они пошли проверить и заблокировать как решение.
Мне не нравится проверять и блокировать, потому что двум и более людям очень трудно работать в одном проекте одновременно. Всякий раз, когда вы добавляете новый файл любого типа или изменяете имя файла, система контроля версий проверяет файл .csproj. Это не позволяет другим разработчикам добавлять / переименовывать файлы.
Я рассматривал создание только .csproj
файла как слияния, но сайт Sourcegear говорит, что это плохая идея, потому что csproj генерируется IDE автоматически и что вы не можете гарантировать, что два разных файла, сгенерированных VS, будут создавать один и тот же код .
Мой друг (другой разработчик) говорит мне, что решение состоит в том, чтобы немедленно проверить ваш проект. Для меня проблема в том, что у меня может быть локальная копия, которая не будет собираться, и для сборки может потребоваться время. Может пройти несколько часов, прежде чем я начну работать над сборкой, а это значит, что за это время никто не сможет создавать и переименовывать файлы.
Я считаю, что правильное решение - перейти на модель с возможностью слияния. Мой ответ на проблему «файлов ренегатов» заключается в том, что это была проблема плохой дисциплины программиста, и что вы не должны использовать более слабый выбор программиста как исправление для плохой дисциплины; вместо этого вы должны принять меры, чтобы устранить недостаток дисциплины программиста.
Так, кто прав? Является ли регистрация - проверить законный ответ на вопрос файла ренегатов? Или проблема .csproj
слишком сложна для нескольких разработчиков? Или Sourcegear не прав и что все в порядке, чтобы установить csproj
файл для обновления и слияния?