Альтернатива VSS для шоу одного человека (армия одного?) - PullRequest
12 голосов
/ 28 августа 2008

Я программирую уже более 10 лет для одного и того же работодателя, и единственным управлением исходным кодом, которое мы когда-либо использовали, является VSS. (Извините - это то, что они имели, когда я начал). Нас было всего несколько человек; два прямо сейчас, и мы обычно работаем в одиночку, так что VSS работает хорошо для нас. Итак, у меня есть два вопроса: 1) Должны ли мы переключиться на что-то еще, такое как Subversion, Git, TFS и т. Д. Что именно и почему (пожалуйста)? 2) Я вне всякой надежды и предан вечному проклятию, потому что VSS развратил меня (как говорит Джефф)?

Ух ты, спасибо за отличные отзывы!

Похоже, я должен прояснить несколько вещей. Мы являемся магазином MS (Gold Parntner) и в основном работаем с VB, ASP.NET, SQL Server, sharepoint и Biztalk. У меня есть степень CS, поэтому я выполнил сборку x86 C, C ++ для DEC Unix и Slackware Linux за «время без ума» ...

Моя проблема с VSS заключается в том, что теперь я работаю над VPN намного больше, и производительность VSS достаточна, и я боюсь, что наша база данных VSS с более чем 10-летней версией 5 будет загружена ... Есть служба ЛВС, которая должна ускорить процесс, но я никогда не использовал ее, и я не уверен, что она помогает с повреждением - кто-нибудь использовал службу ЛС VSS? (новое с VSS 2005)

Ответы [ 16 ]

28 голосов
/ 28 августа 2008

Я бы, наверное, пошел с Subversion, если бы я был тобой. На данный момент я фанат Git, но Subversion, безусловно, имеет некоторые преимущества:

  • простота
  • Обилие совместимых инструментов
  • активное и поддерживающее сообщество
  • портативный
  • Имеет действительно приятную интеграцию с оболочкой Windows
  • интегрируется с визуальной студией (думаю, но наверняка через стороннего производителя)

У Git есть много-много других преимуществ, но вышеупомянутые, как правило, те, о которых люди заботятся, задавая общие вопросы, подобные выше.

Редактировать : компания, в которой я сейчас работаю, использует сервер VisualSVN, который является бесплатным. Это делает настройку хранилища Subversion на сервере Windows просто глупо, а на клиенте мы используем TortoiseSVN (для интеграции с оболочкой) и AnkhSVN для поддержки Visual Studio. Это довольно хорошо, и даже пользователям VSS должно быть довольно легко подобрать.

Последние дни Править : Итак ... почти восемь лет спустя, я бы никому не рекомендовал Subversion по любой причине. Я действительно не отрекаюсь, per se , потому что я думаю, что мой совет был действителен в то время. Однако в 2016 году Subversion не сохранила почти ни одного из преимуществ, которые она имела перед Git. Инструментарий для Git превосходит (и гораздо более разнообразен) то, что когда-то было, и, в частности, есть GitHub и другие хорошие провайдеры Git-хостинга (BitBucket, Beanstalk, Visual Studio Online, просто не в моей голове). Visual Studio теперь имеет встроенную поддержку Git, и это на самом деле довольно хорошо. Существуют даже модули PowerShell, позволяющие пользователям Windows получить более естественный опыт работы с Windows. Git даже проще в настройке и использовании, чем Subversion и не требует серверного компонента. Git стал настолько повсеместным, насколько это возможно для любого отдельного инструмента, и вы действительно обманули бы себя, чтобы не использовать его (если только вы действительно не хотите использовать что-то не-Git). Не поймите меня неправильно - я не ненавижу Subversion, а скорее признаю, что это инструмент из другого времени, а не бритва для бритья.

10 голосов
/ 28 августа 2008

Похоже, SubVersion здесь победитель. Я бы сделал себе одолжение и использовал бы VisualSVN Server . Это бесплатно и избавит вас от головной боли при установке.

9 голосов
/ 28 августа 2008

Если вы привыкли к тому, как работает VSS, проверьте (не каламбур) Хранилище Sourcegear . Это отличный способ перехода от VSS, поскольку он поставляется с интеграцией IDE и поддерживает возврат / регистрацию, но когда вы будете готовы и почувствуете себя комфортно, вы также можете перейти к стилю программирования редактирования обновления, найденному в SVN.

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

6 голосов
/ 04 сентября 2008

Для чего стоит, Perforce является потенциальным вариантом, если вы действительно придерживаетесь 1 или 2 пользователей. Согласно текущим документам по исполнению, у вас есть 2 пользователя и 5 клиентов без необходимости приобретать лицензии.

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

Это быстро, и это было здорово для нас (более 300 разработчиков на базе кода старше 10 лет). Мы храним несколько Т информации, и она довольно отзывчива. С небольшим числом пользователей я сомневаюсь, что у вас возникнет много проблем с производительностью, если у вас будет хорошее оборудование для вашего сервера.

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

Итак, мой взгляд на Perforce:

  • Это быстро и довольно надежно
  • Множество кроссплатформенных клиентских инструментов (Windows, Unix, Mac и т. Д.)
  • бесплатно для 2 пользователей и 5 клиентов
  • Интегрируется в студию разработчика (и другие инструменты)
  • Имеет мощную ветвящуюся систему (которая может или не может быть вам подходит).
  • Имеет несколько скриптовых интерфейсов (python, perl, ruby, C ++)

Конечно, YMMV - я предлагаю эту альтернативу только как нечто, на что стоит обратить внимание.

6 голосов
/ 28 августа 2008

Что бы ты ни делал, не меняйся ради перемен.

Если это работает для вас, и у вас нет проблем с этим, я не вижу причин для переключения.

5 голосов
/ 04 сентября 2008

VSS ужасен. Возможно, я передаю данные Спольски (не уверен, что он так сказал), но использование VSS на самом деле хуже, чем вообще отсутствие контроля над источниками. Несмотря на название, оно не безопасно. Это создает иллюзию безопасности, не обеспечивая ее.

Без VSS вы, вероятно, будете регулярно делать резервные копии своего кода. С VSS вы будете думать: «Мехх, он уже находится под контролем источника. Зачем беспокоиться о резервном копировании?» Отлично, пока не испортит всю вашу кодовую базу , и вы все потеряете. (Между прочим, это произошло в компании, в которой я работал.)

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

5 голосов
/ 28 августа 2008

Я недавно начал использовать Mercurial для некоторых моих работ. Это распределенная система, подобная Git, но, кажется, она проще в использовании и, кажется, намного лучше поддерживается в Windows, последняя из которых была для меня крайне важной.

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

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

Я думаю, что у Mercurial есть много других преимуществ по сравнению с Subversion, но у него есть большой недостаток, который уже упоминался как плюс Subversion: есть много сторонних инструментов и интеграций для Subversion. Так как Mercurial еще не так много, выбор намного меньше. В Windows кажется, что вам нужно либо использовать командную строку (мой выбор), либо TortoiseHg Интеграция с Windows Explorer.

4 голосов
/ 28 августа 2008

Не беспокойтесь о том, что VSS портит вас, беспокойтесь о том, как VSS портит ваши данные. У него нет хорошего послужного списка в этом отделе.

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

3 голосов
/ 28 августа 2008

Мне нравится использовать Subversion для моих личных проектов. Я мог бы пойти вниз по списку функций и сделать вид, что он приносит много полезного, чего нет в других системах контроля версий, но есть множество хороших, и правильный выбор - это действительно вопрос стиля. Если вы регистрируетесь после каждого небольшого изменения (т. Е. Одна регистрация для каждого изменения функции), то многие люди могут работать с одним и тем же исходным файлом с очень низким риском конфликтов слияния практически во всех , но VSS (у меня нет Я использовал VSS годами, но, насколько я помню, только один человек может работать с файлом за раз.) Если с вами этого не случится, я чувствую, что лучший способ - использовать то, что вы знаете. VSS лучше, чем отсутствие контроля над источниками вообще, но сейчас я чувствую себя ограниченным.

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

Даже если вы не меняете системы контроля версий, вы должны выбрать такую, как SVN или git, и потратить несколько недель, читая об этом и создавая небольшой проект с ее использованием; это всегда помогает точить пилу.

2 голосов
/ 28 августа 2008

На работе мы используем subversion с TortoiseSVN - работает очень хорошо, но философски отличается от VSS (на самом деле это не проблема, если есть только вы, но стоит об этом знать). Мне очень нравится тот факт, что весь репозиторий имеет номер ревизии.

Если бы у меня был свободный выбор, я бы, наверное, выбрал хранилище, но в то время у меня был нулевой бюджет.

Я смотрю на вещи для личного пользования. Есть причины использовать Subversion и причины использовать что-то совершенно другое. Альтернативы, которые я рассматриваю, - Vault (как и прежде, бесплатный для одноразового использования) и Bazaar. GIT Я должен был уволить, поскольку я, бесстыдно, человек Windows, и сейчас GIT просто нет.

Распределенная природа GIT и возможность частных / временных проверок (при условии, что я понял, что я прочитал) привлекательна - отсюда мой взгляд на Bazaar.

Обновление: Я еще немного покопался и поиграл, и на самом деле я выбрал Mercurial для личного использования. Интегрированная установка с TortoiseHg делает вещи очень простыми и, кажется, хорошо оцененными. Я все еще пытаюсь выяснить, как принудительно заставить автоматическое зеркало коммитов на сервер, и, кажется, есть некоторые незначительные ограничения для функции игнорирования, но пока она прекрасно справляется со своей задачей ...

Murph

...