Следует ли разрешить разработчику использовать VSS, если он этого предпочитает?

14

Я познакомил Mercurial с моим отделом. Я люблю это, но это мой первый опыт контроля версий. Я использую его с PHP NetBeans для веб-разработки.

Другой разработчик, работающий с внутренними приложениями компании, любит использовать Visual Source Safe и не хочет переключаться. Он работает в среде Visual Studio.

Все остальные разработчики купили в Mercurial, кроме этого. Хотя по большей части мы все работаем довольно независимо.

Я пытаюсь переместить этот отдел в правильном направлении, я настроил всех с учетной записью в Kiln, я надеялся также заставить всех использовать Fogbugz в будущем (поскольку в настоящее время база данных ошибок не поддерживается). У меня есть никогда не использовал VSS, но я слышал очень плохие вещи об этом.

Было бы лучше просто позволить ему продолжать использовать VSS, если это то, что он предпочитает, или было бы в интересах заинтересовать его в Mercurial?

JD Исаакс
источник
Вы могли бы найти stackoverflow.com/questions/961878/… интересно.
Один разработчик, использующий свою собственную VCS, кажется опасно близким к одному разработчику, чей код не был должным образом скопирован. Надеюсь, вы делаете (вне сайта!) Резервные копии вашего хранилища Mercurial. Это охватывает всех, кроме одного из вас. Вы делаете то же самое для хранилища VSS? Если что-то пойдет не так с этими резервными копиями, кто-нибудь заметит? И т.д.
Дероберт
8
Это как разработчик, желающий сидеть на унитазе для программирования, в то время как остальные сотрудники используют стулья.
Мухаммед Хасан Хан
1
Успокойся, люди ('-') VSS не так уж и плохо! Я начал с VSS. Хотя я больше не использую VSS, я не могу быть таким же плохим, как это делают люди (это тоже не здорово). Думаю, я поставил какой-то баланс ...
Темная ночь

Ответы:

50

было бы лучше просто позволить ему продолжать использовать VSS, если это то, что он предпочитает

Нет. Нет смысла запускать две разные системы управления источниками параллельно. Это противоречит самой идее о том, что все разработчики подключены к одному и тому же репозиторию и используют его в полной мере.

Один разработчик, использующий другую систему самостоятельно, эффективно изолирует себя от команды. Даже если проекты не пересекаются, это все равно плохо.

Еще одним аргументом здесь является удвоение усилий по обслуживанию обеих систем.

Я думаю, что вы должны использовать свои полномочия или передать проблему руководству, чтобы быстро перенести контент из VSS в Mercurial, а затем закрыть VSS.

PS Говоря о VSS, он печально известен тем, что проигрывает регистрации или иным образом повреждает код, когда вы меньше всего этого ожидаете. Это работает, но регулярно действует на нервы. Если у вас есть лучшая альтернатива, избегайте VSS.


источник
42
Никто не должен использовать VSS при любых обстоятельствах. Это имя ложь. Ничто в VSS не является безопасным.
CaffGeek
17
Согласитесь с этим и хотели бы добавить кое-что, чему мы научились: использование VSS не приносит пользы, которое быстро не компенсируется большим преимуществом отказа от использования VSS.
Бен Хоффштейн
+1 Спасибо, вот что я тоже подумал, просто хотел, чтобы другие внесли свой вклад, прежде чем я решился на это.
Джей Ди Айзекс
2
@Ben: будет делать, и когда люди спрашивают "Кто такой Хоффштейн?" Я посмотрю на них и потребую знать, под каким камнем они спрятались за последнее десятилетие :)
Binary Worrier,
2
Вы бы дали тот же ответ, если бы команда использовала SourceSafe или TFS или SVN, а мошеннический разработчик использовал Git или Mercurial?
Kyralessa
16

Ни в коем случае я бы не подумал разрешить мошенническому разработчику использовать систему контроля версий, отличную от остальной команды.

Контроль исходного кода - это не только возможность найти предыдущие версии того, что я сделал, но и другие (и текущая версия). Это не подлежит обсуждению. Что происходит, когда он уезжает или сталкивается с автобусом, и никто другой не имеет доступа к его коду (который может даже перезаписаться сетевыми администраторами, когда они стирают его машину, не зная, что у него там есть собственный контроль исходного кода?

Я делаю предположение, что его исходный код управления может быть только на его компьютере, поскольку никто другой не использует VSS.) Разработчик, который даже предположил бы, что это не профессионал, и это заставило бы меня с подозрением относиться ко всей его работе. Что он не хочет, чтобы остальные видели?

Также VSS, как известно, глючит. Его код там даже не в безопасности.

HLGEM
источник
10

Никто не должен использовать VSS для начала.

Скажите своему разработчику, чтобы получить плагин Mercurial для Visual Studio.

Дима
источник
У вас есть опыт работы с указанным плагином?
Я использовал его - он отлично работает.
MetalMikester
@ Thorbjørn Равн Андерсен: Нет. Мы используем Subversion на работе.
Дима
1
без объяснения этот ответ может стать бесполезным в случае, если кто-то постит противоположное мнение. Например, если кто-то публикует утверждение типа «Всем следует рекомендовать использовать VSS для начала. В любом случае, избегайте использования плагина Mercurial для Visual Studio». Как этот ответ поможет читателю выбрать два противоположных мнения? Подумайте о том, чтобы отредактировать его в лучшую форму
комнат
3

Все должны быть в одной системе управления источниками. Кроме того, ваша конечная цель - также привлечь всех к одной системе отслеживания ошибок. Вы правильно сделали, что уже нашли тесно интегрированное решение.

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

Мат Надрофский
источник
1
+1 но я не уверен, что это точка продажи; Я обнаружил гораздо больше компаний, которые либо понятия не имели, что такое контроль источников, думали, что VSS является основным конечным элементом управления источниками, либо плохо использовали контроль источников, чем те, которые хотят видеть интегрированную установку. Черт, большинство из тех, что я видел, даже не использовали приложения для отслеживания ошибок или имели какую-то внутреннюю «систему задач», которая была чрезвычайно простой.
Уэйн Молина
+1 к вашему комментарию. Я снова вижу мир сквозь розовые очки и вакансии в Stack Careers. Ты прав. Даже в нашем магазине такого не было, пока команда, с которой я работаю, не начала лаять на это около 4 лет назад.
Мат Надрофский
3

Собираюсь повторить то, что сказали другие, в том, что плохо позволять ему использовать VSS, а не Mercurial. Тем не менее, позвольте мне сыграть в «Адвоката дьявола» и сказать, что вы можете позволить ему сдвинуться с места, если и только если он все еще использует Mercurial, чтобы другие могли получить доступ к его работе, если это необходимо. В IMO нет ничего плохого в использовании предпочитаемых вами инструментов, если вы не мешаете другим получить доступ к работе, которая им может понадобиться. Конечно, VSS - это мусор, поэтому его не следует использовать ни на что :)

Например, я работаю в компании, которая использует SVN, но не имеет должным образом настроенного хранилища (без веток / тегов / ствола, все просто создается в одном хранилище), и это вызывает некоторые проблемы, которые никто не знает, как исправить. Я не увидел бы проблемы в моем случае, если бы я использовал, скажем, Git локально, но все еще использовал git-svn для передачи своих вещей в SVN, чтобы остальная часть команды имела это. Имеет ли это смысл?

Уэйн Молина
источник
Да, это имеет смысл, но вы также должны подумать о том, чтобы
рассказать
Договорились на 100%, и поверьте мне, я бы попробовал, но они вроде ... настроены по-своему. Я скажу так ... они пишут .NET 3.5, как будто это .NET 1.1; нет LINQ, нет новых функций, даже Generics. У нас есть парни, которые пытались заставить нас перейти от SVN к VSS, лучше рассказывая о VSS (к сожалению, один из них - менеджер по развитию, но, к счастью, мы еще не пошли по этому пути ... пока).
Уэйн Молина
Вы должны заставить его искать "VSS" здесь на programmers.stackexchange.com . Я думаю, что это напугало бы его ...
благоговение
0

Нехорошо иметь одного разработчика, использующего другой инструмент контроля версий. Одной из целей использования системы контроля версий является улучшение командной работы. И он нарушает это правило и может вызвать много проблем позже, хотя в последнее время вы работаете довольно независимо. Спросите его, почему он предпочитает VSS, и скажите ему о недостатках такой работы.

жалюзи
источник